There are two ways to call a list, and new users reasonably assume one is the newer version of the other. They are not. The difference is where the list comes from and who is driving.
Campaigns: the list arrives as a file
A campaign is built around a CSV upload. Somebody exports applicants from an ATS or a form tool, uploads the file, and the extra columns become variables the agent can use — so the call can open with the person's name and the role they applied for.
Reach for a campaign when:
- The list arrives as a spreadsheet from someone else.
- A non-technical person needs to run it without help.
- You want the results exported back out as a file at the end.
This is the common case for recruitment, and the whole flow is designed around it: upload, review, start, export.
Batches: the list comes from your system
A batch is the same idea assembled over the API. Create it, push people into it in as many calls as you like, then start it when you are ready.
Reach for a batch when:
- Your own application decides who gets called.
- The list is built up over time rather than known in advance.
- You want to schedule the start rather than press a button.
The three-step shape — create, fill, start — is deliberate. A half-uploaded list cannot begin dialling on its own, which matters when the list is arriving from a script that might fail halfway.
What they share
Both pace calls by the workspace's concurrency limit, both support pause, resume, stop and retry-failures, and both produce the same transcripts and ratings. Neither is more capable than the other; they are two front doors to the same dialer.
The third option people miss
Neither is right when calls must go out now. Both pace calls deliberately, which is correct for a screening list and wrong for an alert.
For that there is a single request that creates the calls and dials them all in parallel — no list to build, no start step. If your trigger is an event in another system rather than a list on a desk, that is the shape you want. It is what sits behind things like security alerts and outage notifications, where the delay of a paced batch would defeat the purpose.
Choosing, in one line
If a human uploads a file, use a campaign. If code builds the list, use a batch. If something is on fire, use neither.
