Skip to main content
When an outbound agent dials a number, the call can be answered by a person, by a voicemail box, by an automated phone menu (IVR), or by nothing at all. Answering Machine Detection (AMD) listens to the first moments of the call, decides which of those it reached, and then does what you have configured for that case: carry on with the conversation, leave a voicemail, navigate the menu, re-prompt, or hang up. AMD is off by default. It applies to outbound agents only — an inbound call is always answered by a person, so there is nothing to detect.
AMD is unrelated to the older mobile calls detection toggle (callDetection in the API), which looks up whether a caller’s number is a mobile phone. The two can be used independently.

Turning it on

In the Dashboard, open the agent (Customers → Resellers and Organizations, pick the organization, click the agent, then Configure) and find Answering Machine Detection in the Call Handling section. The same settings appear on the Connect App’s agent edit page for outbound agents. Through the API, set amdConfig on Create Agent or Update Agent. true turns it on with the defaults below; an object lets you tune it; false turns it off.

Settings

Detection sensitivity

Each preset sets how long the agent will listen overall, and how much silence it tolerates before concluding that nobody is there. A clear greeting resolves in well under a second; the budget is a cap, not a wait. Whatever the preset, a person who answers and then pauses waits about two seconds before the agent speaks. That short delay is what stops a voicemail greeting’s first syllable from being mistaken for a human.

What happens on each kind of answer

The verdict is recorded on the call as answer_type and shown in the Answered By column of the Outbound Calls report (Reports → Outbound Calls). It is also sent on the result webhook, together with voicemail_left. When AMD is off, answer_type is null.
Keep the voicemail message self-contained. The agent leaves it and hangs up; nobody is listening for a reply. Say who is calling, why, and how to call back.

Per-call overrides

A single call can override the agent’s settings when you trigger it through the API:
  • voicemail_message — the message for this call only. Overrides the agent’s message and suppresses its pre-recorded audio.
  • amd_config — any of the keys above, merged over the agent’s settings for this call. { "enabled": true } turns AMD on for one call of an agent that normally has it off, and vice versa.
See Trigger Outbound Call. The Place call dialog in the Dashboard also offers a per-call Voicemail message.

AMD and retries

A call that ends in voicemail_left can be redialled automatically: the voicemail rule of a retry policy governs it, separately from no_answer and busy. A call that reached a person is never redialled.

Good to know

  • Detection runs its own short speech-recognition pass at the start of the call, so the agent’s first line arrives a little later on AMD-enabled calls than on calls without it.
  • There is no confidence score. An answer the agent could not classify is reported as silence_unknown; that is the low-confidence signal.
  • A fax line has no category of its own and is reported as machine.
  • Turning AMD off also turns off IVR Menu Navigation, which cannot run without it.