Skip to main content
An outbound call is one where Nixflex calls a number for you. Useful for appointment reminders, lead qualification, follow-ups, surveys - anything where the agent reaches out.

Trigger one call

One agent can have many phone numbers. Pass from_number to call from a specific one (this also sets the voice - see Voices). Omit it and the engine uses the agent’s first outbound-enabled number. Import and enable numbers on the phone numbers endpoint before calling.
The response includes a call_id immediately. The actual call happens asynchronously - your carrier dials, the agent waits for pickup, and then the conversation runs.

What happens on the receiving end

1

Your carrier dials

Using the agent’s assigned phone number as caller ID. Standard PSTN call.
2

Voicemail detection runs

The AI reads the first thing it hears. If the call hits an answering machine, the agent leaves a short message built from your prompt and ends the call - no money wasted holding a conversation with voicemail.
3

Human picks up

The agent waits a beat, then speaks. For outbound calls, the agent typically introduces itself before stating the reason.
4

Normal call flow

From here, it behaves exactly like an inbound call - STT, the LLM, TTS, interruption handling, the works.

History-aware outbound

This is one of Nixflex’s biggest differences from Retell and Vapi. When you trigger an outbound call, Nixflex auto-fetches the past call history for the to_number and injects summaries into the agent’s prompt. The agent already knows who it’s calling. Without history-aware outbound (other platforms):
You upload a CSV with name, appointment_time, and 12 other variables. You wire each one into your prompt as {name} and {appointment_time}. If any variable is missing, the prompt breaks.
With history-aware outbound (Nixflex):
You upload phone numbers and a single prompt: “Remind the caller about their appointment tomorrow.” The agent reads the past call summary for that number and already knows Sarah booked Tuesday at 2pm.
You don’t need to wire variables. The agent has memory.

Batch campaigns

For calling many numbers at once, use batch campaigns. One API call creates the campaign and queues all the dials with concurrency control.
If schedule_type is "now", the campaign launches immediately. Use "schedule" and a scheduled_at ISO timestamp to launch later. Each recipient becomes one outbound call. The engine respects a global concurrency cap so you don’t overload your carrier account. See Batch create for the full schema.

Voicemail behaviour

When voicemail is detected:
  • The engine hangs up immediately (does not leave a message by default)
  • The call is logged with voicemail_detected: true
  • You’re not charged for what wasn’t a real conversation
The message comes from your prompt - see Voicemail detection for how to control what it says, or to have the agent hang up without leaving anything.

Useful for

  • Appointment reminders the day before
  • Lead qualification after a form submission
  • Renewal nudges
  • Customer satisfaction follow-ups
  • Debt collection (with proper compliance on your end)
  • Re-engagement of cold contacts
Outbound calling has compliance rules - TCPA in the US, Ofcom rules in the UK, and consent requirements elsewhere. Make sure you have the right to call the numbers you upload. Nixflex provides the infrastructure; you’re responsible for compliance.