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, build your own.
Check the marketplace first. It ships with a library of ready-made nodes. They cover 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. Never built one? Create your first node walks a real one from an empty folder to a run. Then Anatomy of a node is the place to start.

The shape of a node

nodes/<package> in your studio project workspace
package.yaml what the package is and may call
credentials the credentials its nodes ask for
shared fragments more than one node reuses
nodes
YourNode
node.yaml what it is
interface.yaml what it connects to
config.yaml the settings form
api
run.yaml the calls it makes
events.yaml everything that leaves it
service.yaml methods other nodes call
test.yaml sample data to run it with
One folder is one node. The package around it holds anything its nodes share. A node that calls a service needs four of these: node.yaml, api/run.yaml, api/events.yaml and test.yaml. Lint refuses a node with calls but no events table, and a node with no sample data, because neither can be run. Everything except api/ can be written inside node.yaml instead of its own file, so a small node can be two files.

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. A voice node adds audio.yaml, and the reference lists every file. Anatomy of a node walks through each of them with a real example.

Which files your node needs

Every node’s package carries package.yaml with the hosts its nodes may call.

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. Run it against the real service, on the Nodes screen in studio
  6. Check it before you deploy:
unoverse deploy studio runs the same check first, then ships every node in the workspace alongside your components and skills.

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 steps

Anatomy of a node

The folder, the files in it, and how a call is described.

Reference

Every field a node declares, generated from the schemas.