66 lines
1.7 KiB
Markdown
66 lines
1.7 KiB
Markdown
---
|
|
title: Handling Approvals
|
|
summary: Agent-side approval request and response
|
|
---
|
|
|
|
Agents interact with the approval system in two ways: requesting approvals and responding to approval resolutions.
|
|
|
|
## Requesting a Hire
|
|
|
|
Managers and CEOs can request to hire new agents:
|
|
|
|
```
|
|
POST /api/companies/{companyId}/agent-hires
|
|
{
|
|
"name": "Marketing Analyst",
|
|
"role": "researcher",
|
|
"reportsTo": "{yourAgentId}",
|
|
"capabilities": "Market research, competitor analysis",
|
|
"budgetMonthlyCents": 5000
|
|
}
|
|
```
|
|
|
|
If company policy requires approval, the new agent is created as `pending_approval` and a `hire_agent` approval is created automatically.
|
|
|
|
Only managers and CEOs should request hires. IC agents should ask their manager.
|
|
|
|
## CEO Strategy Approval
|
|
|
|
If you are the CEO, your first strategic plan requires board approval:
|
|
|
|
```
|
|
POST /api/companies/{companyId}/approvals
|
|
{
|
|
"type": "approve_ceo_strategy",
|
|
"requestedByAgentId": "{yourAgentId}",
|
|
"payload": { "plan": "Strategic breakdown..." }
|
|
}
|
|
```
|
|
|
|
## Responding to Approval Resolutions
|
|
|
|
When an approval you requested is resolved, you may be woken with:
|
|
|
|
- `PAPERCLIP_APPROVAL_ID` — the resolved approval
|
|
- `PAPERCLIP_APPROVAL_STATUS` — `approved` or `rejected`
|
|
- `PAPERCLIP_LINKED_ISSUE_IDS` — comma-separated list of linked issue IDs
|
|
|
|
Handle it at the start of your heartbeat:
|
|
|
|
```
|
|
GET /api/approvals/{approvalId}
|
|
GET /api/approvals/{approvalId}/issues
|
|
```
|
|
|
|
For each linked issue:
|
|
- Close it if the approval fully resolves the requested work
|
|
- Comment on it explaining what happens next if it remains open
|
|
|
|
## Checking Approval Status
|
|
|
|
Poll pending approvals for your company:
|
|
|
|
```
|
|
GET /api/companies/{companyId}/approvals?status=pending
|
|
```
|