Skip to content

CX Outbound Campaigns

Outbound campaigns dial leads from a list and connect answered calls to agents on a bound queue. Use Preview when agents should review lead details before accepting, Progressive when the dialer connects the customer first and bridges to an agent when one is available, or Predictive when the dialer paces multiple outbound lines ahead of free agents to raise occupancy while holding a target abandon rate.

Campaigns share the bound queue’s agent hunt strategy, login/logout, wrap-up, skills routing, and disposition rules. Inbound queue calls always take priority — the dialer runs only when no customers are waiting in the bound queue and agents are available.

Architecture

flowchart LR
  A[Leads CSV or CRM API] --> B[Campaign]
  B --> C[Dialer]
  C --> D[Lead phone]
  D --> E{Answered?}
  E -->|Preview| F[Agent preview UI]
  F --> G[Agent accepts]
  E -->|Progressive or Predictive| H[Customer connected]
  H --> I[Queue bridges agent]
  G --> J[Bound queue]
  I --> J
Component Role
Campaign Stores dial settings, schedule, caller ID, and lead source configuration in the Portal.
Leads Per-number records with priority, retry/cool-off counters, and CRM metadata.
Dialer QVOICE Platform queues service selects leads, places outbound calls, and respects campaign schedule and timezone windows.
Bound queue Agents who handle connected campaign calls; queue strategy and member list apply.
Agent desktop (UCP) Shows lead name, number, ticket ID, and campaign context on preview or connect. See User Guide.

Campaign types

Type Customer experience Agent experience
Preview Phone rings; on answer the call is held until an agent accepts. Lead card appears first; agent reviews details and clicks to connect.
Progressive Phone rings; on answer the customer is connected immediately. Agent is rung after the customer answers; optional greeting plays if agent SLA is exceeded.
Predictive Same connect path as Progressive after answer. Same agent hunt after answer; the dialer places extra outbound lines timed to free agents so occupancy stays high under an abandon-rate goal.

Progressive-only options

When Type is Progressive or Predictive, additional SLA fields appear:

Option Description
Customer wait for Agent SLA (s) Seconds the customer may wait in silence for an agent to answer before optional greeting audio plays. Default 3.
Greeting post Lead wait SLA Media file played to the customer when agent SLA is exceeded (optional). Without it, the customer waits in silence until Agent Dial Timeout.
Agent Dial Timeout (s) Maximum seconds to ring agents for this lead. If no agent answers, the customer is transferred into the campaign queue with hold music. For Predictive, a typical starting value is 15.

Predictive dialing

Predictive campaigns keep agents busy by dialing ahead of free capacity: the system estimates how many agents will be free when leads answer, admits unbridged outbound lines accordingly, and slows or stops overdial when measured abandon approaches the campaign goal (for example 3%).

Use Predictive when you have enough logged-in agents for stable pacing (often 15+ recommended) and want higher occupancy than one-at-a-time Progressive dialing. Prefer Progressive or Preview for small teams, highly regulated lists that must stay 1:1, or when agents must review every lead before connect.

What Predictive does

Behavior Description
Goal-driven pacing Max abandon rate is a setpoint. Under goal, the dialer may raise its dial level; near goal it tapers; only panic collapses to true 1:1.
Warm start Cold campaigns dial conservatively (near 1:1 in answer units) until enough live answers and handle-time samples exist. An empty answer-rate window uses a 1.0 prior (true 1:1), not a fictional low answer rate.
Free-agent forecast Estimates how many agents will free within the answer horizon (linear, exponential, or empirical talk-time model), then applies hit/miss forecast bias when enabled (on by default).
Line sizing Converts free-agent capacity into a target count of unbridged lines (mean, tail default, or rate-based).
Burst capacity latch Every placed dial opens or joins a burst cohort that freezes expected agent demand until those legs drain or the burst TTL expires — so mid-burst idle refill cannot strand agents or double-authorize.
Idle floor When fill is done, the dialer still climbs toward enough lines to keep idle agents busy (including an AR-aware floor when answer rate is low), without ignoring abandon brakes.
Abandon treatment If a live answer cannot be bridged in time: play safe harbor media then disconnect, or hang up immediately.
Inbound still wins Same as other campaign types — waiting inbound queue customers pause outbound dialing.

An abandon for pacing is a live-answered lead that never reaches an agent (true abandon), or — if you select the compliance definition — also bridges that exceed Customer abandon wait. Both rates can be reported; only the selected definition drives brakes.

Modes (what operators see)

Mode When Behavior
Warm-up Cold samples / below min agents for predictive Conservative admit; trusted answer rate converts to 1:1 in answer units.
Predictive Warm and under the soft abandon band Forecast E_free, size lines, adapt dial level upward when safe.
Taper Soft band, or latched hard band Dial level steps down; hard band keeps predictive answer-unit sizing and continues updating forecast bias (it does not pin the target to idle). Dial level cannot step up while hard-latched.
Panic 1:1 Abandon ≥ goal × panic ratio (sticky) Target pins to idle agents; placement still capped per tick; cohort claim is true 1:1 until recover hysteresis clears.

Hard band is a brake, not panic

Hard-band taper is meant to back off overdial while hit/miss bias corrects the forecast. Only panic forces line 1:1. If abandon sits just under the panic trip while mode stays panic, that is sticky hysteresis working — not a stale reading.

How the algorithm works

At each pacing tick the dialer roughly:

  1. Measures logged-in / idle agents, unbridged outbound lines (bridged talks do not block refill), answer rate, average handle time, and governing abandon rate in a sliding window.
  2. Chooses a mode — warm-up, predictive, taper (soft or hard), or panic 1:1 when abandon is severely over goal (panic is evaluated first).
  3. Forecasts free agents at the expected answer time (E_free), corrected by hit/miss forecast bias when enabled (bias stays live in hard-band taper; frozen in warm-up / panic).
  4. Sizes lines from that capacity and answer rate, applies the idle floor when needed, then caps (max calls per agent, max dials per tick, optional CPS, target step-up slew).
  5. Adapts dial level on a wall-clock interval (not every tick): step up when safely under goal, step down when abandon rises (no headroom-up while hard-latched).
  6. Places or denies the next lead dial inside a burst cohort (AR-scaled claim for predictive/taper; 1:1 claim for panic / strict warm-up); telephony after answer reuses the Progressive connect path (immediate idle agent or queue hunt, greeting SLA, safe harbor).
flowchart TD
  Tick[Pacing tick] --> Measure[Measure agents AR AHT abandon]
  Measure --> Mode{Mode}
  Mode -->|Cold samples| Warm[Warm-up near 1:1 answers]
  Mode -->|Under soft band| Pred[Forecast E_free and size lines]
  Mode -->|Soft or hard band| Taper[Taper dial level keep answer units]
  Mode -->|Far over goal| Panic[Panic 1:1]
  Warm --> Admit[Admit via burst cohort]
  Pred --> Admit
  Taper --> Admit
  Panic --> Admit
  Admit --> Lead[Place outbound lead]
  Lead --> Answer{Live answer?}
  Answer -->|Yes| Bridge[Immediate agent or hunt / safe harbor]
  Answer -->|No| Clear[Release cohort claim]

Configure Predictive in the Portal

  1. Set campaign Type to Predictive.
  2. Complete Progressive SLA fields as needed (greeting, customer wait, agent dial timeout).
  3. Open the Predictive Configuration section (same collapsible style as General Configuration).
  4. Set Core knobs for abandon goal, pacing profile, and treatment.
  5. Optionally click Predictive Advanced for windows, brakes, estimators, and forecast bias (button becomes Hide Predictive Advanced while open). Labels turn bold when a value differs from the product default. Some planned fields are read-only until the dialer wires them.
Core fields
Field Default Why it exists How it is used
Max abandon rate (%) 3 Regulatory / business abandon goal. Saved as a fraction (0.03). Measured abandon is compared to this goal to raise or lower dial level and to open soft, hard, and panic bands.
Customer abandon wait (s) 5 How long a live answer may wait for an agent. Late bridges beyond this count toward compliance abandon when that definition is selected.
Abandon rate definition True abandon Which abandon rate governs pacing. True abandon = answered, never bridged. Compliance abandon = true abandon plus bridges slower than customer abandon wait.
Pacing profile Balanced How hard to chase occupancy vs headroom. Fills brake ratios and dial-level steps: Compliance first (conservative), Balanced, Occupancy first (aggressive). Explicit Advanced keys override the profile. The abandon goal itself is never changed by a profile.
Max calls per agent 2 Overdial ceiling while under goal. Caps concurrent attempts per logged-in agent and feeds the unbridged line ceiling.
No-answer timeout (s) 30 How long a lead may ring. Releases capacity on no-answer; also bases default burst-claim TTL.
Min agents to dial 1 Do not dial into an empty pool. Blocks new predictive dials below this logged-in count.
Abandon treatment Safe harbor Customer experience when bridge fails. Safe harbor plays media then disconnects; Hangup clears immediately.
Safe harbor media Audio for safe-harbor treatment. Played before kick when treatment is Safe harbor. Length is detected from the media file automatically.
Advanced fields

Open Predictive Advanced for tuning. Prefer Core + a pacing profile unless lab or production metrics show a clear need.

Measurement and warm-up

Field Default Why / how used
Answer rate window dials / (s) 100 / 900 Sliding window for answer-rate (AAR). Whichever bound fills first. AAR scales line targets and per-tick dial caps. Shorter windows react faster; longer windows are smoother.
AHT window calls 50 Recent bridged calls for average handle time used by the free-agent forecast.
Warmup live answers 8 Live answers required before leaving conservative warm-up.
Warmup exit ratio 0.6 Sticky warm-up exit so the campaign does not flap in and out of warm-up and re-lock dial level at 1:1.
Min AHT / answer samples 5 / 10 Minimum samples before AHT or AAR is trusted for aggressive pacing.

Admit rate and dial level

Field Default Why / how used
Max dials per tick 2 Hard cap on new dials per tick at AAR 1.0 (scaled by 1/AAR at lower answer rates).
Max CPS empty Optional calls-per-second limit; empty = no CPS clamp.
Burst claim TTL (s) empty Max age of a frozen burst capacity claim; empty → no-answer timeout + 15s. Predictive/taper claims scale with answer rate; panic / strict warm-up claim 1:1.
Adapt interval (s) 15 Seconds between dial-level step up/down adjustments.
Min dial level 1 Floor on the overdial multiplier and idle-floor behavior (1 = keep agents busy; values below 1 allow under-dial).
Dial level step up / down 0.1 / 0.2 How fast dial level rises under goal or falls when abandon rises (asymmetric by design). Hard-band latch blocks step-up.
Max target step up 2 Limits how fast the unbridged line target may grow in one admit tick (reductions are never slewed).

Abandon brakes and panic

Field Default Why / how used
Abandon soft / hard / recover ratios 0.7 / 0.8 / 0.9 Soft opens taper early; hard latches stronger taper with hysteresis. Hard band does not force 1:1 — see Modes.
Panic abandon / recover ratios 2 / 0.75 Enter 1:1 panic at goal × panic ratio (e.g. 6% on a 3% goal); sticky until recover ratio clears.
Abandon min samples 20 Hard/panic entry ignores tiny denominators that would look like 100% abandon; exit is never blocked by the sample floor.

Free capacity and line sizing

Field Default Why / how used
Free estimator Linear linear, exponential, or empirical model of agents freeing within the answer horizon.
Line sizing Tail mean, tail, or rate conversion from free agents to unbridged line targets.
Line sizing alpha 0.12 Overshoot budget for tail/rate sizing (hybrid occupancy); empty uses the abandon goal.
Max line scale 4 Safety ceiling when low answer rate widens line targets.

Agents and forecast bias

Field Default Why / how used
Min agents for predictive 0 Pin progressive-style warm-up below this logged-in count (0 = off).
Recommended min agents 15 Operator guidance; warns when the pool is small (does not hard-block dialing).
Forecast bias enabled On Calibrates free-agent forecast from recent hit/miss (IMMEDIATE connect success vs park-for-hunt). Child fields (gain, max, window, target miss rate, miss weight) appear only when enabled. Miss weight default is 1; Bias gain default is 0.5. Bias keeps updating during hard-band taper so over-prediction backs off without collapsing to panic.

Read-only today (not wired in the dialer)

Field Notes
Allow idle zero overdial Planned flag; admit path does not read it yet (idle floor already refills when agents are free).
AMD enabled / AMD not-sure action Reserved for answering-machine detection Phase 2.
Max target step down Reductions are not slewed; braking uses dial-level and abandon bands.

Start simple

Set Max abandon rate, choose Pacing profile = Balanced, configure Safe harbor media, leave Forecast bias on, and leave other Advanced knobs at defaults unless occupancy or abandon metrics justify a change. Compliance-sensitive accounts should prefer Compliance first and True abandon or Compliance abandon per policy.

Create a campaign

Navigate to the QVOICE Platform Portal:

  1. Open Call Center on the top bar.
  2. Open Campaigns on the left bar.
  3. Click + Add to open Campaign Builder.

QVOICE Platform CX Campaigns list

QVOICE Platform Campaign Builder

The builder is organized into collapsible sections: General Configuration, Predictive Configuration (when Type is Predictive), Select Queue, Schedule, Caller ID, and Leads.

General configuration

Option Description
Name Campaign display name. Use a name that identifies the list or business purpose.
Note Internal description of the campaign goal or audience.
Type Preview, Progressive, or Predictive. See Campaign types and Predictive dialing.
Retries Maximum dial attempts per lead while in cool-off/retry cycle before the lead is marked Failed.
Cooloff (s) Seconds to wait after a failed dial before the lead becomes dialable again. Default 3600 (one hour) is a common starting point.
2nd Cooloff (s) Optional longer cool-off after the second failed attempt. Overrides per-lead CSV value when set on the campaign.
3rd Cooloff (s) Optional cool-off after the third failed attempt.
Dial Cycles Number of full passes through the active lead list per dial cycle window. 0 means no cycle limit.
Dial Cycles Time Time of day (hh:mm) when dial cycles reset. Used with Dial Cycles.
Mask Lead Caller ID When on, agents do not see the lead’s real caller ID on the agent leg (privacy / blind preview).

Select queue

Option Description
Queue Required. Queue whose agents receive connected campaign calls. The queue must exist and have Outbound Calls enabled if your deployment requires it. All queue settings apply: strategy, wrap-up, skills routing, dispositions, and agent login state.

Queue readiness

Configure agents, strategy, greeting/hold audio, and wrap-up on the bound queue before starting a campaign. See CX Queues.

Schedule

Campaign Schedule time groups restrict when the dialer may place calls (account timezone). Add one or more rows with Add.

Field Description
Weekday Days the window applies (monsun). Multi-select.
Start Time Window start (hh:mm, 24-hour).
End Time Window end (hh:mm, 24-hour).
Month Day Start / Finish Optional day-of-month range (131).
Month Optional month filter (112). Multi-select.

A campaign can be Running, Stopped, or Scheduled (running but outside the current schedule window). Use the Play/Stop control on the campaigns list to start or stop dialing.

Caller ID

Option Description
Enabled Turn on campaign-specific outbound caller ID. When off, the dialer uses the queue phone number, then account default caller ID.
Type Account — pick a number from account main numbers. Custom — enter name and E.164 number.
Add Multiple caller ID rows can be configured; the dialer rotates or selects per deployment rules.

Leads

Import leads from a CRM API or CSV upload. While a campaign is Running, you cannot upload, sync, or delete leads.

Import from CRM API

Field Description
Method GET, POST, or PUT to your CRM endpoint.
URL CRM API URL that returns a JSON lead list.
Parse Response Body JSON mapping from CRM fields to lead fields.

Mandatory mapping keys:

Key Maps to
leads_array JSON path to the array of lead objects
first_name Lead first name
number Lead phone number (E.164 recommended)

Optional mapping keys: last_name, priority, ticket_id, dial_retries, first_cooloff, cooloff, notes, skill, extension.

Click Sync on a saved campaign to pull leads from the CRM (disabled while running or when mapping is invalid).

Import from CSV

Drag and drop or select a .csv file, then click Upload on an existing campaign.

CSV columns:

Column Required Description
number Yes Lead phone number
priority Yes Dial priority (lower or higher per your list sort — higher priority leads dial first)
first_name Yes Shown on agent preview
last_name No Shown on agent preview
retries No Per-lead retry override
ticket_id No CRM or ticket reference passed to the agent
cool_off No Per-lead first cool-off override (seconds)
cool_off_2nd No Per-lead second cool-off override
cool_off_3rd No Per-lead third cool-off override
note No Free-text note on the lead card
type No Lead type tag (optional classification)

Download sample CSVqvoice-campaign-leads-sample.csv

Use Export Leads on the campaign editor to download the current lead list.

Dial By Timezone

Restrict dialing to a single daily window evaluated in each lead’s timezone (from phone number or account default).

Option Description
Enabled When on, dial only between From and To times in the lead’s local timezone. Mutually exclusive with Dial by Schedule by Timezone.

Dial by Schedule by Timezone

Fine-grained retry schedule per lead timezone — define allowed days and one or more time windows per day.

Option Description
Enabled When on, the dialer dials a lead only when local time falls inside a configured window. Mutually exclusive with Dial By Timezone.
Window Duration (hours) Default length of each dial window (hours). Default 1.
Day N Day offset from lead creation (0 = same day). Empty day = skip.
Times One or more start times (HH:MM, 24-hour) per day. Add time / Add day (up to 7 days).

Timezone source

Lead timezone is derived from the phone number when possible; otherwise the account default timezone applies.

Lead status

Call Center → Campaigns → Leads Status shows real-time dialer state per lead.

Status Description
Active Lead is ready to be dialed (new).
In Progress Lead is currently being dialed or awaiting retry (dialing, retry).
Cool Off Lead was dialed but not connected; waiting for cool-off timer (cooloff).
Voicemail Agent or dialer marked voicemail; treated like cool-off until timeout.
Successful Lead answered and connected to an agent (success). Shows Agent (name + extension), answer time, and talk time for Progressive and Predictive.
Failed Retry limit exhausted; lead will not be dialed again unless reset.

Agents can set Voicemail from the desktop when they reach an answering machine.

Start and stop

Action Behavior
Start (Play) Campaign status becomes Running (or Scheduled if outside schedule window). Dialer begins selecting eligible leads. A start after Stop cold-resets Predictive pacing state (new warm-up / dial level).
Stop In-progress dials are stopped and moved to retry. Leads in cool-off remain in cool-off until their timer expires, even after restart. For Predictive, the last pacing KPIs remain available on live dashboards until the next start (the dialer instance is not wiped on stop alone).

Inbound priority

The campaign dialer dials only when no customers are waiting in the bound inbound queue and agents are available. High inbound volume pauses outbound dialing automatically.

Campaign activity

Call Center → Campaigns → Activity provides a cradle-to-grave report for dialed leads: dial result, agent name/extension, ring time, talk time, and (for Progressive / Predictive) customer wait SLA and agent SLA columns.

Live queue / agent dashboards can show Predictive pacing KPIs while a campaign is running (and retain the last snapshot after Stop until the next Start): pacing mode, abandon vs goal, dial level, forecast bias / hit-miss, burst capacity, and measured dial CPS. Use those tiles together with Leads Status when tuning profiles or Advanced brakes.

Operational checklist

  1. Create and configure the bound queue (agents, strategy, audio, wrap-up).
  2. Create the campaign — set type, retries, cool-off, queue, schedule, caller ID.
  3. For Predictive: set Core abandon goal, pacing profile, and safe-harbor media; confirm enough agents are logged in (recommended 15+).
  4. Upload or sync leads; verify Leads Status shows Active rows.
  5. Start the campaign during the schedule window.
  6. Monitor Activity, Leads Status (Successful rows should show the answering agent), and live Predictive KPIs — watch abandon vs goal, mode (warm-up / predictive / taper / panic), and adjust profile or Advanced brakes if needed.