
Steps to Add
- Open the Agent Builder
- Click + Add Tool
- Select End Call
- Fill in the Instruction field (described below)
- Click Add to Agent
Configuration Field
Instruction (When this tool should be invoked)
This is the only configuration field for End Call — and it is the most important one. The Instruction tells the AI agent exactly when it should hang up and terminate the call. The agent reads this instruction alongside the conversation context and decides at each turn whether the end condition has been met.Why the Instruction Field Matters
Without a well-written instruction, the agent either:- Ends calls too early — cutting off a customer mid-sentence because a vague condition matched prematurely
- Leaves calls open too long — the conversation is finished but the agent keeps listening, wasting time and creating an awkward silence
Instruction Writing Guide
1. End after task completion
Use this when the agent’s primary goal has been accomplished and there is nothing left to do.2. End when the customer declines or is not interested
Use this for outbound calling scenarios — insurance renewals, campaigns, sales calls — where customers may not want to continue.3. End when the customer says goodbye
The most natural trigger — the customer signals the conversation is over.4. End when the customer is frustrated or unresponsive
Continuing a conversation with an angry or silent customer makes things worse. A graceful exit is the better outcome.5. End after a successful transfer
Once a transfer has been initiated, the AI has completed its role. You can optionally add a closing line before terminating.
Note: When using Warm Transfer, the AI drops off automatically once the bridge is established. Use voice_end_call for Cold Transfer scenarios or when the transfer fails and the AI needs to close out cleanly.
6. End on specific call outcomes (outbound campaigns)
For outbound calls — renewals, reminders, collections — combine end conditions into a single instruction:Combining Instruction with a Farewell
Thevoice_end_call tool terminates the call. To make the ending feel natural, write your agent’s closing line in the main system prompt — not in the End Call instruction itself.
In your main agent prompt:
Real-World Examples by Use Case
Insurance Renewal Bot
Appointment Booking Agent
Collections / Payment Reminder Agent
Outbound Survey Agent
Common Mistakes to Avoid
| Mistake | Why It’s a Problem | Better Approach |
|---|---|---|
"End the call when done" | Too vague — agent doesn’t know what “done” means | Define the specific completion state |
"End after silence" | Silence can happen mid-sentence or during thinking | Specify duration: "no response for 10+ seconds after two prompts" |
"End after saying goodbye" | Agent may say goodbye before tasks are completed | Add: "only after all tasks are complete and customer acknowledges" |
| Not adding End Call at all | Call stays open indefinitely after conversation ends | Always add voice_end_call to every agent |
| Multiple conflicting end conditions | Agent may end calls at wrong moments | Order conditions by priority or use clear “any of the following” framing |
Best Practices
- Always add
voice_end_callto every agent — without it, the call will not terminate automatically after the conversation ends - Write specific, observable trigger conditions — the agent needs to match language or conversation state, not guess intent
- Separate farewell language from the end trigger — put closing messages in the main prompt, not in this instruction
- For outbound agents, list multiple end conditions — customers can end calls in many different ways
- Combine with voice_transfer_call — if a transfer is attempted and fails,
voice_end_callensures the call doesn’t stay open in a broken state - Test end-of-call behavior in the Test Voice playground to confirm the agent terminates correctly across different conversation paths
Example Configuration
| Field | Value |
|---|---|
| Tool | voice_end_call |
| Instruction | End the call after the customer confirms their renewal, declines the offer, says goodbye, or asks to be removed from the call list. |
Troubleshooting
| Issue | Fix |
|---|---|
| Call never ends automatically | Confirm voice_end_call is added to the agent and the instruction is filled in |
| Agent ends call too early | Make the instruction more specific — add conditions that must all be true before ending |
| Agent ends call mid-sentence | Loosen the trigger — the current instruction may be matching too broadly |
| Awkward silence before hangup | Add a farewell message in the main agent prompt before the end condition is checked |
| Agent keeps talking after goodbye | Add "customer says goodbye" explicitly to the end condition list |