Products — Operations

Approvals

Approval flows gate automated processes on explicit human sign-off. Insert an approval step anywhere in a workflow to pause execution until one or more designated approvers make a decision.

How approval steps work

When a workflow reaches a require_approval step:

  1. Workflow execution pauses and the run enters awaiting_approval state
  2. Each listed approver receives a notification with context and action links
  3. An approver clicks Approve or Reject — no login required for simple approvals
  4. The workflow resumes (on approval) or is marked failed (on rejection)
Approval step definition
{
  "type": "require_approval",
  "approvers": ["[email protected]", "[email protected]"],
  "quorum": "any",
  "timeout_hours": 48,
  "on_timeout": "reject",
  "notification": {
    "channel": "email",
    "subject": "Approval required: {{workflow.name}}",
    "body": "Please review and approve the following request."
  }
}

Quorum options

QuorumBehavior
anyFirst approver to respond determines the outcome
allEvery listed approver must approve before proceeding
majorityMore than half must approve

Common use cases

  • Expense approvals — manager sign-off before reimbursement is processed
  • Contract reviews — legal and finance must both approve before countersigning
  • Access requests — security team approves elevated permissions before granting
  • Deployments — tech lead approves before production deployment proceeds
  • Refunds — finance approves large refunds above a threshold

API-driven approvals

Approvers can also respond programmatically via the API — useful for integrating approvals into existing tools like Slack bots or internal portals:

curl -X POST https://api.ventryx.io/v1/approvals/apr_01HXYZ/respond \
  -H "Authorization: Bearer $VENTRYX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "decision": "approved", "note": "Looks good, proceeding." }'