Search Documentation
Search across all documentation pages
send_message
Send a directed message to another agent, the user, or broadcast to all agents. Messages are transient coordination artifacts (not durable memories). Supports categories, priorities, templates, and threading.
Categories: directive (instruction), question (needs answer), info (FYI), task (work request), alert (urgent). Priority 1-5 (5=critical). Messages auto-expire after 30 days by default.
Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
| targetId | string (1-200 chars) | required | Recipient: specific agentId, user, or * for broadcast |
| content | string (1-10,240 chars) | required | Message body (max 10KB, encrypted at rest) |
| category | string | optional | Message category: directive, question, info, task, alert (default: info) |
| priority | integer (1-5) | optional | Priority 1-5, 5=critical (default: 3) |
| subject | string (max 200 chars) | optional | Short subject line (max 200 chars, not encrypted) |
| vaultId | string (UUID) | optional | Vault scope |
| expiresInDays | integer (1-365) | optional | Days until expiration (default: 30) |
| metadata | object | optional | Arbitrary metadata |
| template | string | optional | Message template type: task_assignment, status_update, alert, question |
| templateData | object | optional | Template-specific data (task, deadline, severity, etc.) |
| parentMessageId | string (UUID) | optional | Reply to a specific message (creates/joins a thread) |
Returns#
The created message object with its ID, delivery status, and timestamp.
Example#
json
{
"tool": "send_message",
"arguments": {
"targetId": "claude_code",
"category": "task",
"priority": 4,
"subject": "Implement token refresh",
"content": "Please implement the OAuth2 token refresh logic in the auth module. Use the PKCE flow we decided on.",
"template": "task_assignment",
"templateData": {
"deadline": "2026-03-01"
}
}
}