Skip to main content

Step reference

Every Flow is built from these step types. Each step names what runs next; templated fields interpolate run inputs and earlier steps' outputs (see Inputs & data).

StepPicker groupWhat it does
Tool callConnected apps & dataCalls one integration tool with templated parameters.
AI taskAI & agentsRuns a model prompt over selected earlier outputs, optionally against an output schema.
BranchLogic & timingEvaluates a condition and routes to the true or false outlet.
ApprovalPeopleParks the run until someone with the required domain role approves or rejects.
Human taskPeopleParks the run until a person submits a declared form.
TransformLogic & timingReshapes data with a field mapping - no external call.
WaitLogic & timingParks the run for a fixed duration or until a timestamp.
PollLogic & timingRepeats a tool call until its output settles a condition, on a bounded schedule.
ParallelLogic & timingFans out into named branches and joins when all complete.
Run agent or flowAI & agentsFires another Yekar.AI agent or flow - a message to an Agent or input to a Flow.
Web searchAI & agentsSearches the open web and returns snippets.

Tool call

Calls one tool on a connected integration. Parameters are templated, and the right connected account resolves from the flow's identity settings when you save.

The step editor for a Stripe refund tool call: schema-typed params, templated values, crash-retry opt-in, failure routing, and per-step testThe step editor for a Stripe refund tool call: schema-typed params, templated values, crash-retry opt-in, failure routing, and per-step test

Options that matter in production:

  • Failure routing - connect the red outlet to handle the failure; without it the run stops and is marked failed.
  • Retry - configurable retry for transient failures.
  • Idempotency - a step marked idempotent may be retried automatically after a crash; a templated idempotency key is recorded on every call and, on tools that support it, lets an interrupted write be re-run with the same key instead of failing conservatively.

AI task

Runs a prompt with selected earlier outputs as context. Choose a model from the catalog or leave it to the engine default. Provide an output schema when later steps need structured fields rather than natural-language text.

Branch

One condition, two outlets. Conditions compare templated references - {{inputs.amount}} > 200 - and route accordingly.

Approval

Parks the run and posts an item to Sessions → Approvals. You choose the message (templated), the minimum domain role (viewer, operator, editor, or owner - default operator), and where approval and rejection each route. For domain-routed work, the approver must satisfy both the domain's approval policy and this step's role floor. Disallow self-approval prevents the run's initiator from approving their own gate. A gate that expires or is rejected with no rejection route fails the run.

Human task

Like an approval, but collects data: you declare the form fields (typed, with required flags), and the submitted values become the step's output. Submission requires Operator or above and the step's assignee-role floor. Being named as an approver under the domain policy does not give a Viewer permission to complete human tasks. See Roles and permissions.

Transform

A pure mapping from earlier outputs to a new shape. Use it to keep tool parameters simple instead of repeating deep references.

Wait

Parks the run on the clock - a fixed ISO-8601 duration (days, hours, minutes, seconds; up to 30 days) or an interpolable timestamp. A waiting run does not count as running, so it does not use its flow’s concurrency.

Poll

"Call this until it settles": executes like a tool call, then tests an until condition against that attempt's output. Unsettled attempts park the run until the next interval. Bounds are enforced - interval between 5 seconds and 1 hour, at most 500 attempts - and you choose where exhaustion routes; unrouted exhaustion fails the run.

Parallel

Fans out into two or more named branches and joins when all complete. Branch order is deliberately unspecified - branches must be independent; the join is the only ordering guarantee. On branch failure chooses whether the first failure stops the run or the remaining branches finish and the join sees the error.

Run agent or flow

Calls another agent or flow in the same organization: a prompt for an Agent target, a typed input object for a Flow target. Cycle and depth guards apply.

Searches the open web and returns snippets, framed as untrusted input. Cap the result count in the step.