Utility Nodes
Send notifications, invoke tools, and chain workflows together.
Send Notification
Delivers an in-app notification to a user - delivered live if they're online, persisted otherwise.
| Field | Type | Required | Description |
|---|---|---|---|
userId | String | Yes | Recipient's user ID or email address. Supports {{ ... }}. |
message | Expression | Yes | The main notification line. Supports {{ ... }}. |
secondaryMessage | Expression | No | Supporting detail shown under the message. |
sendEmail | Boolean | No | Also send an email copy. Defaults to false. |
Example: ping the requester when their ticket closes.
Ticket {{ nodes.query_ticket.output.items[0].title }} has been resolved.Tool Call
Executes one of your active tools directly inside the workflow - built-in platform tools as well as anything exposed by your connectors.
| Field | Type | Required | Description |
|---|---|---|---|
toolIdentifier | Select | Yes | Which tool to invoke. |
arguments | Object | Yes | JSON object of the arguments required by the selected tool. |
Output: result (Object) - whatever the tool returned.
Tools vs. Agent Call
Use Tool Call when you know exactly which capability you need and want deterministic execution. Use an Agent Call when a model should reason about which action to take.
Run Workflow
Starts another of your published workflows - the building block for reusable sub-automations instead of one giant monolith.
| Field | Type | Required | Description |
|---|---|---|---|
workflowDefinitionId | Select | Yes | Which workflow to start (published versions only). |
triggerPayload | Object | No | Data handed to the child run's trigger payload. |
Example pattern
Break a large process into focused pieces - fetch data → notify team → sync CRM - each its own workflow, orchestrated by a parent that calls them via Run Workflow nodes and joins results with Await Completion.
Child workflows must be published
Only published workflow versions can be started. If the selector shows no candidates, publish the target workflow first.