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.

FieldMeaning
voicemail_detection_enabledTurns the action on. Off means the agent keeps talking to the machine until a call limit ends the call.
voicemail_actionhangup, or leave_message.
voicemail_messageThe exact message to leave.
voicemail_promptAn 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_enabled hangs up when the call reaches an automated menu. With it off, ivr_prompt is added to the instructions so the agent can handle the menu.
  • call_screen_handling_enabled handles a phone's call-screening assistant, which asks who is calling. The agent says call_screen_message once and carries on.
  • dnc_detection_enabled lets 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.

json
{
  "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.

DestinationMeaning
numberA 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 typeWhat happens
cold_transferThe caller is connected to the number and the agent leaves.
warm_transferThe agent can speak to the person first, before connecting the caller.
agentic_warm_transferA 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.