Approvals
Some agent actions are sensitive enough to require a human decision before they run — sending an email, writing to a connected integration, and other side-effecting operations. When an agent hits one of these, it creates an approval request and the run pauses until a human approves or rejects it. Each approval request records what the agent wants to do (action_key,
action_display), the run/thread/job it belongs to, its status
(pending, approved, rejected, or expired), and when it was created and
decided.
Approving or rejecting a request resumes the paused agent run: an approval lets the
action proceed, a rejection terminates it. The same surface is available over the
CLI, MCP, and REST.
Deciding an approval
A decision carries a scope that controls how broadly the approval applies:| Scope | Effect |
|---|---|
once (default) | Approve just this one request. |
always_this_job | Auto-approve this action for the rest of this job. |
always_org | Create a standing org-wide policy auto-approving this action. |
always_user | Create a standing policy auto-approving this action for the deciding user. |
CLI
erdo approvals list prints one row per request: a short id, status, action key,
display, and creation time. Use --json for the full payload.
MCP tools
| Tool | Description |
|---|---|
erdo_list_approvals | List approval requests, filterable by status (pending, approved, rejected, expired; default all). |
erdo_decide_approval | Approve or reject a pending request so the paused run can continue (or be rejected). Takes id, decision, and optional scope. |
REST
| MCP Tool | REST Endpoint | Method |
|---|---|---|
erdo_list_approvals | /v1/approvals | GET |
erdo_decide_approval | /v1/approvals/:id/decide | POST |

