Call five hundred people. Read one spreadsheet.

Bulk AI phone calls take a list of contacts and have an AI ring each one, personalising what it says from that contact’s own details. Every call is classified into an outcome, the answers you asked for come back as typed fields, and the whole run exports as a spreadsheet with the transcripts attached.

Campaign calls need a card on file. US voice is about 2.6¢ per talk minute, billed in whole minutes — and concurrency, per-number pacing and a daily voice cap all bound how fast a big list can spend.

Spring check-up reminders running

Mon–Fri · 09:00–17:00 · America/Los_Angeles

318 of 500 · 64%

214 answered
68 voicemail left
31 no answer
5 wrong person
Six sources built this list. Nothing dials outside the window, and the outcome split decides the retry — no-answer and busy get another attempt, wrong person never does.

Or just ask for it

Five hundred calls, started from a sentence.

The confirmation comes back to the same thread you asked in.

from:octo campaign
OctoConfirm: call 512 contacts — YES 8804 — Weekdays 9–5 their time, est. $91.209:14am
OctoRun finished — spreadsheet attached — 512 called · 318 answered · 96 interestedThu
Octo19 retried overnight — No-answer and busy onlyWed

InboxConfirm: call 512 contacts — YES 8804

Dme9:12 AM

Ring everyone on the trade list. Ask if they want the autumn catalogue and get the best email for it.

OOcto9:14 AM

512 contacts, two extraction fields (wants_catalogue, best_email), weekdays 9–5 in each contact’s timezone. Est. $91.20. Reply YES 8804 — one use, 24 hours, list frozen now.

Octoonline
how far through are we2:40 PM ✓✓
318 of 512. 201 answered, 96 said yes to the catalogue, 14 wrong number.2:40 PM
does it say who’s interested?2:41 PM ✓✓
Yes — wants_catalogue is a field on each one, so it’s a column in the export rather than something to read out of transcripts.2:41 PM
pause it, it’s a bank holiday in ireland2:43 PM ✓✓
Paused. Nothing mid-call was cut. Say the word and it resumes at 319.2:43 PM
Message
#omniocto4 members
DWDana4:55 PM

@Octo give me the 96 who said yes

OOctoAPP4:55 PM

On it 🔧(runningget_campaign_results…)

CSV with your two fields as columns, plus outcome and a link to each transcript. (edited)

✅ 3📈 1

2 replies · last reply 12m ago

MRMarcus5:10 PM

tag them all “catalogue-autumn” too please

Message #omniocto

Email octo@agent.omniocto.com · WhatsApp 1-MAN-ASK-OCTO · Slack #omniocto

Six ways to build the list

The audience is usually the hard part. It should not be.

Most tools accept a CSV and stop there, which means every campaign starts with an export and a spreadsheet clean-up. These six all feed the same campaign and can be mixed in one run.

A CSV upload

The export from whatever system you already run. Columns you map once become the variables the script can use.

A saved list

A contact list you keep and reuse — last month’s enquiries, the lapsed customers, the waiting list.

Everyone with a tag

Pick a tag and the audience is whoever carries it today, rather than whoever carried it when you last exported.

A segment you described

Describe the group in plain English and it becomes a live segment — the membership is recalculated rather than frozen.

A few rows typed in

For the five people you thought of afterwards. No file, no import, no separate campaign.

A sentence to Octo

Say who you mean and let Octo assemble the list from your contacts, then look at what it picked before anything dials.

Sources combine. A saved list plus a tag plus four typed rows is one campaign with one set of results.

How you'd hand it over

Audience, script, answers.

1

Assemble the audience

Mix the sources, then look at the count.

Build the list from any of the six sources, see how many people that actually is, and save it as a list you can run again.

"Everyone tagged lapsed who has not booked since March — call them about the spring check-up offer."
2

Say what the call is for

And what you need to know at the end.

Describe the conversation in plain words, and define the fields you want back. Contact details drop into both, so each call is about that person rather than about the list.

3

Read it as a spreadsheet

Your questions as columns, one row per person.

Every call carries an outcome, the captured fields and the full transcript. Export the run, or work the exceptions from the inbox where each call sits on its contact.

✓ 500 called · 318 answered · 96 voicemail · 61 no answer · CSV ready

What is actually happening

The difference between a campaign and a robocall.

Personalised into the script and the instructions

A contact’s own details are substituted into what the agent says and into how it has been told to behave — not just into a greeting line. The call is about that person from the first sentence.

per-contact variables · script and prompt

Up to twenty typed fields per campaign

You define the questions before it runs. A field can be a fixed set of allowed values, so the answer comes back as one of your own words rather than a sentence somebody has to interpret. The fields are the columns of the export.

up to 20 fields · fixed-choice answers · CSV export

Thirteen outcomes, not "success" and "failure"

Answered by a human, voicemail, no answer, busy, disconnected, unreachable, wrong person, hung up early, reached an IVR, and more. The retry policy names which of those are worth another attempt, so nobody is rung back for saying no.

13 outcomes · retry only on the ones you choose

Pause, resume, cancel — while it is running

A campaign in flight can be held and picked up again, or stopped outright. Pausing prevents new calls rather than cutting off a conversation already happening.

pause · resume · cancel

You confirm you may call these people

Creating a campaign that actually contacts anyone requires a compliance acknowledgment first — a deliberate gate rather than a checkbox buried in settings. Do-not-contact is enforced separately with a full audit history, and the AI disclosure is on by default.

launch-time acknowledgment · two-layer DNC · disclosure default-ON

It cannot dial as fast as it physically could

Concurrency is capped, sending is paced per number, and a daily voice-minute ceiling applies per workspace, with alerts at 50%, 80% and 100% of budget. A five-hundred-person list is bounded before it starts.

concurrency cap · per-number pacing · daily voice cap

Questions

The things people actually ask.

Where does the list come from?
Six places, and they combine into one campaign: a CSV you upload, a saved contact list, everyone carrying a tag, a segment you described in plain English, a handful of rows you type in by hand, or a list Octo assembles when you describe who you mean. Most real campaigns are a saved list plus a few extras.
Does everyone hear the same script?
No. Contact details are substituted into both the script and the agent’s instructions, so the call opens with the right name, the right appointment, the right order number. The structure is shared; the specifics are per person.
How do I know what happened on each call?
Every call is classified into one of thirteen outcomes — answered by a human, voicemail, no answer, busy, wrong person, hung up early, reached an IVR, and so on. That sits alongside the transcript and the fields you asked the agent to capture.
Can I get the results into my own system?
Export the run as a CSV. The fields you defined become the columns, so the export has your questions as headings rather than a wall of transcript to read. There is no write-back into a CRM or ATS — the export is the handoff.
Can I stop it mid-run?
Yes. A running campaign can be paused, resumed, or cancelled. Pausing stops new calls being placed; it does not cut off a conversation already in progress.
What stops this being used badly?
A compliance acknowledgment is required before a campaign that actually contacts anyone can be created — you confirm you have the right to call these people. Do-not-contact is enforced separately with an audit trail, and the disclosure telling people they are speaking to an AI is on by default.

Start

Point it at the list you have been avoiding.

Campaign calls need a card on file. US voice is about 2.6¢ per talk minute, billed in whole minutes — and concurrency, per-number pacing and a daily voice cap all bound how fast a big list can spend.