Think of each campaign as its own outbound agent
You do not write a fresh prompt for every call. You write one per scenario, save it as a campaign, and reuse it.Appointment reminder
“Confirm tomorrow’s appointment. If they cannot make it, offer to rebook.”
No-show follow-up
“They missed today’s appointment. Be kind, offer the next available slot.”
Promotion
“Tell existing customers about this month’s offer. No hard sell.”
Renewal nudge
“Their plan ends this month. Ask if they want to continue.”
Review request
“Thank them for their visit and ask for a quick review.”
Lead follow-up
“They filled in the form. Find out what they need and book a call.”
1
Create the campaign once
Dashboard -> Outbound calls -> New campaign. Name it after the scenario, choose the agent and from-number, write the prompt, add recipients, launch.
2
Reuse it next time
Open the campaign and choose reuse. The prompt, agent and from-number come back. Replace the recipients, change a date or a detail if needed, launch again.
3
Build a small library
Five or six campaigns cover most businesses. After that, running a campaign is a two-minute job - pick the scenario, paste the numbers, go.
Trigger one call
The response returns a
call_id straight away. The call itself happens in the background: your carrier dials, the agent waits for pickup, then the conversation runs.
What instructions does the agent follow on an outbound call?
Exactly three things, in this order:- Base behaviour - how to speak on the phone, interruptions, silence, endings. Built in.
- Your prompt - sent with the call or saved on the campaign, as a
CALL PURPOSEblock. - What is on file about the person - see below.
What happens on the receiving end
1
Your carrier dials
From the number you chose, as an ordinary phone call.
2
Voicemail is detected
The agent listens to the first thing it hears. An answering machine ends the call - it does not talk to a recording. Switch on Leave a Voicemail Message and it speaks your message first. Your carrier’s own detection can run as well (
amd_enabled): it hangs up earlier and cannot leave a message, at a small charge per answered call. See Voicemail detection.3
A person answers
The agent waits a moment, introduces itself and states why it is calling.
4
The conversation
From here it behaves like any call: the person’s speech becomes text, the agent decides what to say, a natural voice speaks it. Interruptions and silence are handled. The agent can transfer, text, take keypad input or book, if your prompt tells it when.
The agent already knows the person it is calling
Before the call connects, Nixflex looks up what is on file for that number on this business number and puts it into the agent’s instructions. No CSV wiring, no placeholders.
Without it (other platforms): you upload a CSV with a dozen columns and wire each into the prompt. Miss one and the prompt breaks.
With it (Nixflex): you upload numbers and one prompt. The agent already has Sarah’s name, email and reference, and confirms them with her before doing anything.
Details are scoped to the business number that is calling, so one customer’s records never surface on another customer’s number. You can also send details live for one call from your own system with the pre-call gate. See Caller context.
Can the agent get through a phone menu?
Yes, on outbound calls. If the number it calls answers with “press 1 for sales”, the agent can navigate it. Your prompt teaches it when to use[IVR], [PRESS: 2] and [IVR_END], and the agent’s Phone menu wait setting says how long to hold for a real person before giving up. While it waits, silence timers pause so hold music never ends the call. See IVR navigation.
Batch campaigns
To call many numbers, create a campaign. One request queues every call.- Every extra column on a recipient becomes a variable for that call -
{{first_name}},{{appointment_time}}- and is also handed to the agent as context even if the prompt never mentions it. schedule_typeisnoworschedule; withschedule, give the date and time to start.- Calls run inside your account’s concurrency limit - the number of calls allowed at once per API key, shared with inbound, 10 by default - so a campaign of 500 does not flood your carrier.
- In the dashboard, campaigns use numbers added in the dashboard; numbers imported through the API are run through the API.
What happens if nobody answers?
The call ends without a conversation and the outcome is recorded on the call record and sent to your webhook asended_reason - for example voicemail_detected when a machine answered, or callee_hangup when the person hung up. No answer and busy are recorded too. In a campaign, each recipient’s outcome is tracked separately, so you can see who was reached.
Voicemail behaviour
- Message configured: the agent speaks exactly that message, then hangs up.
- Nothing configured: the agent hangs up without speaking.
- The call is recorded with
voicemail_detectedand billed per second like any other connected call. - Where the message lives depends on how the number was imported: on the agent for dashboard-added numbers, on the number for API-imported ones. See Voicemail detection.
Useful for
Appointment reminders the day before · No-show follow-ups · Lead qualification after a form submission · Renewal nudges · Satisfaction and review requests · Re-engaging cold contacts · Debt collection, with proper compliance on your side.Related
- Create outbound call - every field
- Batch create - campaigns through the API
- Variables -
dynamic_varsand recipient columns - Voicemail detection - both layers, and the message
- IVR navigation - getting through phone menus
- Inbound calls - the other direction