
Outbound atwholesale cost
Upload a list and the dialer cleans it, suppresses DNC numbers and calls inside your window, with up to 128 live calls, 13 CLI rotation modes and a spend cap.
In short
Upload a list and the dialer cleans it before the first dial: duplicates removed, invalid numbers dropped, DNC numbers suppressed.
Set up to 128 live calls, a calling window in the time zone you choose, retries and a spend cap, then pick one of 13 CLI rotation modes, from local presence to best connect rate. Run it from the dashboard, the API, or by telling the dialer what to do in plain English, and read answer rates, call length, cost and retry performance for every campaign.
What you can do
- 01
Campaign engine
Create, pace and monitor voice and SMS campaigns.
- 02
List hygiene
Dedupe, validate and DNC-suppress numbers before the first dial.
- 03
Retries and calling windows
Set attempts, retry delays and calling hours in the time zone you choose.
- 04
CLI rotation
13 rotation modes with caps, cooldowns and local-presence matching.
- 05
AI voice agents
Attach an agent and it holds the conversation on every answered call.
- 06
Campaign analytics
Dispositions, answer rates by hour and day, retry effectiveness, failure causes and cost.
From a list to a running campaign
Dialling in four steps
Build it in the campaign wizard, through the API, or by telling the dialer what you want in plain English. All three drive the same engine.

Pick a dialer-ready route
Buy a route its seller has enabled for campaigns. Its rate, caller ID handling and billing increment are shown before you buy. Not sure it is live? Ring every route in your search once with a caller ID test first.
Load the audience
Paste numbers, upload a CSV or Excel file in any column layout, or use a saved list. Numbers are converted to international format, and duplicates and invalid entries are set aside with the reason.
Set the rules
Choose the calls to run at once, the calling window and its time zone, attempts per number, a spend cap and a start time. Attach a caller ID set, a rotation mode and an AI voice agent.
Launch and steer
Start, pause or stop whenever you like. Live stats show calls in flight, connect rate and spend against the cap, and the analytics show which hours, destinations and retries are paying off.
Live control
Every guardrail on one screen
A running campaign shows exactly where it stands: live calls against the concurrency you set, the connect rate, the average call length, and spend against the cap. The rules sit right beside the numbers, and the engine checks them before every batch of calls. Outside the calling window nothing new is dialled, and when spend reaches the cap the campaign pauses itself and tells you why.
- Up to 128 simultaneous calls per campaign
- Calling windows in any time zone, including windows that run past midnight
- A spend cap that pauses the campaign and sends you a notification
- Funds reserved per call before it dials, with an automatic pause when the balance runs low
- Calling window
- 09:00-20:00 Europe/London
- Retries
- 3 attempts, 30 minutes apart
- Caller IDs
- UK local set, best performing first
- Budget cap
- $50.00, pauses when reached
Caller ID rotation
Thirteen ways to present a number
The number on the screen decides whether the call gets answered. Build caller ID sets from numbers you paste or upload, numbers you own in the DID Store or your revenue-share numbers, then choose how each campaign rotates them: local presence by area code, the same caller ID for the same person every time, strict caps per day, hour or campaign, cooldowns between reuses, or best performing first. Every call feeds its outcome back, so the connect rate for each caller ID stays current.
- Daily, hourly and per-campaign caps enforced on every call, even at full concurrency
- Weak caller IDs rested automatically below the connect rate you set
- If no caller ID is eligible, the number waits rather than going out with the wrong one
- Connect rate, call count and last use tracked for every caller ID
Prefer caller IDs with the strongest connect rate; rest weak ones.
- +44 7700 90010144.0%1,02038 / 1,020Active
- +44 7700 90010241.5%98040 / 980Active
- +44 7700 90010336.4%94033 / 940Active
- +44 7700 90010411.9%2600 / 260Resting
Also available: Random per call, Round robin, Max N per day, Once (or N) per campaign, Max N per hour, Cooldown between reuses, Same caller ID per destination, Local presence (area match), Same country, Weighted, Least recently used, Random mix.
Talk to your dialer
Ask why. Tell it what to change.
Type what you want in plain English and the dialer does it: create a campaign, load a list, set the concurrency, calling window, retries or budget, then start, pause or stop. Ask how a campaign is doing and it reads the analytics before it answers, from dispositions and SIP failure causes to the best hour to call and cost per answered call, then recommends what to change and offers to make the change for you.
- Reads live stats and campaign analytics before it answers
- Every action it takes is listed under its reply
- Sees and changes only your own campaigns, numbers and caller IDs
- Speak your command instead of typing it, straight from the browser
Why are so many calls failing on France Mobile?
France Mobile has dialled 1,840 numbers at a 21.6% connect rate. The biggest failure causes are 486 Busy here on 212 calls and 480 Temporarily unavailable on 164. Answers peak around 18:00 Paris time, so retrying those numbers later in the day should win a share of them back.
Campaign Analytics
Retry busy and no-answer numbers twice, 30 minutes apart
Done. France Mobile now makes up to 3 attempts per number, 30 minutes apart. I paused it to make the change. Shall I resume dialling?
Paused campaignSet retry policy
Campaign engine
Everything a campaign needs, nothing bolted on
Concurrency, compliance, caller IDs and reporting live in one engine, so the rules you set are the rules every single call obeys.
Concurrency up to 128
Set how many calls run at once, from 1 to 128 per campaign, and a maximum length per call. As each call ends the next one starts, so throughput follows the number you chose.
Calling windows
Dial only between the hours you choose, in the time zone you name, including windows that cross midnight. Outside the window the campaign waits, then carries on by itself when it opens.
Retries that make sense
Busy, unanswered and failed calls get up to 10 attempts per number, from 1 minute to 24 hours apart. Answered calls are never redialled, and each number appears only once in a campaign.
A hard spend cap
Give a campaign a budget and it pauses itself when billed spend reaches it, with a notification saying so. A low balance pauses it too, before a call can overspend.
Clean lists
Every number is normalised to international format. Duplicates, whether in the upload or already on the campaign, are skipped, invalid entries are reported with a reason, and you can preview a cleaned list before saving it.
Compliance on every dial
Your do-not-call list and the platform-wide list are checked at the moment each number is dialled, and destinations under embargo are never called. Skipped numbers are never billed.
Analytics that explain
Dispositions, connect rate and ACD, answer rate by hour and day of week, results by destination prefix, retry effectiveness, SIP failure causes, and cost per answered call and per minute.
AI voice or SMS
Attach an AI voice agent to hold the conversation on every answered call, or run an SMS campaign with your own message and sender ID over an SMS route. Either can start at a time you schedule.
Why run outbound here
Wholesale routes in, answered calls out
A hosted dialer is usually sold by the seat, with the calls priced into a bundle. Here the dialer runs over routes you buy on the marketplace, so the cost of a call is the route's rate and nothing is hidden inside it.
No seats, no bundle
There is no dialer licence and no per-seat charge. Each connected call costs the route's own rate on its billing increment plus a platform fee capped at $0.001, and a call that does not connect costs nothing.
Real levers on answer rates
Local presence rotation, per-caller-ID caps, automatic resting of weak numbers and the best hour to call, all measured on your own traffic, give you concrete ways to lift the connect rate.
Compliance the engine enforces
Do-not-call checks on every dial, calling windows by time zone, embargo screening and a hard budget are applied by the dialer itself, not left to a spreadsheet scrub before upload.
One account for the whole motion
Routes, caller IDs from your own numbers, AI voice agents, caller ID testing and SMS all sit on one login and one prepaid balance, with nothing to wire together between vendors.
Before and after
Outbound without the usual overhead
Where a campaign usually leaks money or time, and what the dialer does about it.
- Pricing
- The usual way: A charge per seat, plus minutes at a bundled rate.
- On PacketExchangeNo seats. The route's own rate per connected call, plus a fee capped at $0.001.
- Termination
- The usual way: Whichever carrier the dialer vendor happens to resell.
- On PacketExchangeRoutes you choose on the marketplace, with tier and caller ID handling stated.
- Caller ID
- The usual way: One number, or a handful swapped around by hand.
- On PacketExchange13 rotation modes with caps, cooldowns and local presence, enforced on every call.
- Do-not-call
- The usual way: A scrub before upload that goes stale while the campaign runs.
- On PacketExchangeChecked against your list and the platform list at the moment of every dial.
- Budget
- The usual way: Overspend discovered when the invoice arrives.
- On PacketExchangeA hard cap per campaign that pauses it the moment spend reaches it.
- Reporting
- The usual way: A CSV export and an afternoon in a spreadsheet.
- On PacketExchangeBuilt-in analytics, and a dialer you can simply ask why calls are failing.
| The usual way | On PacketExchange | |
|---|---|---|
| Pricing | A charge per seat, plus minutes at a bundled rate. | No seats. The route's own rate per connected call, plus a fee capped at $0.001. |
| Termination | Whichever carrier the dialer vendor happens to resell. | Routes you choose on the marketplace, with tier and caller ID handling stated. |
| Caller ID | One number, or a handful swapped around by hand. | 13 rotation modes with caps, cooldowns and local presence, enforced on every call. |
| Do-not-call | A scrub before upload that goes stale while the campaign runs. | Checked against your list and the platform list at the moment of every dial. |
| Budget | Overspend discovered when the invoice arrives. | A hard cap per campaign that pauses it the moment spend reaches it. |
| Reporting | A CSV export and an afternoon in a spreadsheet. | Built-in analytics, and a dialer you can simply ask why calls are failing. |
Built for
Who runs traffic on it
Sales outreach
Work the whole list with local-presence caller ID and scheduled retries.
Reminders and notifications
SMS campaigns, or an AI agent that confirms by voice.
Surveys and collections
Structured programmes run by an AI agent that records every answer.
Pricing
Pay per connected call, not per seat
- dialer licence or seats
- $0
- the most the fee can be per connected call
- $0.001
- for calls that do not connect
- $0
The dialer has no licence fee and no seats. A connected call is billed at the rate of the route it runs on, rounded by that route's billing increment, plus a platform fee of no more than $0.001 per call.
Calls that ring out, hit a busy tone or fail are not charged, and numbers skipped for do-not-call are never billed. An attached AI voice agent adds a flat rate per AI-connected minute, and SMS campaigns are billed per segment at the route rate.
What you pay for
Route rate
The per-minute price of the route you bought, applied on its own billing increment.
Platform fee
Never more than $0.001 per connected call, and nothing on calls that do not connect.
Budget per campaign
A hard spend cap that pauses the campaign, on top of the protection of a prepaid balance.
AI voice minutes
When an agent is attached, one flat rate per AI-connected minute, billed per second.
No seats, no dialer licence and no minimum spend.
Questions
Outbound, answered
The questions buyers ask before they start. Anything not covered here is in the help centre, or ask the team directly.
How is pacing controlled?
By concurrency. You set how many calls run at once, from 1 to 128 per campaign, and a new call starts as each one ends. There is no predictive over-dialling: the calls in flight never exceed the number you set.
Who talks to the person who answers?
The AI voice agent you attach to the campaign. You write its brief in plain English, pick a voice and test it before a single call goes out, and it records what it learns as structured fields. For messages instead of calls, run an SMS campaign.
Which caller IDs can I present?
Numbers you paste or upload in international format, numbers you own in the DID Store, and your revenue-share numbers, grouped into sets and rotated by one of 13 modes with caps and cooldowns. Present only numbers you have the right to use.
How are do-not-call numbers handled?
Every number is checked against your own do-not-call list and the platform-wide list at the moment it is dialled, not only at upload. A suppressed number is marked skipped and never billed.
What happens when the budget or the balance runs out?
When billed spend reaches a campaign's cap it pauses itself and you are notified. Each call's worst-case cost is reserved before it dials, so if the balance cannot cover the next call the campaign pauses instead of overspending.
Can I run campaigns from my own systems?
Yes. Campaigns, numbers, caller ID sets, start, pause and stop, live stats and analytics are all available through the API, and campaign.started and campaign.completed webhooks tell your systems when a campaign begins and ends.
Can I try a campaign without spending money?
Yes. A campaign created with a test API key runs as a simulation: it applies the same do-not-call and embargo checks and works through its numbers, but places no real calls and never touches your balance.
Can a campaign start on its own?
Yes. Give it a start time and it launches itself when that time arrives, then dials only inside its calling window. You can pause it at any point and start it again later.