Skip to main content

Request Approval

Pause a workflow until a person approves or rejects it in the Inbox — the four-eyes principle for automations.

What it does​

The step stops the run and puts an approval request into the Inbox: a short summary, the documents you chose (for example the Excel file an earlier step created) and two buttons, Approve and Reject. The run waits until an approver decides:

  • Approved — the run continues with the next step.
  • Rejected — what happens is set in When rejected: End process (default) ends the run with the status Cancelled, the following steps do not run. Continue process lets the following steps run; they can branch on the decision. A rejection by deadline is treated the same way.

With End process the step is a simple gate: continue or stop. With Continue process it works like an if/then: for example, send a mail to the supplier only when the invoice was rejected.

When is approval requested? Like every step, Request approval runs whenever the run reaches it. Add a condition to the step (Add condition) if approval is only needed in some cases — for example only for amounts above 5,000 €. Without a condition, every run asks for approval.

Unlike a question in an interactive workflow, an approval is a decision with fixed options. It therefore also works in normal (non-interactive) workflows: a nightly run can prepare an invoice and wait for approval before it is sent.

What you configure​

FieldWhat it controlsRequiredNotes
What should be approved?The text in the Inbox.optionalText with values from memory, e.g. Invoice {memory://invoice/number} over {memory://invoice/total}. Markdown is allowed. Empty: the name of the step.
ApproversWho may decide.optionalChoose from the list: Whoever started the run, a role (this role and above) or a member of the workspace; you can also type an email address. Empty: whoever started the run — for automatic runs (schedule, mail, webhook) editors.
Documents for the reviewFiles or results from earlier steps shown with the request.optionalUnder Settings. Approvers can preview and download them.
Comment requiredApprovers must give a reason.optionalOff by default.
Deadline (hours)How long the request stays open.optionalEmpty or 0: no deadline. Checked every 15 minutes.
When the deadline passesReject, Approve or Escalate to admins.optionalReject counts as a rejection (see When rejected), Approve continues the run, Escalate to admins emails the workspace admins, who may then decide as well. Default: Reject.
When rejectedEnd process or Continue process.optionalDefault: End process.
Decision (optional)Memory key for the decision.optionalOnly needed to branch or to use the comment later. See below.

The decision in memory looks like this:

{
"option": "ablehnen",
"label": "Ablehnen",
"approved": false,
"comment": "Amount does not match the order",
"userEmail": "anna.meyer@example.com",
"decidedAt": "2026-09-24T18:26:14.713Z"
}

If the deadline decided, timedOut is true.

Branching on the decision​

Only needed with When rejected = Continue process. Give the following steps a deterministic condition:

  • only when approved: {memory://decision/approved} == true
  • only when rejected: {memory://decision/approved} == false

See Core Concepts → Conditions.

In the Inbox​

Approvers receive an email with a link as soon as the request is open (if mail delivery is configured). In the Inbox the run appears with the note Approval required; the filter Approvals shows only open requests.

The request shows the summary and the documents, and below them the two buttons, a comment field, who may decide and the deadline. People who are not approvers see the request but no buttons. A request cannot be marked as done — it has to be decided. The first decision counts; a second one is rejected.

Every decision is recorded in the Audit log, with option and whether a comment was given (not the comment itself).

Example scenario​

Invoice approval. A mail trigger receives an invoice, an AI step extracts supplier, number and amount, and the Excel action adds the row to the invoice list. Request approval — with the condition amount above 5,000 € — shows the extracted values and the PDF to the accounting team (role Manager) with a 48-hour deadline and escalate. On approval, Store file files the PDF in the payment folder; on rejection, the run ends and nothing is paid.

Recommendations​

  • ✅ Put everything the approver needs into the summary — nobody wants to open five files to decide.
  • ✅ Attach the generated file, not only its values: people approve what they can see.
  • ✅ Use a condition when only some runs need a second pair of eyes.
  • ✅ Use a deadline with escalate for processes that must not get stuck.
  • ⚠️ approve on deadline means: no answer counts as yes. Use it only where that is acceptable.
  • ❌ Do not use approvals for questions that need a free-text answer — that is what interactive workflows are for.

What to do next​