Phil
01/06/2026, 7:19 PMAI Evy
01/06/2026, 7:19 PMAI Evy
01/06/2026, 7:20 PMjavascript
"enable_voicemail_detection": true,
"voicemail_option": {
"action": {
"type": "static_text",
"text": "Please give us a callback tomorrow at 10am."
}
}
- `enable_voicemail_detection`: Set to true to detect whether the call enters a voicemail (only available for phone calls) .
- `voicemail_option`: When set, the call will try to detect voicemail in the first 3 minutes. You can define an action to leave a static message or hang up.
- `voicemail_message`: Alternatively, you can set a simple message string to be played when voicemail is detected. If you want to hang up after hitting voicemail, set this to an empty string.
- `voicemail_detection_timeout_ms`: Configures when to stop running voicemail detection (default is 30,000 ms / 30 seconds) .
Using static_text for the voicemail action means the AI agent won't need to generate a dynamic response, which can help reduce costs associated with LLM and TTS usage on voicemail calls.
You can update these settings via the [Update Voice Agent]() API endpoint. [(2) ]()AI Evy
01/06/2026, 7:20 PMAI Evy
01/06/2026, 7:20 PMPhil
01/06/2026, 7:37 PMPhil
01/06/2026, 7:38 PMPhil
01/06/2026, 7:38 PMAI Evy
01/06/2026, 7:38 PMAI Evy
01/06/2026, 7:39 PM{{ }}) are supported in static voicemail messages. [(1) ]()
The documentation states that for the "Leave a message" option, dynamic variables are supported for both static message and prompt.
Example:
json
"voicemail_option": {
"action": {
"type": "static_text",
"text": "Hi, this is {{your name}}, please give us a callback tomorrow at 10am."
}
}
Just make sure to pass the dynamic variable values via retell_llm_dynamic_variables when creating the outbound call. [(7) ]()AI Evy
01/06/2026, 7:39 PMAI Evy
01/06/2026, 7:39 PM