Skip to main content

Telephony

Outbound campaigns

Batch calling, pacing and retries.

What a deployment is

A deployment is one campaign instance: a Finn, an audience, a from-number, and a schedule bound together.

Finn + Audience + Phone Number + Schedule = Deployment

The same Finn can run several deployments at once against different audiences or schedules. They are independent and do not share pacing, retries, or budget.

Deployments are created and launched from the dashboard, not through the API. There is no documented endpoint for launching a campaign. Open Dynamic Deployments in the sidebar, or click Deploy from a Finn's page.

Where deployments live

ScreenShows
Dynamic DeploymentsThe launcher. Create new deployments here.
Scheduled DeploymentsDeployments waiting for a future start time.
Live DeploymentsCurrently running, with real-time counts and a live call table.
Deployment AnalyticsIn-progress and completed deployments with metric drilldown.

A scheduled deployment moves to Live automatically at its start time.

Batch types

Standard dials contacts one at a time, or in small concurrent batches depending on your plan. Use it for moderate volume, up to a few thousand contacts, and for cases where gentle pacing matters.

Parallel is an enterprise type that dials thousands of contacts at once. Use it for time-sensitive sweeps where the whole audience must be reached in a tight window.

Parallel fails without enough phone-number capacity. You cannot dial thousands of calls from a single number, so provision a number pool first. See phone numbers and concurrency.

Required and schedule fields

FieldWhat it does
FinnThe agent to run. Must already exist.
AudienceA full audience or a segment. See api-audiences.
From numberThe caller ID. Must be assigned to your account.
Call typeOutbound, inbound, or both.
Start timeWhen dialing begins. Use Now for immediate.
End timeOptional cap. The deployment auto-stops at this time.
Calling hoursPer-contact local-time window, for example 9 AM to 6 PM.
Time zone sourceWhere the contact timezone comes from. Default is country code, overridable per row via a custom field.

Calling hours are evaluated in each contact's local time, so contacts in different zones get called at different absolute times. A deployment that spans days only dials inside the window you set.

Pacing and retries

Advanced fieldDefaultNotes
Max retries2Retry on no-answer, busy, or voicemail.
Retry interval4 hoursWait between retries.
Voicemail behaviorEnd callOr leave a message via TTS.
Compliance disclaimerOffInjects required disclosures, for example a recording notice.

Retries are scheduled at the next valid calling-hour window for that contact, not at the raw interval. A 4-hour retry interval on a contact whose window closed at 6 PM means the retry lands the next morning, not at 10 PM.

If voicemail behavior is set to Leave a message, the platform plays the message and does not retry that contact. Setting both a voicemail message and a high retry cap does not produce repeated attempts.

Numbers on the global do-not-call list are dropped silently from every deployment regardless of which audience they sit in. Manage that list under Settings → Compliance → Do Not Call List. See compliance and recording-consent.

For follow-up logic more complex than a retry cap, such as branching on the call result or sending a text after a pickup, use Sequences rather than retry settings.

Monitoring, pausing, stopping

Live Deployments shows active calls, completed calls with status, a completion-weighted success rate, buffer status, and a live per-call table. Click a row to open the transcript and audio. Health indicators at the top cover Redis buffer health, dispatcher status, and queue backups.

Pause stops new dials. Active calls finish normally, no new cost accrues, and you can resume. Stop does the same and marks the deployment completed, which cannot be reversed. Calls in progress are never cut off mid-conversation.

Before you launch

  • Test the Finn on yourself with Test on Call.
  • Validate the audience. Remove invalid numbers and leftover test numbers from earlier imports.
  • Confirm the from-number is registered and attested for the destination country.
  • Check the calling-hour window against contact local time.
  • Define your post-call analysis fields. Without them you cannot measure the run. See post-call-analysis.
  • Read the cost estimate in the launch confirmation and set a spend cap on early runs.

What goes wrong

SymptomCause
Every call fails with carrier rejectedFrom-number is not registered for the destination country.
Calls connect but the Finn is silentWelcome message is set to defined with an empty script.
Wrong language on the callAn audience language_group or timezone field is overriding the Finn default. See agents-multilingual.
Deployment paused on its ownThe buffer drained because the audience is exhausted, or a budget cap was hit. Check the Live Deployments health panel.
Parallel deployment dials far below the configured rateNot enough numbers in the pool.

Costs are per-call telephony plus per-minute AI cost, rolled up nightly. The confirmation modal estimate is based on average call duration and will differ from the actual charge.