Workflow StepsReference for every Runtara step type and built-in agent: branching, loops, waits, state, AI agents, sub-workflows, and errors.Runtara Platformruntara-platformdocsRuntara Platformruntara-platformruntara-platformworkflowsstepsreference

Workflow Steps

Build10 min readUpdated

A workflow is made of steps. To add one, use a + button on the canvas (see Workflow editor). The Add Step picker lists the step types first and the agents after them. Search by name or by what you want to do, for example “email” or “csv”.

Add Step picker

Step types

Step What it does
AI Agent An AI model that decides which tools to call, in a loop, until it has an answer.
Conditional Branches into a true and a false path.
Switch Branches into one path per case, or picks a value per case.
Split Runs a set of steps once for each item in a list.
While Loop Repeats a set of steps while a condition is true.
Filter Keeps the list items that match a condition.
Group By Groups list items by a field.
Delay Waits for a set time.
Wait for Signal Pauses until a person or another system answers.
Wait for Instances Pauses until child runs this run started have finished.
Start Workflow Runs another workflow as a step.
Set State Publishes values about the run, for Operations queues.
Get State Reads the run’s published values.
Log Writes a message to the run’s events.
Error Ends the run, or the path, with a structured error.
Finish Ends the run and defines its output.

Agent steps call a system or service. They are listed under Agents.

Conditions

Conditional, Filter, While Loop, and route conditions all use the same condition editor. A condition compares values:

  • Compare: Equals, Not Equals, Greater Than, Greater or Equal, Less Than, Less or Equal, In List, Not In List, Starts With, Ends With, Contains.
  • Check: Is Empty, Is Not Empty, Is Defined, Length.
  • Combine: Logical AND, OR, and NOT, nested as deep as you need.

Each side of a comparison is a fixed value (text, number, or true/false), a reference to data in the run, or another condition.

Conditional

Evaluates a condition and continues on the true or false output. In the Purchase order approval workflow, Amount over 1,000? sends larger orders to approval and smaller ones to auto-approval.

Conditional branching example

Error Templates fills in common conditions for routing errors, such as all transient errors, rate-limit errors, or authentication errors. Use them on error-handler paths.

Switch

Compares one Value to Switch On against a list of Cases. Each case has a match type (equality, comparison, range, list, text, or existence), a pattern, and an output value.

  • With Routing Mode on, each case has its own output on the canvas, so the run follows the matching case.
  • With Routing Mode off, the Switch only returns the matching case’s output value, for later steps to use.
  • Add Default handles values that match no case. Without a default, an unmatched value fails the step.

Split

Runs the steps inside it once for each item of a list, then collects the results.

  • Array Source: the list, for example data.items or steps.fetch.outputs.items.
  • Item Schema: the shape of each item. Inside the Split, the current item is available as data.*.
  • Output Schema: what each iteration returns. The collected results are in the Split step’s outputs.
  • Variables: values from outside to pass into every iteration, as variables.*. Workflow variables are visible inside anyway; use this for earlier steps’ results, which are not. See Work with lists.
  • Execution Options: Continue on Failure keeps going when an item fails; Allow Null Input treats a missing list as empty; Convert Single Value wraps a single value into a one-item list.
  • Parallelism above 1 runs items at the same time when each item runs a single Agent step with its retries set to 0, and the Split itself has no retries. Any other shape runs items one at a time, and saving warns with W073.

While Loop

Repeats the steps inside it while the Loop Condition is true. The condition can use iteration.index and the previous iteration’s outputs. Max Iterations is a safety limit; with 0 the loop never runs. Timeout limits the loop’s total time.

Filter

Keeps the items of an Array Source for which the Filter Condition is true. Refer to the item being tested as item.*.

Group By

Groups the items of an Array Source by a Group Key, such as status or customer.country. List Expected Keys to always get those groups, with a count of 0 when no items match.

Delay

Waits for Duration (ms), then continues. A durable run does not hold any resources while it waits, so long delays are safe.

Wait for Signal

Pauses the run until someone answers. This is how workflows ask people for approvals, reviews, and missing data, and how chat workflows wait for the next message.

Wait for Signal settings with the Action Key

  • Response Schema: the fields the person fills in. Each field has a name, a type, and whether it is required. The gear button adds labels, allowed values, minimum lengths, patterns, and rules such as “required when decision is reject”.
  • Timeout (ms): fail the step if nobody answers in time. Leave it empty to wait indefinitely.
  • Advanced Settings:
    • Action Key: a stable name for this kind of decision, such as po_approval. Required for the request to appear in Operations Requests and Queues.
    • Action Context: details shown next to the request, such as the amount and supplier.
    • Action Correlation: fields that let another system find and answer this request.
    • On-Wait Flow: steps to run as the wait starts, for example to send a notification with a link.
    • Poll Interval (ms): no longer used.

The answer is the step’s output: steps.<step id>.outputs.<field>. A Wait for Signal step can also be given to an AI Agent as a tool, so the agent can ask a person for help.

Wait for Instances

Pauses until child runs started by this run have finished. List their Instance IDs, choose All or Any, and optionally set a Timeout (ms). The workflow must be durable.

Start Workflow

Runs another workflow as a step and waits for its result. Choose the Child Workflow and its Version: Latest always uses the newest version, Current locks to the version that was active when you added the step, or pick a specific version. Then map values into the child’s inputs. Child runs appear under Child runs in the parent’s execution details.

Set State and Get State

Set State publishes values about the run: its stage, amount, owner, due date. Declare the fields first in Settings > State; the step then shows one row per field. Leave a field on Don’t write to keep its current value. Published state appears on the run page and drives Operations queue columns, filters, stages, and due dates.

Get State reads the current state, as steps.<step id>.outputs.<field>.

Log

Writes a Message with a Level (Debug, Info, Warn, or Error) and optional Context to the run’s events. Use it to leave breadcrumbs for whoever investigates a run later.

Error

Ends the path with a structured error: an Error Code, an Error Message, a Category (Transient: a retry may succeed; Permanent: do not retry), and a Severity (Info, Warning, Error, or Critical). Error steps are usually the target of an error handler. Their code and category appear in Runs and decide whether Retry is offered.

Finish

Ends the run and defines its output: map values to the output fields declared in Settings > Output, or add custom outputs. Add missing required fields adds any required output that is not mapped yet. A workflow can have several Finish steps, one per path.

AI Agent

An AI model that works towards a goal by calling tools in a loop.

  • LLM Connection: an OpenAI or AWS connection. See Connections.
  • System Prompt and User Prompt: the instructions and the task. Both can use templates and references.
  • Model: pick one offered by the connection, or type a model identifier.
  • Tools: on the canvas, select Add tool… to give the agent an agent capability, a Wait for Signal step (to ask a person), or a Start Workflow step. Add MCP toolset… connects the tools of an MCP server.
  • Structured Output: an output schema, when you need fields rather than free text.
  • Conversation Memory: keeps the conversation between runs, keyed by a Conversation ID such as data.sessionId. Old messages are summarized or dropped when the history grows.
  • Advanced Settings: maximum tool-calling rounds (1-50), temperature, maximum tokens, retries, and the time limit per turn.

Agents

Agent steps call one capability of a built-in agent. After choosing an agent in the picker, choose its capability, then a connection if it needs one.

Searching the step picker for the Object Model agent

Agent What it does
AI Tools Text completion, image generation, structured output, and vision with OpenAI or AWS models.
AWS Bedrock The same AI capabilities through AWS Bedrock.
OpenAI The same AI capabilities through OpenAI.
HTTP Calls any HTTP API, with or without a connection.
MCP Calls the tools of an external MCP server. Used through AI Agent toolsets.
Object Model Reads and writes Database records, and runs SQL.
Control Reads and coordinates other runs: start runs, answer their requests, check their status.
Shopify Products, orders, inventory, and customers.
HubSpot Contacts, companies, deals, quotes, and pipelines.
QuickBooks Online Accounting records and reports.
Stripe Customers, payments, invoices, and subscriptions.
Mailgun Sends email.
Slack Sends messages, files, and reactions.
Microsoft Teams Sends messages through a Teams bot.
Microsoft SharePoint Manages files through Microsoft Graph.
S3 Storage Buckets and files in S3-compatible storage, and presigned links.
Azure Blob Storage Containers and blobs, and SAS links.
SQS Sends and receives messages on AWS SQS queues.
CSV Reads and writes CSV.
Spreadsheet Reads Excel and OpenDocument spreadsheets.
XML Parses XML.
Compression Creates, extracts, and lists ZIP archives.
Transform Reshapes, filters, sorts, and combines data.
Text Formats and manipulates text.
DateTime Parses, formats, and calculates dates and times.
Crypto Hashes and HMAC signatures.
Utils Random numbers, math, country codes, and other helpers.

Capabilities marked Long-running can park the run while they wait, for example for a slow external job. Their step must stay Durable and have a Timeout (ms) above 0.

Agents your plan does not include are hidden from the picker. A step that uses a disabled agent shows Agent disabled, and the workflow cannot be saved until the step is replaced.

For what each integration can do in detail, see Integrations.