Approval Manage Tool
approval_manageManage human-in-the-loop approvals: list pending requests, approve or reject decisions, complete human tasks with form data, and configure webhook notifications. Unblocks workflow steps gated on reviewer decisions.
Instructions
Human-in-the-loop approvals and workflow human-task completion. Use this to unblock workflow steps gated on reviewer decisions or to submit form data for human_task DAG nodes. Each decision is audit-logged and emits a domain event the workflow runtime listens for.
Actions:
list (read) — optional: status (pending/approved/rejected/expired), assignee_id, limit.
approve (write) — approval_id, optional comment. Unblocks the dependent step.
reject (write) — approval_id, reason. Terminates the dependent step (workflow may branch on rejection).
complete_human_task (write) — approval_id, form_data (JSON matching the node's form_schema). Validates against the schema before commit.
webhook_config (write) — approval_id, webhook_url. Configures external notification when status changes.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: list, approve, reject, complete_human_task, webhook_config | |
| deadline_ms | No | Optional: max wall-clock time (ms) the tool may spend. If exceeded during the call, returns a DEADLINE_EXCEEDED error. Minimum 100 ms. Leave unset for no deadline. | |
| status | No | Filter by status: pending, approved, rejected, expired (default: pending) | pending |
| limit | No | Max results to return (default 10, max 100) | |
| approval_id | Yes | The approval request UUID | |
| notes | No | Optional reviewer notes | |
| reason | Yes | Reason for rejection | |
| form_response | Yes | The form response data as key-value pairs matching the form_schema fields | |
| callback_url | No | HTTPS URL to POST the decision payload to (set to null to clear) | |
| callback_secret | No | Secret used to sign the payload via HMAC-SHA256 (X-Signature-SHA256 header) |