Hands Conversations
alterlab_hands_conversationsA conversation has a counterparty, a channel (email, web_chat, ticket_thread or form_reply), a goal, limits (max price, deadline, items not to concede), a persona (always the user, disclosed as acting on their behalf) and a message budget. Voice calls are not supported. action=create starts one; list, get and messages read. action=inbound records counterparty text as untrusted content: it is read for offers, refusals, resolution and human-needed signals and never changes the goal or limits. action=draft checks an outbound message: an unsupported claim or a commitment over the limits is blocked, one the policy does not auto-allow asks for approval (action=approve with content_hash), an allowed one returns the dispatch payload to send as the user's own mailbox or an owned alias (any other sender is refused). action=dispatch returns an authorized message's payload; action=report records the send result. Replies are paced and deduplicated; the conversation stops on goal reached, deadline, refusal, a human-needed signal, an exhausted budget or action=stop (final).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "alterlab_hands_conversations"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Inbound or draft: the message text | |
| goal | No | Create: kind (deal or resolve) and text | |
| limit | No | Messages: rows to return | |
| action | No | Default list | |
| claims | No | Draft: bindings for each claim (claim plus fact, limit, quote or user_authored) | |
| limits | No | Create: max_price, currency, deadline (ISO time), no_concede (items never to concede) | |
| sender | No | Create: sending address; must be your own mailbox or an owned alias | |
| source | No | Inbound: where the text came from | |
| channel | No | Create: how the conversation runs | |
| outcome | No | Report: the connector result | |
| persona | No | Create: name and disclose_agent (default true) | |
| min_gap_s | No | Create: minimum seconds between sends (default 60) | |
| message_id | No | Required for approve, dispatch and report | |
| thread_ref | No | Create: provider thread id to reply into | |
| external_id | No | Inbound: provider message id; Report: sent message id | |
| content_hash | No | Approve: content_hash of the held draft | |
| counterparty | No | Create: name (optional) and address (email address, chat or ticket URL) | |
| follow_up_text | No | Create: the follow-up message | |
| message_budget | No | Create: most messages to send (default 10) | |
| conversation_id | No | Required for every action except create and list | |
| follow_up_delay_s | No | Create: seconds before the follow-up is sent if unanswered |