Product guide · Browse & search
BUILD WORKFLOWS

Workflow configuration

All step types, data mappings, branches, loops, joins, and the settings around the graph.

A workflow is an explicit graph. Each step performs work or makes a decision, and its outgoing connections determine what happens next. A valid graph also needs compatible inputs, outputs, and data mappings.

The workflow's settings and views

AreaWhat you manage
Workflow settingsName, input contract, and output contract.
Start settingsManual/API entry, webhook/event entry, schedules, and queue assignment for a published version.
First stepThe node reached from Start.
Canvas and ListThe same graph as a visual canvas or an ordered inspection of nodes and paths.
JSONThe full authored workflow definition, including settings not exposed by simple forms.
DataInput, stored values, and step results available for mappings.
RunsEarlier executions of this workflow.
VersionsPublished snapshots; open a version or edit from it.
TriggersAutomation attached to published versions.
Client apps and AccessApplication exposure and whether a subject can run the version and its dependencies.

Edits to a workflow draft autosave. Undo, Redo, and Discard draft affect authoring; they do not undo an external action already performed by a run. Publishing creates a new version.

Steps that do work

StepPurposeMain configuration
AgentRun a published agent and use its answer.Published agent, task mapping, result name, extra tools/skills, shared folder, and success/failure paths.
WorkflowInvoke a published workflow as part of this process.Published workflow, input mapping, result name, and success/failure paths.
ToolCall a registered read or write action.Tool, arguments, result name, approval linkage where required, and failure path.
Send webhookSend data to a reviewed destination using a tool step.Destination, JSON body, approval where required, and failure path.
Set valuesPut values into Workflow data for later steps.Named values and the expressions used to compute them.

Send webhook is a convenience for a tool call, not a second delivery system. Destination setup and review still apply. Tool steps may also record that they undo an earlier tool step; this is an authored action, not automatic rollback of every external effect.

An Agent step can Also give it tools and Also give it skills for that invocation. Add a condition with Only when a rule holds, and choose whether a skill is always used or loaded when relevant. Whoever starts the workflow needs access to every listed resource, whichever way the conditions go. A tool requiring approval for each call belongs in a separate Tool step. These additions do not edit the agent's published definition.

Decisions and loops

StepPurposePaths to connect
IfTest one condition.Yes and No.
CasesChoose the first condition that holds.Each case and Otherwise.
MatchCompare one value against fixed choices.Each choice and Otherwise.
RepeatRepeat up to an explicit maximum.Again and Rounds used up.
For eachProcess each item of a list.Each item and Finished; parallel mode also has join/failure behavior.

Simple comparisons include equals, not equal, ordering, membership, contains, and starts with. JSON expressions can combine conditions. Use the data picker to select the intended value and inspect its type before choosing the comparison.

A loop needs a deliberate path through its body and a terminating outcome. Make the limit-exhausted path useful rather than treating it as an unreachable edge.

Parallel work and joins

Fan out starts named branches concurrently. Each branch ends with End branch, which supplies its branch result. The join belongs to the fan-out configuration; it is not a separately authored work step.

Choose the join policy deliberately:

  • All must succeed: use when every branch's successful result is required.
  • Wait for all, report each: use when later steps need to inspect each outcome.
  • First to succeed wins: use when one successful answer is enough.

A For each can run one item at a time or run items in parallel with a join policy. Configure the item name, optional position name, saved joined result, and failure routing. Parallel branches do not automatically share every intermediate value; map the joined result for later work.

People, time, and endings

StepPurposeWhat to decide
ApprovalAsk a person to decide on one proposal.Subject, allowed reviewers, Approved/Rejected paths, optional Changes requested and timeout handling.
WaitPause for input or an external signal.Wait kind, prompt or signal setup, response schema, stored response, and timeout/failure paths.
TimerPause for a duration.Duration expression and the next step.
OutputFinish successfully with a value.A result matching the workflow output schema.
FailFinish as failed with an explanation.Failure code and message.
End branchFinish one parallel branch.The branch result; it does not replace the workflow's final Output.

A timer resumes an existing run. A schedule submits future runs. An external signal can resume a Wait, while an event trigger can start new work. Use the distinction to avoid accidentally starting duplicate processes.

Data mappings

Use Text or Fixed for a literal value, From data for input or earlier results, and JSON for a more complex expression. For text, Insert a value helps combine text with a selected value.

Data sourceExample use
Workflow inputPass the submitted request to the first agent.
Saved step resultPass the agent's answer into an approval proposal.
Workflow dataReuse a value created by Set values.
Current loop itemProcess the document in this For each iteration.
Joined branch resultCombine completed parallel work.

The source must exist on the path that reaches the consuming step. A branch-specific value cannot be assumed present on every path. Changing an agent's output shape can require new mappings and a new workflow publication.

Before publication

Check Start, every required outgoing path, reachable ending steps, loop maxima, published agent/workflow selections, tool access, approval links, and schema compatibility. Use the reported problems to find the node to repair. Then run representative success, rejection, timeout, and failure paths before exposing the version to a client app or automation.