This page lists every node available in the workflow editor's node picker, with the node ID used in flow definitions and the API. The catalog is under active development; node settings can change between releases.
Triggers
Node
ID
Notes
Manual start
rollout.start
Starts the workflow when run manually
Incoming webhook
rollout.webhook
Starts on an HTTP request; optional HMAC signature verification
Schedule
rollout.schedule
Starts on a recurring schedule (cron)
New email
google.gmail.new_email
Starts on new Gmail messages that pass its filters. Requires a Google Connection
Record created
rollout.record.created
Fires when a task, project, or custom record is created
Record updated
rollout.record.updated
Fires when a task, project, or custom record is updated
Run from a record
rollout.record.workflow
Run on demand from a record page (task, project, team, objective, or custom record)
Workflow finished
rollout.workflow.completed
Starts when a run of another workflow finishes, filtered by status and outcome, with a loop limit
Chat message received
rollout.message
Entry point for a chat message; exposes the inbound message to the flow
Incoming call
rollout.call.entry
Entry point for a live call; streams the participant's audio into the flow
Flow control
Node
ID
Notes
If
rollout.if
Send the input down the true or the false path by a condition
Switch
rollout.switch
Send the input down the first matching path, or split a list across paths
Merge
rollout.merge
Combine wired values: as one list, the first to arrive, exactly one, or one object
Repeat workflow
rollout.loop
Run a workflow again and again, feeding each result into the next run
Wait
rollout.wait
Pause the run for a while, or until a time
Fail run
rollout.fail
Stop the run with an error message you write
End run
rollout.stop
End the run here as a success; nothing after it runs
Reshape, filter, group, expand, total and join lists without code
Filter events
rollout.stream.filter
Pass on only the stream events of one kind
Preview
rollout.preview
Show files, images, predictions, text or a live camera picture on its card and in the run
Note
rollout.note
Canvas annotation
Run workflow and Repeat workflow store the selected target's immutable
workflow_id. Workflow names and slugs are shown in the picker for orientation,
but are not accepted as target identity in node configuration. The target, its
release and its trigger are the operator's: no run data, {{ }} or agent can
change them.
Run workflow outputs. A workflow returns what its return steps produce:
the steps with Use as Return on, or else its last steps. When those
steps declare outputs, selecting the workflow in a Run workflow step copies
them onto the step as typed ports, so the next step can be wired to total
instead of digging it out of result. With one return step each output is
its own port; with several, each port is named after its step, such as
east_total. Copied outputs appear under Outputs with a link mark and
cannot be edited there; outputs you add yourself stay when the copy is
updated. A workflow whose return steps declare nothing keeps the plain
result and results ports.
Run workflow inputs. The inputs the workflow's Manual start declares are
copied too, as input ports such as customer_id, each with its type,
whether it is required and its default. Wire a value into one to fill that
input; it wins over the same key in the input object. An input you leave
unwired is taken from input or the input's default. When a required one
is still missing, the step fails with the workflow's own message, such as
'customer_id' is required, and no run starts.
The copy is made when you pick the workflow, its release or its trigger. If
the workflow later changes what it takes or returns, the step's Contract
setting says so and offers Sync from workflow; nothing changes until you
sync. You can only sync from a workflow you can open.
A Tool on Run workflow carries the same copy, and declares each copied
input as its own typed argument: customer_id becomes a required text
argument. The Tool keeps the copy it was reviewed with when the workflow
changes. Tool setup shows the change, and syncing sends the Tool back to
review.
An AI agent step can call the Tool while its workflow runs: the workflow
starts with the agent's arguments, customer_id among them, and the agent
gets back what its return step produced. It runs with the same access a Run
workflow step in that workflow would have, and only for a Tool attached to
that agent step. A required input the Tool's copy does not have yet fails
with the workflow's own message. Calling the Tool any other way, such as a
direct MCP invoke, is refused with a message saying so. To start a
workflow from MCP, use workflow_run and read its inputs from
workflow_inspect.
Records and data
Node
ID
Notes
Save to workspace
rollout.upsert
Create or sparsely patch a configured Task, Project, Objective, Milestone, Key Result, custom record, Document, or admitted Activity; change passages of a Document's text with Document Edits ({find, replace})
Archive record
rollout.record.delete
Archive records of one Object, chosen by the operator
Query, project, group-latest, aggregate and safely page workspace records
Search workspace
rollout.search
Semantic and keyword search over workspace content; returns ranked hits with citations
Query saved view
rollout.saved_view.query
Pull records from a Saved View using its saved query configuration
Link resources
rollout.resource.link
Link or unlink two records, external items or URLs
Identify resource
rollout.resource.resolve
Resolve a record, external item, or URL into a reusable resource reference
Read document
rollout.document.read
Content as Markdown (or document JSON), digest and current or immutable-version evidence; a body over the evidence budget returns a reference and summary
Add task to cycle
rollout.cycle.assign
Plan a Task into its Team's current, next or a specific Cycle
Query team cycles
rollout.cycle.query
List a Team's current, next or completed Cycles, or fetch one with its report
Change planning team
rollout.task.change_planning_team
Move a Task to another Team's backlog or Cycle
Update app source
rollout.app.source_update
Save a new source for one App without publishing it
Record metric
rollout.metric.emit
Record a metric value with dimensions for charting
Read sync cursor
rollout.sync.read
Read where the last sync got to, so this run picks up from there
Save sync cursor
rollout.sync.commit
Save where this sync got to, for the next run
Agent updates: configure Save to workspace (rollout.upsert) with Activity → Agent update. Its typed fields save the admitted turn, optional Task handoff, and immutable activity together. It requires an admitted Task turn and cannot be exposed as a tool.