Building automation nodes
An automation node is a single action that runs inside a Collabase flow. By defining custom nodes and connectors, you can deeply integrate internal systems or external third-party APIs into the visual workflow engine.Setup
First, install the required SDK packages:Connector definition
Every node must belong to a Connector. A Connector groups related nodes together (for example, a “HubSpot” connector might contain “Create Company” and “Update Contact” nodes). UsedefineConnector to create the root definition:
Connector fields
| Field | Description | Possible values |
|---|---|---|
| id | The unique internal identifier for the connector. | Any URL-safe string (my-erp, stripe-api). |
| name | The public label displayed in the UI. | Stripe, Internal ERP. |
| icon | The visual representation in the node catalog. | FontAwesome class name (e.g., plug, credit-card) or Unicode emoji (🎫). |
| category | Groups the connector in the catalog sidebar. | communication, finance, utility, storage, project-management. |
Defining actions
An action represents an individual node. UsedefineAction to construct it. You must define both the visual UI schema (fieldSchema) and the strict runtime validation schema (inputSchema).
Field mapping
ThefieldSchema generates the user interface when someone drags your node into the canvas.
| Field type | Renders as |
|---|---|
text | A standard string input field |
number | A numeric stepper input |
boolean | A toggle switch |
select | A dropdown menu (requires an options array) |
Action example
Here is a complete example of creating a custom action that integrates an external third-party REST API.Handling incoming and output data
Variable interpolation
When a user defines a node in the UI, they can use magic variables (e.g.,{{trigger.email}}). As long as your fieldSchema marks a field with supportsVariables: true, the Collabase engine automatically resolves these variables into concrete strings or numbers before passing them into the execute(params) function.
Returning structured output
The object you return from theexecute block is instantly serialized and injected into the automation context. If you return { invoiceId: "inv_123" }, any node placed underneath yours in the visual builder can instantly access this value using {{steps.create-invoice.invoiceId}}.
Registering your connector
Once you have built your custom connector using the SDK, you must register it with your Collabase instance so it appears in the automation visual builder. Because custom connectors are SDK apps, you deploy them via the standard plugin system.Update manifest
In your
collabase.app.json manifest, declare your connector inside the modules.automation array, pointing to your hosted endpoint.SDK reference
Full SDK API
Built-in connectors
Browse 40+ connectors

