Skip to main content
Approvals are the human gate before certain agent actions ship. approvals lets you list pending approvals, decide them, and configure the webhook that pushes approval requests to external systems (Slack bots, custom review UIs).

Commands

approvals list

Filters:
  • --status pending|approved|rejected|expired
  • --kind agent|route|tool|action|cost: which gate kind.
  • --source builder_run|api|webhook|schedule: where the invocation came from.
  • --limit <n>: max rows. Default 50.
Add --json for structured output.

approvals get

Prints the full approval row:
  • What’s being approved (kind, target block, arguments).
  • When it was raised.
  • Related trace ID.
  • Timeout.
  • Prior related approvals on the same trace (if any).
Approvers use this to make an informed decision.

approvals decide

Flags:
  • --approve or --reject (exactly one, required).
  • --reason <text>: mandatory in compliance mode; strongly recommended always.
  • --external <id>: external tracking ID (e.g. ticket number, PR reference).
Deciding is a one-way action: you can’t undo, but you can raise a new approval on the same trace to correct.

approvals describe

Prints the webhook contract:
  • URL Nora POSTs to when a new approval opens.
  • Signing header format.
  • Payload shape.
  • Callback endpoint for your external system to hit back.
Use to wire up a Slack bot or custom review UI. Add --json for machine output.

approvals set-webhook

When a webhook is set, every new approval both surfaces in-app and POSTs to the webhook. When cleared, only in-app. This is a convenience wrapper for nora flows settings update --set-approval-webhook.

Recipes

Bulk-approve everything from a trusted source

Careful: approve is not undoable. Only auto-approve sources you truly trust.

Slack-integrated approvals

The endpoint accepts the same payload shape as approvals decide.

Timeout policy: auto-reject stale approvals

Add a cron job:
Or configure the timeout directly on the approval gate (via agents update --set-cost-approval and related flags).

Approval gate kinds

  • agent Agent’s answer requires approval before sending.
  • route Agent’s routing decision (which branch to take) requires approval.
  • tool a specific Tool call requires approval before executing.
  • action an Action requires approval before firing.
  • cost approval required when run cost exceeds threshold.
Each is turned on per-block (see nora agents, nora tools, nora actions).