Node types
A workflow graph is built from a small set of node types — enough to cover real automation logic without turning into a full programming language.
HTTP / connector call
Calls an external API — either a raw HTTP request, or a pre-built connector (Slack, GitHub, Google Sheets, Discord, Telegram, Airtable, Trello, Jira, Zendesk, Shopify, Mailchimp, PagerDuty, Linear, Calendly, WhatsApp Business, Salesforce, Zoom, Monday.com, and more) that handles authentication and the request shape for you.
Condition
Branches the graph based on a true/false check — for example, "does the message contain 'urgent'?" Conditions are evaluated by a safe, hand-written expression evaluator (not arbitrary code execution), and the Builder ensures every condition has both a true and false path wired before you can save.
Transform
Reshapes data between steps — pick specific fields, merge two objects, or fill in a template string with values from earlier steps.
Wait
Pauses the run for a fixed duration or until a specific time, then continues. Skipped instantly during a dry-run.
Loop
Iterates over a list (for example, every row returned by an API call), running the same branch once per item, with a maximum-iterations ceiling to prevent runaway loops.
Merge
Joins two or more branches that ran in parallel back into one. Any node with multiple incoming edges runs them concurrently, not one-at-a-time — you choose whether the merge waits for all branches or any branch to continue.
Sub-agent
Hands a step to a scoped AI agent — for tasks that need judgment (drafting a reply, summarizing content) rather than a fixed rule. A sub-agent only has access to the tools you explicitly grant it for that node; it can't reach outside its scope or call other agents on its own.
Human approval / input / notification
Pauses a run and creates a task in the Agent Workspace → Tasks inbox:
- Approval — someone must approve or reject before the run continues.
- Input — someone must supply a value the workflow needs.
- Notification — informational only, acknowledged and the run continues.
continueOnFail
Any node can be marked to continue on failure instead of stopping the whole run — useful for steps that are "nice to have" rather than critical (for example, an optional Slack notification that shouldn't block the rest of the workflow if Slack is briefly down).