It looks like conversational agents do not support a built-in end_call. How do I end calls when using conversational agents? I am building a voice agent using the Retell API, not on the platform itself.
I am trying to have an agent check calendar availability with Chili Piper, read availability to the caller, get the availability they want, book the appointment, and then end the call.
When building a voice agent using the Retell API (via LLM WebSocket), you can end calls programmatically by setting the end_call field to true in your response event(1).
Here’s how to implement call termination in your flow:
Ending Calls via LLM WebSocket
When your server sends a response event back to Retell, include end_call: true in the final message(1). Retell will end the call after the content associated with that response is fully spoken(1).
{
"response_type": "response",
"response_id": 1,
"content": "Your appointment has been booked successfully. Have a great day!",
"content_complete": true,
"end_call": true
}
The end_call field should be set to true when you want to terminate the call(1)
Retell will end the call after the content is fully spoken(1)
If the agent is interrupted during speaking, the end call signal will be discarded(1)
Your Use Case
For your calendar booking flow:
Check availability with Chili Piper
Read availability to caller
Get their preferred time
Book the appointment
Send final confirmation message with end_call: true
This ensures the agent completes the conversation naturally before terminating.
Note: If you’re using the platform’s conversation flow builder instead of the API, you would add the “End Call” tool and configure termination conditions in your prompt(2).
Hello Kelechi,
Conversational flow agents do support built-in end_call; it’s called Ending (last one on the image).
If you don’t see that on your agent, please share your agent ID, and I will check it for you.
Thank you.