Approval Workflows

HUMAN-IN-THE-LOOP

Require human approval for high-risk agent actions. Real-time approval queue with expiration timers, bulk operations, and webhook notifications to Slack and email.

Real-timeApproval Queue
WebhooksSlack + Email
BulkApprove / Reject

See it in action

custodex.vercel.app
HUMAN-IN-THE-LOOP — Custodex Dashboard

Pending requests with countdown timers.

Real-time queue of actions awaiting human approval. Each request shows the agent, action, scope, context, and a countdown timer to expiration (default 7 days). Approve or reject with optional reason. Color-coded urgency based on time remaining.

Policies decide what needs approval.

Set decision: "requireApproval" in any policy rule. When triggered, the agent action is paused and a request is created. The requesting agent receives an approval ID to poll. Once approved or rejected, the agent is notified and the decision is logged.

rules:
  - action: "financial.transfer"
    decision: "requireApproval"
    conditions:
      - field: "amount"
        operator: "gte"
        value: 10000

# Agent receives:
{
  "decision": "pending_approval",
  "approvalId": "apr_xyz789",
  "reason": "Amount exceeds $10,000 threshold"
}

Slack and email webhooks. Instant alerts.

Configure webhook endpoints for Slack and email notifications when approvals are requested. Include action details, agent context, and direct approve/reject links. Escalation chains for unattended requests. Auto-expire after configurable timeout.

Approve or reject batches in one click.

Select multiple pending requests and approve or reject them all with a single action. Filter by agent, action type, or urgency. Approval statistics: total, pending, approved, rejected, expired, approval rate, and average response time.

What's included in
human-in-the-loop

01

Real-time approval queue with countdown expiration timers

02

Policy-driven triggers with requireApproval decision type

03

Slack and email webhook notifications for new requests

04

Bulk approve/reject operations for batch processing

05

Approval statistics: rate, response time, expiry tracking

06

Auto-expiration with configurable timeouts (default 7 days)