Pauses the workflow and waits for a human to approve or reject the action before continuing. An in-app notification and (optionally) an email is sent to the assigned approver. If approved, the workflow continues to the next step. If rejected, the workflow stops with a status reflecting the rejection.
approvalThe Approval node introduces a human decision point into an otherwise automated workflow. When execution reaches this node, the workflow enters Waiting status and a task card appears on the Tasks page for the assigned approver. The approver reads the title and description, then clicks Approve to allow the workflow to continue or Reject to stop it.
This is essential for workflows that carry real-world consequences โ sending bulk emails, making financial transactions, publishing content, or triggering irreversible actions โ where a human sign-off is required before proceeding.
| Field | Status | Description |
|---|---|---|
| Assignee | Required | Email address or user ID of the person who should approve. Supports {{ variable }} references. |
| Title | Required | Short description shown to the approver, e.g. Approve invoice #{{ trigger.output.invoice_id }}. |
| Description | Optional | Longer explanation to help the approver make their decision. Supports {{ variable }} references. |
| Timeout | Optional | Maximum time to wait for a response, in minutes. If the timeout expires without a decision, the workflow fails. Leave blank to wait indefinitely. |
| Send Email | Optional | Toggle. When on, sends an email to the assignee in addition to the in-app notification. Requires SMTP to be configured in Settings. |
These fields are available to subsequent steps if the workflow was approved. A rejected workflow terminates without producing output.
| Field | Type | Description |
|---|---|---|
approved | boolean | True if the approver clicked Approve, false if they clicked Reject. |
decision | string | approved or rejected. |
decided_by | string | Email or user ID of the person who made the decision. |
decided_at | string | ISO 8601 timestamp of the decision. |
notes | string | Optional comment entered by the approver when making their decision. |
{{ agent.output.text }} so the manager sees the full draft inline.{{ variable }} references in the Title and Description to surface relevant data from earlier steps so the approver has full context without looking elsewhere.