Menu

Steps

What each step type does and what its fields expect

A step is one action in a workflow. Every step's config fields accept {{ <stepId>.<path> }} expressions that resolve against the trigger input and every prior step's output — see Expressions.

Add a step

  1. Open the workflow's canvas.
  2. Click the + on a step's handle and pick the step type.
  3. Click the step and fill in its fields. The sections below say what each type expects.

Step types

HTTP Request

Calls any URL and returns its response.

Field Notes
url required
method defaults to GET
headers object
body sent as JSON when present

Its output has three parts you can reference in later steps: status (the response's status code), ok (true if the request succeeded), and body (the response itself — read as JSON automatically when that's what came back, otherwise left as plain text). An error response doesn't stop the workflow on its own; add a Condition step after it to branch on status or ok.

API Call

Calls one operation of an API you've connected by its OpenAPI (3.x) definition — set up on the Connections page, by URL or pasted JSON/YAML. Pick the connection, then the operation (METHOD /path — summary); Alur builds the request from the spec, including auth, so nothing but the operation's own parameters and body need filling in.

Field Notes
connectionId which connection to call
operationId which operation on that connection
params the operation's path/query/header parameters
body the operation's request body fields, when they're a flat set of primitive properties
bodyText raw JSON body instead, when the operation's body doesn't fit that shape

Its output works the same way as HTTP Request's: status, ok, and body. See Connections for which login methods are supported and how refreshing a connection affects steps that use it.

Zernio

Posts to a social account or replies to a comment through your Zernio connection. A rejected request (bad key, platform rule, duplicate content) fails the step instead of returning data. See Zernio for the actions, their fields and how failures and retries work.

Send Email

Sends an email from your own verified domain through the email connection you choose in the step (a Resend connection). A rejected request (invalid key, unverified domain, invalid address) fails the step instead of returning data. See Send Email for the fields and how failures and retries work.

Mayar

Creates an invoice with a payment link, or reads an invoice, through your Mayar (Payment) connection. A request Mayar refuses fails the step, and Create invoice is never retried automatically. See Mayar payments.

AI Text

Sends a prompt to an AI model through your OpenAI-compatible connection and returns the text it writes as {{ step.text }}. A rejected request or an empty reply fails the step instead of returning data. See AI Text for the fields and how failures and billing work.

AI Image

Sends a prompt to an AI image model through your OpenAI-compatible connection and saves the picture to your Media library. The step returns {{ step.fileId }}, which a Posting step can publish. A rejected request or a reply with no image fails the step instead of returning data. See AI Image for the fields and how failures and billing work.

AI Video

Sends a prompt to an AI video model through an OpenRouter, Higgsfield or HeyGen connection, waits for the provider to finish (usually a few minutes), and saves the video to your Media library. The step returns {{ step.fileId }}. A rejected request, a refused job or a timeout fails the step instead of returning data. See AI Video for the fields, how waiting works and how billing works.

Posting

Publishes text and images to one or more social accounts through your Zernio connection. It is the simpler alternative to the Zernio step's Post action. See Posting.

Database

Adds, finds, updates or deletes rows in one of your tables. See Database step.

Condition

Branches the workflow. Downstream edges from a Condition step are followed depending on which handle they're connected from — true or false.

Field Notes
left value or expression
operator equals, not_equals, greater_than, less_than, contains
right value or expression

Its output is a single true/false result.

For each

Repeats the steps connected to it once for every item in a list. See For each step.

Approval

Pauses the run, emails a private link, and continues on Approved or Rejected when the person decides (or on Rejected when the time limit passes). See Approval step.

Delay

Pauses the workflow for a fixed duration before continuing to the next step.

Field Notes
duration e.g. "30s", "5m", "2h", "1d"; defaults to "1m"

Call Workflow

Fires another one of your own published workflows and moves on immediately — it doesn't wait for the target to finish, and nothing the target produces flows back into this run.

Field Notes
workflowId the target workflow — must be one of your own, published at least once, not paused, and can't create a cycle (itself, or any workflow already in this call's chain — A calling B calling A included)
params filled in against the target's trigger input fields

Its output is the new run's ID, so you can look it up later — the step itself doesn't wait for that run to finish or read anything back from it.