create_hitl
Create a HITL (Human-in-the-Loop) config. Defines which messaging channels receive approval requests and the default timeout.
Agent usage: After creating a HITL config, you must call request_hitl_authorization before it can be used with create_confirmation. For Telegram channels, use create_chat_id_discovery first to discover the user's chat ID, then include it in the channel config.
ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), then call this tool again. start_login does NOT open this tool.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"name": "<name>"
},
"name": "create_hitl"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name for this HITL config | |
| channels | No | Messaging channels for approval requests (telegram or whatsapp). Either channels or circle_id is required. | |
| circle_id | No | Route approvals through this circle's members instead of listed channels (24 hex characters) | |
| profile_id | No | The sub-account (24 hex characters) whose branding the approval messages carry; omitted, the primary | |
| timeout_seconds | No | Default timeout in seconds (60–86400, default: 3600) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | MongoDB ObjectId | |
| name | No | ||
| status | Yes | Status of a HITL configuration | |
| keypair | Yes | Encryption keypair metadata (null if not configured) | |
| user_id | Yes | Owner user ID (useful for SDK encryption AAD) | |
| channels | Yes | ||
| circle_id | No | Backing Circle for a circle-backed Approvals config (null for channel-list configs) | |
| created_at | Yes | ||
| profile_id | No | ||
| updated_at | Yes | ||
| environment | Yes | ||
| timeout_seconds | Yes |