Human channel tool map
Endpoints
list_channel_endpoints: list assigned SMS, MMS, RCS, WhatsApp, and voice endpoints.
Endpoint creation, detail, and enable/disable operations are REST/dashboard operations, not MCP tools. Endpoint renaming is not supported.
Endpoint assignment requires a trusted human session. Provider resources are allocated by the AgentMailer control plane and cannot be invented by an agent.
Messages
send_channel_message: queue one consented outbound message. Supplychannel,endpointId,to,consent: { basis, capturedAt, reference }, and a stableidempotencyKey. For text usecontent: { type: "text", body: "..." }. MMS requiresattachmentIdsand allows optional text content. Inspect the tool schema for WhatsApp templates and channel-specific options.list_channel_messages: inspect inbound and outbound messages, provider status, failure details, and safety disposition.
Message lifecycle states are queued, sent, delivered, read, failed, received, and blocked. Quarantined inbound content is represented by blocked, not a separate quarantined status. Provider receipts can update a message after the original send returns.
Conversations
list_channel_conversations: filter byendpointId,channel, orstatus(active/closed), withlimitandpageTokenpagination.get_channel_conversation: inspect one conversation.update_channel_conversation: supplyconversationIdandstatus: "closed"to close orstatus: "active"to reopen.
Conversation lifecycle is independent of consent. Reopening a conversation does not override an opt-out.
Recipient permission ledger
list_channel_recipient_permissions: inspect consent and opt-out state for a recipient and channel.
An explicit opt-out always wins. STOP-like inbound messages record an opt-out; START-like messages can restore consent. Outbound sends require a current consent basis even when the ledger has no prior opt-out.
Retry invariants
- Use one idempotency key for one logical outbound message.
- Reuse that key after timeouts or ambiguous transport failures.
- Create a new key only when the human changes the recipient, channel, or message intent.
- A queued message is not delivered. Inspect status before reporting a final outcome.