Skip to main content

Voice Approvals (HITL)

The Voice Approvals tool implements Human-in-the-Loop (HITL) for voice calls. Before executing high-stakes actions — payments, bookings, permanent changes — the agent asks for verbal confirmation and handles three intents: approve, reject, and clarify.

How It Works

Approval Modes

Configuration

LLM Tools

request_voice_approval

Request verbal confirmation from the caller before a high-stakes action.

record_approval_decision

Record the caller’s approval or rejection.

Three-Intent Handling

The LLM acts as a natural-language state machine:
  1. APPROVE — “Yes”, “Go ahead”, “Sure”, “Do it” -> calls record_approval_decision with decision='approved'
  2. REJECT — “No”, “Cancel”, “Never mind” -> calls record_approval_decision with decision='rejected'
  3. CLARIFY — “Wait, how much?”, “What’s included?” -> Agent answers naturally, then re-asks. No tool call for clarifications.

Confirm Tools Mode

In confirm_tools mode, the agent automatically asks for confirmation before calling ANY tool that modifies external state:
  • Creating records
  • Sending messages
  • Processing payments
  • Booking appointments
  • Updating databases
  • Triggering webhooks
Read-only tools (lookups, searches, fetching information) are exempt.

Example — Create Agent with Voice Approvals

System Prompt Example