Approval workflow
How to set up approval gates so you can review AI agent work before it takes effect.
Why approval gates exist
Not everything an agent does should go unchecked. Approval gates add a human review step to the task lifecycle: the agent does the work, then pauses for your sign-off before the task is marked complete.
This is useful for:
- Deployments or infrastructure changes
- Tasks that modify production data
- Operations where mistakes are costly to reverse
Enabling approvals
There are two levels of control:
Per-task -- when creating a task, toggle Requires Approval. Only that task will pause for review.
Global -- in your account settings, enable Task Approval Mode. When active, every task requires approval regardless of the per-task flag. This gives you a safety net across all agent activity.
The global toggle is under Settings > Mission Control > Task Approval.
How the approval flow works
- A task with
requiresApproval: trueruns normally - When the agent finishes, the task moves to Review (instead of Done)
- A
MissionApprovalrecord is created and shows up in the Approvals panel - You review the task output: check logs, inspect file changes, verify results
- You Approve or Reject
If approved, the task moves to Done.
If rejected, the task moves to Failed. You can add feedback explaining what went wrong, which is helpful if you want to retry with a revised prompt.
Reviewing a task
From the Mission Control dashboard:
- Click the task card in the Review column
- Look at the task output, logs, and files the agent modified
- Click Approve or Reject
- If rejecting, add a note explaining what needs to change
Via the API:
# Approve
curl -X POST https://lebureau.talentai.fr/api/mission-control/tasks/:id/review \
-H "x-api-key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"decision": "approve"}'
# Reject with feedback
curl -X POST https://lebureau.talentai.fr/api/mission-control/tasks/:id/review \
-H "x-api-key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"decision": "reject", "feedback": "Database name should be myapp_staging, not myapp_prod"}'
Managing approvals
The Approvals panel in Mission Control lists all pending approval requests. Each entry shows the task that triggered the approval, the target desktop, when the task completed, and a link to the full task output.
You can also list pending approvals via the API:
curl https://lebureau.talentai.fr/api/mission-control/approvals \
-H "x-api-key: your-api-key"
And resolve them:
curl -X POST https://lebureau.talentai.fr/api/mission-control/approvals/:id/resolve \
-H "x-api-key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"decision": "approve"}'
Tips
- Start with global approvals on until you trust your agent workflows, then switch to per-task gating for sensitive operations only.
- Review promptly. Tasks sitting in Review block downstream work if other tasks depend on them.
- Clear rejection feedback makes it easier to create a follow-up task that gets it right.
- You can pair a prompt task (with approval) for the creative work, then a command task for the deterministic deployment step.