Call Transfer & Behavior
Vocobase agents can transfer live calls to a human agent mid-conversation. When a caller asks to speak to a human, the agent announces the transfer and the caller is bridged to the configured human number. You can also configure the agent to end calls automatically when the conversation goal is reached.How call transfer works
- The agent detects a trigger condition — e.g., the caller says “let me speak to a manager”
- The agent speaks the configured transfer announcement
- Vocobase transfers the caller to the configured human phone number
- The
session.completedwebhook includes transfer metadata so you can identify the handoff
The number you transfer to must be in E.164 format (e.g.,
+14155551234).Enabling call transfer on an agent
Settransfer_enabled to true when creating or updating an agent. Provide the phone number the caller should be transferred to. The transfer_instructions field is plain English guidance for when the agent should transfer:
Transfer agent fields
Writing transfer instructions
transfer_instructions is plain English. There’s no fixed taxonomy — write conditions specific to your use case:
Hard cutover — the prior
transferTriggers: string[] array of fixed keys (CALLER_ASKS_HUMAN, FRUSTRATED, etc.) has been removed. If you were posting that field, replace it with transfer_instructions containing the equivalent prose. Existing agents were auto-migrated.End-call behavior
Configure the agent to end calls automatically when certain conditions are met. Same free-form pattern as transfer:End-call agent fields
User idle behavior
Agents default touser_idle_enabled: true. With the default setting, Vocobase uses platform-managed silence timing and retry settings to ask whether the caller is still there and may end the call after repeated idle prompts.
Set user_idle_enabled to false to disable that behavior for an agent:
user_idle_timeout_secs and max_idle_retries are platform-managed and are not accepted by the agent API.
What happens when a call is transferred
When a transfer happens:- The agent speaks the configured
transfer_message. - Vocobase transfers the caller to
transfer_number. - The
session.completedwebhook includesdata.call.transferred: true.
session.completed partner webhook fires when the agent-handled portion ends. Distinguish a transferred call from a normal hangup via data.call.transferred on the webhook payload — see session.completed payload.
duration_seconds reflects only the bot leg. recording_url, when present, is the bot-leg recording — the human side is not recorded.
Initiating a transfer from the API
You can programmatically transfer an active call to a human number using the transfer endpoint:Request
Response
Testing the transfer flow
1
Enable transfer on your agent
Set
transfer_enabled: true, a valid E.164 transfer_number, and clear transfer_instructions.2
Place a test call
Make a call to your agent. During the conversation, say something that matches your transfer instructions, like “Can I talk to a real person?”
3
Verify in webhook
After the call ends, check your
session.completed webhook. A transferred call will include the transfer details in the session metadata.Next steps
Inbound Calls
Set up inbound call handling with Twilio.
Custom Functions
Create custom LLM-callable API functions for your agents.
Webhooks
Configure webhook notifications for call events.
Billing (₹)
Understand how call ₹ is calculated, including 15s buckets and tier pricing.