Voicemail and call transfer
Decide what an agent does when it reaches a machine, and how to hand a call to a person.
Voicemail
On outbound calls, Dialgem listens for an answering machine in the first seconds. You choose what the agent does when it hears one.
| Field | Meaning |
|---|---|
voicemail_detection_enabled | Turns the action on. Off means the agent keeps talking to the machine until a call limit ends the call. |
voicemail_action | hangup, or leave_message. |
voicemail_message | The exact message to leave. |
voicemail_prompt | An instruction for the agent to write the message itself at that moment, such as "say who is calling and give the clinic number". If it cannot, voicemail_message is used. |
Detection is a best guess. A person who answers with a long greeting can look like a machine, so test with real numbers, and prefer a short message that works either way.
Other automatic answers
ivr_hangup_enabledhangs up when the call reaches an automated menu. With it off,ivr_promptis added to the instructions so the agent can handle the menu.call_screen_handling_enabledhandles a phone's call-screening assistant, which asks who is calling. The agent sayscall_screen_messageonce and carries on.dnc_detection_enabledlets the agent mark a number as do-not-call when the person asks to stop being called.
Transfer a call to a person
Give a prompt agent a transfer_call function, or add a Transfer call node to a flow.
{
"name": "transfer_to_front_desk",
"kind": "transfer_call",
"description": "Transfer the caller to the front desk when they ask for a person.",
"config": {
"transfer_destination": { "type": "predefined", "number": "+14155550100" },
"transfer_option": { "type": "warm_transfer" }
}
}Post that to POST /v1/agents/{agent_id}/functions.
| Destination | Meaning |
|---|---|
number | A fixed E.164 number, or a {{variable}} filled in per call. |
type: "inferred" | The agent works out who to transfer to from a prompt you give. |
| Transfer type | What happens |
|---|---|
cold_transfer | The caller is connected to the number and the agent leaves. |
warm_transfer | The agent can speak to the person first, before connecting the caller. |
agentic_warm_transfer | A second agent speaks to the person first. |
transfer_ring_duration_ms sets how long to ring, and show_transferee_as_caller controls the number shown to the person who answers.
Transfers raise transfer_started, transfer_bridged, transfer_cancelled and transfer_ended webhook events.
Test your transfer on a real call
Test your transfer with a real phone number before you send customer traffic to it.
Hand a call to another agent
agent_swap gives the call to a different Dialgem agent without a new call leg. Use it to move from a general agent to a specialist.