Extend the Studio
Extend the Studio
Custom nodes
The INode contract, the runtime context, the project layout and the build.
Package manifest
One package ships nodes, credential types and templates. Slug namespacing and versioning.
Dynamic behaviour
loadOptions, resolveConfigSchema and resolveOutputs — fields and ports resolved while you edit.
Registration
Operator-mediated, not self-service — what you hand over, and who can see it afterwards.
When no built-in node does the job, write one. The contract is public, the SDK is on the public npm registry, and a package can ship credential types and workflow templates alongside its nodes.
This group is the Studio-side view: what a package is, what it can contain, and how it reaches a tenant. The Integration Node SDK is the authoring reference with the worked examples — a transform node, a branching control node, an action node with an error port. Read this group to decide what to build; read the SDK page while you build it.
The pages
- Custom nodes — the four types you implement against, what the runtime hands your node, the project layout, and the two-step build.
- Package manifest — one package = nodes + credential types + templates; slug namespacing as
{org}:{name}; versioning and what a version pin means for a running workflow. - Dynamic behaviour — the three optional author-time hooks that let a node offer live dropdowns and resolve its own fields and ports from a connected system's schema.
- Registration — operator-mediated, not self-service: what a partner hands over, and the every-tenant-sees-every-package behaviour to plan around.
Before you write a node
Two checks that save real work:
- Is it a node, or a workflow? A step that composes existing nodes is a template, not a node. Templates are plain data and much cheaper to ship.
- Is it a node, or an app? If the behaviour is part of the product rather than the wiring between two systems, it belongs in an App.
And one expectation to set with whoever is waiting for it: registration is a human step, not a deploy. Plan the turnaround into your release process — see Registration.