Initiate Handoff
initiate_handoffBegin a handoff from the agent to either a human operator (SMS/email via lead_routing_json) or another agent (signed continuation URL). In human mode the notification body is composed by the server from the contact and reason fields — callers supply those fields, not the message text. Idempotent: re-using the same idempotency_key returns the original handoff.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Handoff mode: human (SMS/email) or agent (continuation URL) | |
| slug | Yes | Business slug identifier | |
| reason | No | Why the user wants to reach a human | |
| message | No | Deprecated alias for `reason`. The notification body is composed by the server from the fields above; this value is delivered as the reason line, not as the message itself. Supplying both is an error. | |
| purpose | No | Purpose description for agent-mode continuation | |
| urgency | No | How time-sensitive (default: normal) | |
| agent_id | No | Optional agent identifier | |
| contact_name | No | End-user's name | |
| contact_email | No | End-user's email | |
| contact_phone | No | End-user's phone | |
| reservation_id | No | Optional link to a prior reservation | |
| idempotency_key | Yes | Unique key for idempotent handoff |