Back to Documentation

Campaigns

Launch automated outbound calling sequences that reach your contacts at scale with intelligent scheduling and real-time monitoring.

What Are Campaigns?

Campaigns are automated outbound calling sequences that allow your AI voice agents to call a list of contacts on a defined schedule. Instead of manually triggering each call, you upload a contact list, assign a voice agent, configure a schedule, and let CallTone handle the rest. The platform dials contacts one by one (or concurrently), conducts the conversation using your agent's script and personality, and logs every outcome for review.

Common use cases include lead qualification calls, appointment setting, customer follow-ups, event reminders, survey collection, and re-engagement outreach. Campaigns are available on the Growth plan and above.

Creating a Campaign

Navigate to Dashboard > Campaigns and click New Campaign. You will be guided through the following steps:

  • Campaign name — Choose a descriptive name such as "Q1 Lead Qualification" or "January Follow-Ups." This is internal only and not shared with contacts.
  • Select an agent — Pick the voice agent that will conduct the calls. The agent must already be created and configured with a system prompt, voice, and any relevant knowledge base documents. Make sure the agent's script is appropriate for the campaign's purpose.
  • Upload contact list — Upload a CSV file containing your contacts. See the Contact List Format section below for column requirements.
  • Assign a phone number — Select the outbound phone number the agent will call from. This number appears as the caller ID for recipients. Numbers must be provisioned in the Phone Numbers section before they can be used.
  • Set the schedule — Define when calls should be placed, including start date, calling hours, timezone, and concurrency limits.

After completing these steps, the campaign is saved in Draft status. Review the settings and click Activate when you are ready to begin dialing.

Contact List Format

Contact lists must be uploaded as CSV files. The file should include a header row followed by one row per contact. The following columns are supported:

ColumnRequiredDescription
phoneYesPhone number in E.164 format (e.g., +14155551234) or 10-digit US format
nameRecommendedContact's full name. Used by the agent to personalize the conversation.
emailNoEmail address. Used for sending appointment confirmations or follow-ups.
companyNoCompany or organization name. Passed to the agent as context.

You may include additional custom columns. Any extra columns are stored as contact metadata and can be referenced by the agent during the call if configured in the agent's prompt template using {{column_name}} placeholders.

Duplicate phone numbers are automatically de-duplicated. Numbers that appear on your organization's Do-Not-Call list are flagged and excluded from dialing.

Scheduling Options

Campaign scheduling controls when and how calls are placed. Proper scheduling ensures you reach contacts at appropriate times and comply with calling-hour regulations.

  • Start date — The date and time the campaign begins dialing. You can start immediately or schedule a future date.
  • Calling hours — Define the daily window during which calls are placed (e.g., 9:00 AM to 5:00 PM). Calls outside this window are automatically queued for the next available period. The default calling window is 9:00 AM to 8:00 PM to comply with TCPA requirements.
  • Timezone — Set the timezone for calling hours. You can choose a fixed timezone or select "Contact's local timezone" to automatically adjust based on each contact's area code.
  • Max concurrent calls — The maximum number of calls that can be in progress simultaneously. Higher concurrency finishes the campaign faster but requires sufficient phone number capacity. The limit depends on your subscription plan.
  • Retry settings — Configure how many times to retry contacts who don't answer (default: 2 retries) and the delay between attempts (default: 4 hours). You can also set a maximum number of voicemails to leave per contact.
  • Days of week — Select which days the campaign should dial. By default, campaigns run Monday through Friday. Weekend calling can be enabled if appropriate for your use case.

Campaign Statuses

Every campaign moves through a lifecycle of statuses:

  • Draft — The campaign has been created but not activated. You can freely edit the contact list, agent, schedule, and other settings while in draft mode.
  • Active — The campaign is live and currently dialing contacts (or waiting for the next calling window). Active campaigns can be paused or stopped at any time.
  • Paused — Dialing is temporarily suspended. Any calls currently in progress will complete, but no new calls will be initiated. Resume the campaign to continue dialing remaining contacts.
  • Completed — All contacts in the list have been called (including retries). The campaign automatically moves to this status when there are no remaining contacts to dial.

You can also manually mark a campaign as completed if you want to stop dialing before the entire list is finished. This is a permanent action and cannot be undone.

Monitoring Campaigns

Once a campaign is active, you can monitor its progress in real time from the campaign detail page. The monitoring view includes:

  • Progress bar — Shows how many contacts have been called out of the total list, with a percentage completion indicator.
  • Live call count — The number of calls currently in progress right now.
  • Outcome breakdown — A real-time tally of call results: answered, voicemail, no answer, busy, and failed. Updated after each call completes.
  • Recent call log — A scrolling feed of the most recent calls with the contact name, duration, outcome, and a link to the full call detail (transcript, recording, summary).
  • Estimated completion — A projected finish time based on current pacing, concurrency, and remaining contacts.

You can also view campaign progress from the Live Dashboard at Dashboard > Live, which shows all active calls across all campaigns in a unified real-time view with supervisor controls.

Pause, Resume, and Stop Controls

You have full control over active campaigns at any time:

  • Pause — Temporarily halts new call initiation. Calls already in progress will complete naturally. Use this if you need to update your agent's script, adjust the schedule, or investigate an issue. Pausing does not lose your place in the contact list.
  • Resume — Restarts dialing from where the campaign left off. Any remaining unanswered contacts will be called according to the schedule.
  • Stop — Permanently ends the campaign. The campaign status changes to Completed and no further calls will be made. All data from completed calls is preserved. This action cannot be undone; if you want to call remaining contacts, create a new campaign.

Campaign Analytics

After a campaign completes (or while it is running), detailed analytics are available on the campaign detail page. Metrics include:

  • Completion rate — The percentage of contacts in the list that were successfully reached (answered or voicemail left) versus total contacts.
  • Answer rate — The percentage of calls that were answered by a live person, as opposed to going to voicemail or receiving no answer.
  • Outcome breakdown — A chart showing the distribution of call outcomes: interested, not interested, callback requested, appointment booked, wrong number, and do-not-call requested.
  • Average call duration — The mean length of answered calls, which can indicate engagement quality.
  • Sentiment distribution — An aggregate view of call sentiment across the campaign (positive, neutral, negative).
  • Appointments booked — If your agent is configured for appointment scheduling, this shows how many appointments were booked during the campaign.

Campaign analytics can be exported as a CSV file for further analysis or imported into your CRM. Use the Export button at the top of the campaign detail page to download the full call log with all metadata.

Best Practices

  • Start with a small test batch of 20–50 contacts before launching a full campaign. Listen to sample recordings to verify the agent's script sounds natural and handles objections correctly.
  • Use the contact's local timezone setting to ensure calls land during appropriate hours regardless of where each contact is located.
  • Keep your Do-Not-Call list up to date. CallTone automatically checks contacts against your DNC list before dialing, but you are responsible for maintaining an accurate list.
  • Monitor the first 10–15 calls of a new campaign closely. If the answer rate or sentiment is lower than expected, pause the campaign and refine the agent's script before continuing.
  • Set reasonable concurrency limits. Running too many concurrent calls can overwhelm your team if the agent is transferring calls or booking appointments that require immediate follow-up.