Campaigns
Campaigns let your voice agents make outbound calls automatically — reaching a list of contacts without manual dialing. Upload your contacts, configure call settings, and let your agent handle the conversations.
Campaigns are in the main sidebar, in the Calls group. When you add contacts, you can upload a CSV or build the list directly from your CRM contacts table.
Outbound campaigns are available on any paid plan after a one-time compliance approval. Until your account is approved, the Campaigns screen shows a feature showcase with a support@hanc.ai CTA. Approval is usually same-business-day.
When to Use Campaigns
| Use Case | Example |
|---|---|
| Appointment reminders | Call patients the day before their appointment |
| Follow-ups | Reach out to leads who requested a callback |
| Surveys | Collect feedback from recent customers |
| Notifications | Inform clients about schedule changes or updates |
| Collections | Friendly payment reminders |
Creating a Campaign
Step 1: Setup
- Open Campaigns in the sidebar (group Calls)
- Click "Create Campaign"
- Fill in the three things a campaign can't run without:
| Field | Description |
|---|---|
| Campaign Name | A descriptive name (e.g., "March Appointment Reminders") |
| Voice Agent | Which agent will make the calls |
| Phone Number (caller ID) | The number the calls come from. It must be able to place calls — see Advanced numbers. |
Choose an agent with a prompt designed for outbound calls. The agent should introduce itself and explain why it's calling.
Outbound campaigns will not dial premium-rate or shared-cost numbers. If a contact's number is one of these, that contact is marked Failed and the run continues to the next contact. This is a permanent, non-retry failure — retrying won't help, since the block is on the destination number itself.
Advanced settings
Everything else sits behind Advanced settings and has a working default, so you can skip it on your first campaign.
Calls run one at a time. The next contact is dialled only after the current call ends — there is no concurrency setting to raise. That keeps the pace predictable and stops a campaign flooding your line.
| Setting | Description | Default |
|---|---|---|
| Delay between calls | How long to wait after a call finishes before dialling the next contact | 1 second |
| Max Retries | How many times to retry a contact who doesn't answer. 0 means no retries. | 2 |
| Retry Delay | How long to wait before retrying an unanswered contact | 30 minutes |
Time Window
Restrict calls to a time window is off by default — leave it off and the campaign calls whenever it's running. Turn it on to confine calls to specific hours and days:
| Setting | Description |
|---|---|
| Start Hour | Earliest time to start calling (e.g., 9:00) |
| End Hour | Latest time to make calls (e.g., 18:00) |
| Timezone | Timezone for the time window. Set per campaign (Europe/Vienna unless you change it) and independent of the agent's timezone. |
| Weekdays | Which days of the week to call |
| Scheduled Start | Optionally schedule the campaign to start at a specific date and time |
Be mindful of local regulations regarding call times. Most regions prohibit automated calls outside of business hours.
Step 2: Add Contacts
Upload your contact list or add contacts manually.
CSV Upload
Upload a CSV file with your contacts. The file should include at minimum a phone number column.
| Column | Required | Description |
|---|---|---|
| phone_number | Yes | Contact's phone number (with country code) |
| contact_name | No | Contact's name for personalization |
| Custom fields | No | Any additional fields your agent needs (mapped to LLM variables) |
Manual Entry
Click "Add Contact" to add contacts one by one with phone number and name.
LLM Variables
If your agent prompt uses variables (e.g., {{customer_name}}, {{appointment_date}}), you can include these as columns in your CSV. The agent will have access to these values during the call.
Managing a Campaign
Campaign Statuses
| Status | Meaning |
|---|---|
| Draft | Campaign created but not started — you can still edit everything |
| Scheduled | Campaign is scheduled and waiting for the time window |
| Running | Calls are actively being made |
| Paused | Campaign temporarily stopped — can be resumed |
| Completed | All contacts have been called |
| Cancelled | Campaign was stopped permanently |
| Failed | The campaign stopped because of an error |
Campaign Actions
| Action | When Available | What It Does |
|---|---|---|
| Start | Draft | Begin making calls |
| Pause | Running | Temporarily stop all calls |
| Resume | Paused | Continue making calls |
| Cancel | Draft, Scheduled, Running, Paused | Stop the campaign permanently |
| Duplicate | Any status | Create a copy with the same settings and contacts |
Monitoring Progress
Campaign Overview
The campaign detail page shows real-time progress:
- Total contacts — How many contacts are in the campaign
- Completed — Successfully called contacts
- Pending — Contacts waiting to be called
- Failed — Contacts that couldn't be reached after all retries, or whose number was blocked (premium-rate / shared-cost)
Contact Statuses
Each contact in the campaign has a status:
| Status | Meaning |
|---|---|
| Pending | Waiting to be called |
| Calling | Currently being called |
| Retry | A retry is scheduled |
| Completed | Call was made successfully |
| No answer | Nobody answered. Two answering-machine cases are shown with the reason: No answer (Reached voicemail) — the agent hung up and the contact is called again per the retry settings; No answer (Voicemail — message left) — the agent left a message and the contact is not called again. See Answering Machine |
| Failed | All retry attempts exhausted, or the number is premium-rate / shared-cost and was blocked (a non-retry failure — the run moves on) |
| Skipped | Manually skipped by you |
Contact Actions
For individual contacts, you can:
- Retry — Try calling a failed contact again
- Skip — Skip a pending contact
- Remove — Remove a pending contact from the campaign
Call Logs
The Call Log tab in the campaign shows detailed information about each call, including duration, outcome, sentiment, and transcripts.
Campaign Tabs
| Tab | What It Shows |
|---|---|
| Overview | Campaign stats, progress bar, key metrics |
| Contacts | Full contact list with statuses and actions |
| Settings | Campaign configuration (editable when draft or paused) |
| Call Log | Detailed call history for this campaign |
Best Practices
Before Starting
- Test your agent first — Make a few test calls manually to ensure the agent handles the conversation well
- Start small — Run a campaign with 5-10 contacts first to validate the flow
- Set appropriate hours — Respect business hours and local regulations
Agent Prompt Tips
For outbound campaigns, your agent's prompt should:
- Clearly introduce who is calling and why
- Be concise — recipients of outbound calls expect shorter conversations
- Handle voicemail gracefully — and set what the agent does on voicemail in Settings → Answering Machine
- Have a clear call-to-action (book appointment, confirm information, etc.)
Contact List Quality
- Verify phone numbers include the country code
- Remove duplicates before uploading
- Include contact names for a more personal experience
Editing a Campaign
You can edit campaign settings when the campaign is in Draft or Paused status:
- Change call settings (retries, time window)
- Add or remove contacts
- Update the agent or phone number
Once a campaign is Completed or Cancelled, it cannot be edited. Use Duplicate to create a new version.
Related
- Voice Agents — Configure agents for outbound calls
- Phone Numbers — Get a phone number for campaigns
- Analytics — Review campaign call metrics