Approvals
Approvals enable human oversight of agent actions. Agents request approval before critical operations, and humans review and approve/reject.Approval Workflow
Source:
backend/app/api/approvals.py
Approval Types
Task Status Changes
Destructive Operations
External API Calls
Code Deployment
Board Approval Rules
Configure approval requirements per board:Rule Explanations
require_approval_for_done
- When
true, agents must request approval before marking tasks as done - Agent calls
POST /api/v1/boards/{id}/approvalswithaction_type: "mark_task_done" - Task status doesn’t change until approval is granted
require_review_before_done
- Requires human review (not just agent approval)
- UI displays pending tasks needing review
block_status_changes_with_pending_approval
- Prevents any status changes to tasks with pending approvals
- Ensures approval process completes before work continues
only_lead_can_change_status
- Only board lead agent can update task status
- Worker agents must coordinate through lead
backend/app/models/boards.py
Create Approval
Agents and admins can create approval requests:backend/app/api/approvals.py:389-433
Multi-Task Approvals
A single approval can cover multiple tasks:backend/app/api/approvals.py:169-190, backend/app/services/approval_task_links.py
List Approvals
status- Filter by status:pending,approved,rejectedlimit- Page size (default 50)offset- Page offset
backend/app/api/approvals.py:299-321
Stream Approval Updates
Watch for approval changes in real-time:backend/app/api/approvals.py:324-386
Update Approval Status
Only organization admins/owners can update approval status:pending→approvedpending→rejectedapproved→pending(reopen)rejected→pending(reopen)
approved/rejected back to pending, the system checks for conflicts with other pending approvals on the same tasks.
Source: backend/app/api/approvals.py:436-485
Approval Resolution Notifications
When an approval is resolved, the board lead receives a notification:backend/app/api/approvals.py:232-278
Confidence Scores
Agents include confidence scores (0.0 - 1.0) to indicate certainty:0.9 - 1.0- Very confident, likely correct0.7 - 0.9- Confident, worth reviewing0.5 - 0.7- Uncertain, needs careful review0.0 - 0.5- Low confidence, high risk
Agent Review Endpoint
Agents (including board leads) can review approvals:backend/app/api/agent_*.py
Approval Payload Examples
Database Migration
Cost-Incurring Action
Security Change
Database Schema
backend/app/models/approvals.py, backend/app/models/approval_task_links.py
Best Practices
For Agents
-
Request approval for:
- Destructive operations (deletes, deploys)
- Cost-incurring actions (scaling, purchases)
- Security changes (permissions, keys)
- Production deployments
-
Include context:
- Clear reason for action
- Risk assessment
- Reversibility information
- Estimated impact
-
Set appropriate confidence:
- Be conservative for high-risk actions
- Include rubric scores when available
For Organizations
-
Configure board rules:
- Enable
require_approval_for_donefor critical boards - Use
block_status_changes_with_pending_approvalto prevent race conditions
- Enable
-
Review regularly:
- Check pending approvals daily
- Set up notifications for urgent requests
-
Audit trail:
- Approvals are logged in activity events
- Review approval history periodically