Skip to content

What is a Workflow

Overview

A Workflow is a visual, multi-step automation you build on a canvas inside your organization in the Rival app. You drop steps onto the canvas, connect them into a flow, and Rival runs them in order - passing data from one step to the next. A single workflow can call tools, run a full Rival Agent, branch on conditions, transform data, hit any REST API, and act in third-party services through connectors.

You’ll find workflows under Workflows in the app. The list page is at /workflows, and each workflow opens in a builder at /workflows/{id}.

What a workflow is made of

Every workflow is a graph of steps (nodes) joined by connections (edges):

  • Steps - each step does one thing: start the flow, run a tool, run an agent, branch, transform data, and so on.
  • Connections - the wiring between steps. Data flows along a connection from one step to the next. Branch steps (like IF) have labelled outputs, so you can send different data down different paths.

Every workflow starts with a trigger step - the entry point that decides how and when the flow runs. From there, each step you add hands its output to the next.

Step types

The builder palette groups steps by what they do:

Triggers - how a flow starts (exactly one per workflow):

  • Manual Trigger - start the workflow by clicking Run.
  • Webhook - start via an HTTP POST to a generated URL.
  • Schedule - start on a timer (every N minutes, or daily at a set time).

Actions - do the work:

  • Function - run a marketplace tool.
  • Agent - run a Rival Agent turn with a prompt.
  • Connector - act in Gmail, Slack, Sheets, and other OAuth services.
  • HTTP Request - call any REST API.
  • Sub-workflow - run another workflow and continue with its output.

Logic - control the path:

  • IF - branch true / false.
  • Switch - branch by value across multiple cases.
  • Merge - join branches back into one.

Transform - reshape the data:

  • Set Fields - map or set fields with expressions.
  • Split Out - explode an array field into one item per element.
  • Aggregate - collapse many items into one.
  • Filter - keep only items matching a rule.
  • Code - run a snippet of JavaScript over the items.

Output:

  • Result - print a value or message into the run log.

How data flows between steps

Every step works on a list of items. A step’s output becomes the next step’s input, and steps that produce arrays (like Split Out) fan the flow out so downstream steps run once per item.

You reference earlier data with expressions wrapped in {{ }}:

  • {{$json.field}} - a field on the current item.
  • {{$node["Step Name"].json.field}} - a field from a named earlier step.

Expressions are lenient - a missing path resolves to empty rather than erroring the run.

How a workflow differs from an agent

A Rival Agent is a conversational AI assistant that decides which tools to call to satisfy a request. A workflow is a deterministic pipeline - you lay out the exact steps and the order they run in, and it runs the same way every time.

They compose: a workflow step can run an agent, and an agent can be published and then adopted into someone else’s workflow.

Limits

A few limits shape what a single run can do:

  • Run time - a whole run is capped at 10 minutes.
  • Sub-workflows - a workflow can call sub-workflows up to 5 levels deep, and it can’t call itself (no cycles).
  • Code steps - a Code step’s JavaScript is sandboxed (no network or filesystem) and must finish within 5 seconds.
  • HTTP steps - an HTTP Request step times out (30 seconds by default, 120 seconds max), caps the response it reads, and can’t reach private or internal network addresses.
  • Categories & tags - a published workflow can carry up to 3 categories and 5 tags.
  • Schedule interval - the minimum schedule interval is 1 minute.

Next steps