Capabilities

Receive a call

Give an agent a number and inbound just works: KlawVoice wires the Twilio voice, SMS, and status webhooks at purchase time. There is no separate "configure inbound" step.

What answers the phone

The agent that owns the dialed number answers with its first_message, in its configured voice, following its system_prompt playbook. If a knowledge base is attached, answers are grounded in it. Callers hear a natural turn-based conversation — see How KlawVoice works for the pipeline.

Shaping inbound behavior

  • Playbook: PATCH /api/agents/{id} with a new system_prompt — structure it as Greeting / Handle / Wrap up. Presets give you a strong starting playbook.
  • Greeting: first_message is the first thing callers hear.
  • Per-number instruction: PATCH /api/v1/numbers/{id} accepts an inbound_instruction when the number should behave differently than the base persona.
  • Escalation: agents support an escalation_phone and missed-call SMS follow-ups (POST /api/v1/agents fields escalation_phone, missed_call_sms_enabled).

Observing inbound

Every inbound call emits call.started, then call.ended / call.transcribed / call.completed with the transcript and post-call summary. Watch live in the dashboard Monitor page — including a human take-over button — or consume events programmatically.

Security note

Voice webhooks validate Twilio request signatures; forged webhook calls are rejected before any agent logic runs.