Voice Campaigns
Launch automated voice calling campaigns to reach your audience at scale. Voice campaigns are ideal for notifications, reminders, alerts, and bulk outreach. The platform handles call scheduling, provider routing, and real-time tracking so you can focus on message content and audience targeting.
Overview
Voice campaigns enable you to call multiple contacts automatically using pre-recorded audio, text-to-speech, IVR flows, or XML scripts. Each campaign goes through a defined lifecycle and provides detailed analytics on delivery, engagement, and outcomes.
Calling Types
Voxvaani supports four distinct calling types. Choose the one that best fits your use case:
Audio
Play a pre-recorded audio message to the recipient. The simplest and most reliable option.
Best for: One-way announcements where no response is needed — payment reminders, promotional messages, event alerts.
Pre-recorded audio delivers the most polished and consistent experience. Use the Audio Library to manage your files and test playback quality before launching.
TTS (Text-to-Speech)
Convert written text into spoken audio at call time. The system reads your message aloud using AI-generated voice synthesis.
Best for: Dynamic or personalized messages where recording individual audio files is impractical — custom greetings with the recipient’s name, multi-variant A/B testing, rapid message iteration.
TTS campaigns consume voice minutes for the actual call duration only. Text-to-speech synthesis itself does not incur additional voice minute charges.
IVR (Interactive Voice Response)
Deploy an interactive flow that allows the recipient to respond using their phone keypad (DTMF tones). The caller navigates menus, provides input, or is transferred to a live agent.
Best for: Two-way interactions — customer satisfaction surveys, lead qualification, appointment confirmation with reschedule options, support menu routing.
IVR campaigns require a flow built in the IVR Flow Builder. Test the flow thoroughly in the builder’s preview mode before attaching it to a campaign.
XML Script
Execute a VoxiXML script that defines the complete call flow programmatically. Offers the most granular control over call behavior.
Best for: Indian Route provider campaigns, complex branching logic, mid-call API integrations, custom retry and error handling logic.
XML scripts are only compatible with the Indian Route provider. You cannot use XML campaigns with SignalWire or Plivo. See the XML Template Builder documentation for script authoring guidance.
Creating a Voice Campaign
Step-by-Step
- Navigate to Campaigns from the sidebar.
- Click Create Campaign.
- Enter a Campaign Name that clearly identifies the campaign purpose (e.g., “January Payment Reminder Batch 1”).
- Select the Calling Type (Audio, TTS, IVR, or XML Script).
- Choose or provide the content based on the calling type:
- Audio: Select a file from your Audio Library.
- TTS: Enter the text content, select language and speaker voice.
- IVR: Select a published IVR flow.
- XML Script: Select a saved XML template.
- Select Contacts — choose an existing contact list or upload a CSV file. Ensure phone numbers are in E.164 format (e.g., +919XXXXXXXXX).
- Configure the Schedule — launch immediately or set a future date and time. Scheduled campaigns support timezone-aware delivery.
- Review settings and click Launch Campaign.
Campaign Settings
| Setting | Options | Description |
|---|---|---|
| Campaign Name | Free text | Internal label for identifying the campaign. |
| Calling Type | Audio / TTS / IVR / XML | Determines how the message is delivered to recipients. |
| Caller ID | Verified phone number | The number displayed on the recipient’s phone. Must be pre-verified. |
| Provider | SignalWire / Plivo / Indian Route | The telephony provider that routes the calls. Some features are provider-specific. |
| Schedule | Immediate / Scheduled | Immediate starts within minutes; scheduled runs at the specified date/time. |
| Concurrent Calls | Configurable | Set how many recipients are dialed simultaneously (Concurrent Calls) and how many calls are initiated per second (CPS) when creating a campaign. Defaults to 1 (sequential). |
Campaign Lifecycle
Every campaign progresses through a defined lifecycle. Understanding these stages helps you manage and troubleshoot your campaigns effectively:
| Stage | Description | Available Actions |
|---|---|---|
| Draft | Campaign is created but not yet launched. Content, contacts, and settings can all be edited. | Edit, Delete |
| Scheduled | Campaign has a future start time set. The system will automatically transition to Processing at the scheduled time. | Edit, Cancel, Launch Immediately |
| Processing | The campaign is actively dialing contacts. Progress updates in real-time. | Pause, View Live Progress |
| Paused | An active campaign has been temporarily halted. Remaining contacts have not been called yet. | Resume, Delete |
| Completed | All contacts have been attempted. No further calls will be made. | Relaunch, View Report, Delete |
| Failed | The campaign encountered a critical error and cannot continue (e.g., provider outage, exhausted balance). | Relaunch, Delete |
Managing Campaigns
Campaign List
The campaign list provides an at-a-glance view of all campaigns:
| Column | Description |
|---|---|
| Name | Campaign name with calling type icon. |
| Status | Current lifecycle stage (see Campaign Lifecycle above). |
| Progress | Completed calls / total contacts with a percentage bar for visual tracking. |
| Success Rate | Percentage of connected calls out of total attempts. A healthy campaign typically achieves above 40%. |
| Avg Duration | Mean call duration in seconds across all connected calls. |
| Actions | Context-sensitive buttons: Pause/Resume, Relaunch, View Report, Delete. |
Campaign Actions
- Pause — Temporarily stop an active campaign. Already-dialing calls complete normally; only pending contacts are affected.
- Resume — Continue a paused campaign from where it left off. Contact list position is preserved.
- Relaunch — Re-run a completed campaign. You can target the same contact list or select new contacts. Previously successful contacts are excluded by default to avoid duplicate calls.
- Delete — Permanently remove the campaign. Call logs remain accessible for auditing even after deletion.
Monitoring
Track your campaign’s performance in real-time through the campaign detail dashboard. Key metrics update as calls are placed:
| Metric | Description | Healthy Benchmark |
|---|---|---|
| Total Calls Attempted | Number of dial attempts. | — |
| Successful Calls | Calls that connected to a live person. | > 40% of attempts |
| Failed Calls | Calls that did not connect due to invalid numbers or network issues. | < 10% of attempts |
| Busy / No Answer | Calls where the line was busy or unanswered. | < 50% of attempts |
| Average Call Duration | Mean duration of connected calls in seconds. | Matches your message length |
| Voice Minutes Used | Total minutes consumed across all connected calls. | — |
| Cost Estimate | Approximate cost based on voice minute rate. | — |
Pro tip: For large campaigns (5,000+ contacts), launch in batches of 500–1,000 contacts to validate your setup before scaling. This lets you identify number format issues, poor answer rates, or content problems without wasting voice minutes on the full list.
Troubleshooting
Issue: Campaign remains in “Draft” status after clicking Launch.
Cause: Missing required configuration — no caller ID selected, no contacts added, or no audio/IVR/XML content attached.
Solution: Review the campaign form for any fields highlighted with a validation error. Ensure all required fields are completed.
Issue: Campaign not starting (stuck in “Scheduled” past the scheduled time).
Cause: Insufficient voice minute balance or provider connectivity issue.
Solution: Check your voice minute balance on the Billing page. If balance is sufficient, verify that your provider credentials are valid in Organization Settings.
Issue: High failure rate (above 20%).
Cause: Invalid phone numbers, incorrect number formatting, or provider-side issues.
Solution: Verify that contact numbers are in E.164 format (+91XXXXXXXXXX for India). Remove obviously malformed numbers. Check Call Logs for the specific failure reason codes (e.g., “INVALID_NUMBER” vs “NETWORK_ERROR”). Test with a known valid number to isolate whether the issue is with the contact list or the provider.
Issue: Calls connect but recipients hear no audio.
Cause: Audio file is corrupted, unsupported format, or the file URL is inaccessible to the provider.
Solution: Verify the audio file plays correctly in the Audio Library preview. Re-upload the file if needed. For XML campaigns, ensure the audio URL in your script is publicly accessible.
Issue: Campaign consuming voice minutes faster than expected.
Cause: Messages that take longer than anticipated or more contacts than expected.
Solution: Check actual average call duration in the monitoring dashboard against your expected message length. Review your contact list count and ensure it matches expectations.
Next Steps: If the issue persists after these checks, visit the Support page to create a ticket with your campaign ID and error details.