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
| Field | What it controls | Required | Notes |
|---|---|---|---|
| What should be approved? | The text in the Inbox. | optional | Text with values from memory, e.g. Invoice {memory://invoice/number} over {memory://invoice/total}. Markdown is allowed. Empty: the name of the step. |
| Approvers | Who may decide. | optional | Choose 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 review | Files or results from earlier steps shown with the request. | optional | Under Settings. Approvers can preview and download them. |
| Comment required | Approvers must give a reason. | optional | Off by default. |
| Deadline (hours) | How long the request stays open. | optional | Empty or 0: no deadline. Checked every 15 minutes. |
| When the deadline passes | Reject, Approve or Escalate to admins. | optional | Reject 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 rejected | End process or Continue process. | optional | Default: End process. |
| Decision (optional) | Memory key for the decision. | optional | Only 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
escalatefor processes that must not get stuck. - ⚠️
approveon 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
- Get notified about failed runs: Workflows → Email notifications.