Skip to main content
A node is a service you drag onto the Canvas. It connects an Agent to another system. There is a marketplace of nodes. When none of them suits your situation, you build your own, and this section is about building one.
Check the marketplace first. It ships with a library of ready-made nodes covering AI, Voice, Go To Market, Search, Web Scraping, Media & Design, Documents, Knowledge & Vectors, Storage & Data, Communication, Flow and Output. Adding one takes a click, and most of what an Agent needs is already there.
A node you build is a folder of YAML files. You describe the API call, and the platform makes it. Anatomy of a Node is the place to start.

Documentation

Getting started

Building blocks

Ship it


The shape of a node

One folder is one node. The package around it holds anything its nodes share. Only node.yaml is required. A small node can hold everything in that one file.

Inside api/

One file per job, and a node uses the ones it needs. A node the workflow triggers has run.yaml and events.yaml. A node that exists to be called by other nodes has service.yaml instead, and no outputs at all. Some have both. Anatomy of a Node walks through each of them with a real example.

How you build one

  1. Create the folder under a package’s nodes/
  2. Describe the node: node.yaml, interface.yaml, config.yaml
  3. Describe the calls in api/run.yaml, and what comes out in api/events.yaml
  4. Add the host to the package’s allowedHosts
  5. Check it: unoverse node lint
  6. Run it against the real service: unoverse node test <NodeType>
Publish it, and once it is accepted the node is in the node library alongside every other node.

Nodes to learn from

Every published node is public. Find the one closest to what you are building and mirror it. marketplace/definitions/nodes Whole packages worth reading: airtable, apify, aws-dynamodb, aws-s3, gtm, hubspot, hyperbrowser, openai, salesforce, search, slack and x-search.
Next: Anatomy of a Node