Skip to content

Campaigns

Describe outbound campaigns: how Get2Dial paces calls, screens answers, and bridges live answers to agents.

A campaign (campaigns table) pairs lead lists with a dialer mode, pacing parameters, optional AMD, and a disposition set. The control-plane pacer runs on a 1s tick: it lists running campaigns, selects and claims eligible leads (after the compliance gate), and publishes an originate request to one edge. The edge call engine places the carrier leg, runs AMD, and bridges human answers to an available agent.

Four dialer modes (dialer_mode):

Mode Target calls per tick
preview exactly the agent-confirmed dials
progressive available − inflight (one per free agent)
power round(overdial_ratio × available) − inflight
predictive round(available ÷ connect_rate) − inflight − reserve

Whatever the mode computes, the abandonment clamp is the final safety bound, keeping the live abandonment rate under the campaign’s abandonment_rate_cap (default 3%).

Key campaigns columns:

dialer_mode preview | progressive | power | predictive
status draft | running | paused | archived
overdial_ratio power-mode multiplier (>= 1.00)
abandonment_rate_cap percent cap (default 3.00)
abandonment_connect_window_ms agent-connect deadline (default 2000)
amd_enabled / amd_timeout_ms AMD on/off (default on) / timeout (default 4000)
max_attempts_cap lifetime attempts per lead (default 3)
max_daily_attempts per-lead daily cap in the lead's timezone (NULL = none)
record_calls record the carrier leg (default false)
voicemail_audio_asset_id audio-library asset dropped on AMD = machine
default_timezone default lead timezone (default UTC)
metadata.carrier_id optional per-campaign carrier override

Calling windows live in campaign_calling_hours (evaluated in the lead’s timezone); per-disposition retry timing in campaign_retry_cadence.

flowchart LR
  L[Lead list] --> P[Pacer selects + claims lead]
  P --> G{Compliance gate}
  G -- suppress --> X[Close / skip]
  G -- allow --> E[Edge dials carrier]
  E --> AMD{AMD}
  AMD -- human/unknown --> A[Bridge to agent]
  AMD -- machine --> VM[Voicemail drop + record voicemail]
  A --> Z[Disposition + CDR]
  • AMD timeout resolves to unknown, which connects (fail-open) — only a detected machine is treated as an answering machine.
  • The pacer is centralized but origination is edge-autonomous: the carrier-leg → AMD → bridge path runs locally with no synchronous central call.
  • A per-campaign metadata.carrier_id bypasses prefix routing and forces a specific carrier.