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
Run workflow rollout.subflow Run another workflow and use what it returns
Ask a person rollout.input Pause the run until a person answers a question
Transform list rollout.map 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 workspace rollout.query 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.

Node ID Notes
AI agent rollout.ai Governed tools with the Rollout loop or installed Claude Code, Codex and Copilot CLI harnesses
Search the web perplexity.search Web search with synthesized answers and citations; available when the server has a Perplexity API key configured
Run a custom model rollout.predict Run one of the workspace's own ONNX models on table rows or images

Live vision

These nodes run inside a live stream, such as a device camera's video, for as long as the stream runs.

Node ID Notes
Watch a stream with a custom model rollout.predict.watch Run a workspace image model on the newest frame of a live stream, at most a set number of frames per second; skipped frames are counted
When detections change rollout.stream.changes Emit an event when a label appears, disappears or changes count, once the change holds for a set number of frames
Start a workflow for each event rollout.stream.dispatch Start one run of a workflow per event, from its Manual Start trigger, at a capped rate per minute

Web and HTTP

Node ID Notes
HTTP request http.request Public or service-bound private HTTP with ordered params, tenant secrets, and signing
Run browser script browser.automation Run Playwright scripts against Chrome on a connected device

Code and runtime

Node ID Notes
Run JavaScript code.run JavaScript (Deno) sandbox with memory, CPU, and network limits
Run shell script shell.run Run a shell command in the workflow runtime or on a remote SSH host
Run command rollout.client.shell Run a command for up to 90 minutes on a connected device

Conversations and voice

Node ID Notes
Reply in chat rollout.reply Post a durable reply back to the conversation that triggered the run
Post to chat rollout.chat.post Post a workflow message to a chat the run may write to
Create chat rollout.chat.create Start a new chat, optionally with an agent workflow
Show agent activity rollout.presence.signal Broadcast live tool-activity chips to the conversation
Save conversation turns rollout.transcript.append Write each completed AI turn into a conversation transcript
Speak into call rollout.call.speak Inject a synthesized audio stream into a live call
Speech to text rollout.voice.stt Transcribe a live audio stream into streaming text
Text to speech rollout.voice.tts Synthesize speech from a text stream into a live audio stream

Messaging and mail

Node ID Notes
Send email via SMTP smtp.send Send an email via the platform mailer
Post to channel rollout.messaging.send_message Post a message to a messaging channel

Files and caching

Node ID Notes
Convert files rollout.convert Convert and merge files (HTML, text, images, PDFs) into a PDF bundle, or extract PDF text
Save cache rollout.cache.save Save workspace paths into a cache for later runs
Restore cache rollout.cache.restore Restore previously cached files into the workspace

Delivery

Git nodes operate on the run's workspace; Docker and Kubernetes nodes run against your configured infrastructure.

Node ID Notes
Clone repository git.checkout Clone a repository into the run workspace
Create branch git.branch Create or switch to a branch
Commit changes git.commit Stage and commit changes
Push branch git.push Push a branch to its remote
Create tag git.tag Create a tag, and push it if asked
Build image docker.build Build a container image and push it to a registry
Apply manifests kubernetes.apply Create the Pods, Jobs and volume claims in workspace JSON files
Run job kubernetes.run_job Run a container as a Kubernetes Job and wait for it to finish
Update deployment image kubernetes.set_image Point a Deployment's container at a new image
Wait for rollout kubernetes.rollout_status Wait until a Deployment has rolled out every replica

GitHub

Requires a GitHub Connection.

Node ID Notes
Open pull request github.open_pr Open a pull request
Get pull request github.pr_get Fetch a pull request
List pull requests github.pr_list List pull requests
List commits github.commit_list List a repository's recent commits
List repositories github.repo_list List the repositories the connection can reach
List workflow runs github.workflow_run_list List GitHub Actions runs, optionally for one branch or commit

Google Cloud

Requires a Google Cloud service-account Connection whose allowed scopes include a Logging or Monitoring read scope.

Node ID Notes
Query logs gcp.logging.query Read log entries with a Logging query language filter over a bounded time window
Query metrics gcp.monitoring.query Run a PromQL instant or range query, including GKE system metrics

Google

Requires a Google Connection.

Node ID Notes
Send email google.gmail.send Send an email from the connected account
Reply to email google.gmail.reply Reply to a message in its thread
Get email google.gmail.get Fetch a message with bodies, headers, and attachment info
Search emails google.gmail.search Search messages and return summaries
Change labels google.gmail.update Mark as read and add or remove labels
List labels google.gmail.labels List the labels on the connected account
Archive email google.gmail.archive Archive or unarchive a message
Move to trash google.gmail.trash Move a message to Trash or restore it
Upload file google.drive.upload Upload a file to Google Drive
Download file google.drive.download Download a file (exports Google-native files)
Search files google.drive.search Search files and folders
Create folder google.drive.create_folder Create a folder
Move file google.drive.move Move a file or folder into another folder
Append rows google.sheets.append Add rows under the sheet's header columns
Read rows google.sheets.read Read rows as header-keyed objects
Update rows google.sheets.update Update rows by key column, appending unmatched rows
Clear range google.sheets.clear Clear values from a range

Jira

Requires an Atlassian Connection.

Node ID Notes
Search issues atlassian.jira.search Search issues with JQL
Get issue atlassian.jira.get Fetch an issue
Create issue atlassian.jira.create Create an issue
Update issue atlassian.jira.update Update fields on an issue
Add comment atlassian.jira.comment Add a comment to an issue
Change status atlassian.jira.transition Move an issue to another status
List sprints atlassian.jira.board.sprints Discover active or scheduled sprints for a board
Move issues to sprint atlassian.jira.sprint.assign Move up to 50 issues into an active or future sprint
List fields atlassian.jira.fields Discover field IDs and project/type create metadata

Telegram

Requires a Telegram bot Connection.

Node ID Notes
Send message telegram.send_message Send a message to a Telegram chat
Send photo telegram.send_photo Send a photo to a Telegram chat
Read incoming message telegram.parse_update Verify and parse an inbound Telegram update from the webhook trigger into text, chat, sender, and attachments