Skip to main content
The dialer runs server-side — no browser tab needs to stay open. It ticks continuously, reconciling finished calls and dispatching new ones within your rules.

Parallel dialing (concurrency)

  • Set a concurrency per campaign: how many calls run simultaneously.
  • The effective limit is the lower of the campaign setting and your plan’s max_parallel_calls.
  • Stale calls (stuck in ringing) are detected and freed automatically, so slots never leak.

Retry logic

Unanswered leads are retried automatically:
  • Max attempts (retry_max) per lead (e.g. 3).
  • Delay between attempts (e.g. 120 minutes) — the retry lands at a different time of day, which measurably improves reach.
  • A lead that answers stops being retried; busy, no answer, and failed outcomes schedule the next attempt until the budget is exhausted.
  • The full attempt history is visible per lead.
retry_max is the hard ceiling for every retry policy below. The voicemail and goal options don’t create unbounded loops — once the additional attempts are exhausted, the lead is finalized with a terminal status (failed / no_answer).

Retry until a human answers

Enable retry_on_voicemail (default off) to continue calling until a human answers (skip voicemails). When on, a call whose AMD result is a machine category (machine-vm, machine-ivr, machine-unavailable) does not count as reached — the lead is rescheduled for another attempt instead of being marked done, up to retry_max. Only a human result (or an exhausted retry budget) finalizes the lead. This is a retry policy. What the assistant actually does when it hits a machine — hang up silently or leave a message — is configured on the assistant (Settings → Conversation → Voicemail), not on the campaign.

Retry until the goal is achieved

Two settings work together to keep dialing a lead until a defined outcome is met:
  • retry_until_goal (boolean, default off) — Continue calling until the goal is achieved. A lead is marked completed only when its goal variable evaluates to true on the finished call; otherwise the dialer schedules another retry (bounded by retry_max).
  • goal_variable (text) — Variable that must be true to mark a lead as completed. The name of a boolean post-call evaluation field. Options come from the campaign assistant’s post-call analysis fields (the boolean fields in its analysis config), plus the built-in success flag. The dialer reads the value from the finished call’s analysis data (or the call’s success flag when the variable is success).
If retry_until_goal is on but the goal variable never becomes true, the lead is retried until retry_max is reached and then finalized with a terminal status — the goal policy never overrides the retry ceiling.

Calling windows

Define when the campaign may dial, per weekday, in the campaign’s timezone — e.g. Mon–Fri 09:30–18:00. Outside the window the dialer pauses and resumes automatically.
In Germany, unsolicited calls outside reasonable hours violate the UWG. Calling windows aren’t just a courtesy feature — configure them for every campaign that dials consumers.

Do-not-call (DNC)

A central workspace suppression list hard-blocks opted-out contacts before proactive marketing outreach:
  • Universal mode blocks every linked channel after an opt-out on any one channel.
  • Per-channel mode blocks only the channel where the opt-out was received.
  • Phone, email, contact identity, scope, source, reason, and the mode at opt-out are retained for auditability.
  • Campaign dialing checks the active voice suppression immediately before dispatch and fails closed when consent status cannot be verified.
Manage the mode and records under Settings → Data → Suppression. See Consent & compliance for cross-channel behavior, restoration semantics, REST examples, and MCP tools.
  • GET /api/v1/suppression-list — list active records
  • POST /api/v1/suppression-list — record an opt-out
  • DELETE /api/v1/suppression-list/{id} — restore consent without deleting the audit history
The same operations are available through MCP.

AMD & voicemail

Answering machine detection classifies who picked up into one of five categories: What the assistant does on a machine — hang up silently, or leave a message after the beep — is configured on the assistant (Settings → Conversation → Voicemail), not on the campaign. The AMD result is stored on the call and feeds the lead status, so retry logic can distinguish “mailbox” from “never picked up”. Turn on retry_on_voicemail to keep dialing until a human (rather than a machine-* category) answers.
Voicemail message + retry at a different hour is the highest-ROI combination for cold outreach: the mailbox message primes the lead, the retry catches them live. Pair the assistant’s voicemail message with the campaign’s retry_on_voicemail toggle.