Voice Outreach
Automated voice dunning calls in LostChurn -- IVR scripts, call outcome tracking, compliance, and opt-out management.
Voice outreach adds a personal, high-touch recovery channel to your dunning campaigns. When email, SMS, and push notifications have not recovered a failed payment, an automated phone call can be the final nudge that brings a customer back. Voice outreach is available on Revenue Command and Enterprise tiers.
When to Use Voice
Voice works best as a late-stage escalation channel in a multi-step campaign. It is most effective for:
- High-value subscriptions where the revenue at risk justifies the per-call cost
- Repeated failures where the customer has not responded to digital channels
- Enterprise accounts with dedicated account managers who want a personal touch
- Older demographics who prefer phone communication over messaging
A typical campaign flow with voice:
- Step 1: Email with payment update link
- Step 2: SMS reminder after 48 hours
- Step 3: Push notification after 72 hours
- Step 4: Voice call after 5 days if payment is still unrecovered
Voice outreach has a significantly higher per-interaction cost than digital channels. Use it selectively for high-value recovery scenarios where the ROI justifies the expense.
Twilio Programmable Voice Integration
LostChurn uses Twilio Programmable Voice to place and manage outbound calls. You will need a Twilio account with voice capabilities to use this feature.
Connecting Twilio
LostChurn requires three environment variables to connect to Twilio:
| Variable | Description |
|---|---|
TWILIO_ACCOUNT_SID | Your Twilio Account SID (starts with AC) |
TWILIO_AUTH_TOKEN | Your Twilio Auth Token |
TWILIO_FROM_NUMBER | The Twilio phone number to use as the caller ID |
To configure:
- Navigate to Settings > Integrations > Voice
- Enter your Twilio Account SID and Auth Token
- Select a Twilio phone number to use as the caller ID (or purchase one in the Twilio console)
- Click Test Connection to verify the integration
- Save your settings
The send_voice_call procedure authenticates with Twilio using HTTP Basic authentication (AccountSID:AuthToken) and posts to the Twilio Calls API at https://api.twilio.com/2010-04-01/Accounts/{AccountSID}/Calls.json.
Use a local phone number that matches your customers' region. Calls from unfamiliar area codes or toll-free numbers are more likely to be screened or ignored.
Caller ID Configuration
You can configure different caller IDs for different regions:
| Region | Recommendation |
|---|---|
| United States | Local number matching your business area code |
| United Kingdom | UK mobile or geographic number |
| European Union | Country-specific local number |
| Other regions | Local number where available |
Customizable IVR Scripts
Each voice campaign step uses an IVR (Interactive Voice Response) script that controls what the customer hears and how they can respond. Scripts are written in the template editor using a simple text format.
Script Structure
A typical IVR script has three sections:
- Greeting -- Identify your business and the reason for the call
- Instructions -- Tell the customer what action to take
- Options -- Present keypad options for the customer to respond
Example Script
Hello, this is a call from {{merchant_name}} regarding your subscription.
We were unable to process your recent payment of {{amount}}.
To update your payment method now, press 1.
To receive an SMS with a payment update link, press 2.
To speak with a team member, press 3.
To opt out of future calls, press 9.
If you do nothing, we will try again later. Thank you.How Scripts Become Calls
Voice scripts are stored in the body_twiml field of a template. When send_voice_call executes, the buildTwiml helper:
- Interpolates
{{variable}}placeholders with customer/merchant data - Escapes XML special characters for safe TwiML embedding
- Wraps the script in a
<Say>block using the Polly.Joanna voice - Appends a
<Gather>block for DTMF keypad input (press 1 for payment link, press 2 to skip) - Adds a fallback
<Say>for no-response timeouts
The status callback URL (https://webhooks.lostchurn.com/twilio/voice/status) receives events for initiated, ringing, answered, and completed states.
Personalization Variables
Voice scripts support the following personalization variables, which are interpolated at call time:
| Variable | Source | Description |
|---|---|---|
{{customer_name}} | customer.name (fallback: "there") | Customer's name |
{{merchant_name}} | merchant.name | Your company name |
{{amount}} | Payment event amount_cents + currency | Failed payment amount (e.g., "49.99 USD") |
{{payment_link}} | Generated self-service URL | Link to update payment method |
Text-to-Speech Settings
LostChurn uses Twilio's Polly.Joanna neural text-to-speech voice by default. You can configure:
- Voice -- Change the Polly voice in the template editor (e.g., Polly.Matthew for male)
- Language -- Matches the customer's locale when available
- Speaking rate -- Normal, slow, or fast
- Pause duration -- Time between script sections
Compliance Safeguards
The send_voice_call procedure enforces several compliance checks before placing a call:
- Opt-out check -- Queries the
communication_preferencetable for voice opt-outs. If the customer has opted out, the call is not placed and the communication log is marked asFailed. - Phone number required -- If no phone number is on file for the customer, the call is skipped.
- Template validation -- The procedure verifies that the template has a
body_twimlfield. Missing TwiML results in an error. - Quiet hours -- Calls respect the customer's timezone-aware quiet hours (checked via
isInQuietHoursForTimezone).
Call Outcome Tracking
Every outbound call is tracked with a detailed outcome record. LostChurn categorizes call results into four statuses:
| Outcome | Description | Next Action |
|---|---|---|
| Answered | Customer picked up and interacted with the IVR | Process their keypad selection |
| Voicemail | Call went to voicemail; LostChurn leaves a message | Schedule follow-up or proceed to next campaign step |
| Declined | Customer actively rejected the call | Respect the signal; avoid immediate re-calls |
| No Answer | Call rang but was not picked up or sent to voicemail | Schedule a retry at a different time of day |
Viewing Call History
Call outcomes will appear in two places:
- Recovery Detail -- Open any recovery record to see the full communication timeline, including call outcomes, durations, and IVR selections
- Campaign Performance -- The campaign analytics page will include voice-specific metrics: answer rate, average call duration, and recovery conversion by outcome
Timing and Scheduling
Quiet Hours
Voice outreach will strictly respect quiet hours. The default voice quiet window is more restrictive than digital channels:
- Default window: 8:00 PM to 9:00 AM in the customer's timezone
- Weekend restriction: No calls on Sundays (configurable)
- Voice quiet hours can be configured separately from SMS/email quiet hours
Optimal Call Times
LostChurn's scheduling engine will consider several factors when placing calls:
- Customer's timezone and local time
- Historical answer rates by time of day
- Previous call outcomes (avoid calling at the same time if the last call was not answered)
- Day of week (weekday mid-morning and early evening tend to have the highest answer rates)
Retry Logic
If a call results in No Answer or Declined, LostChurn can automatically retry:
- Maximum of 3 call attempts per campaign step (configurable)
- Minimum 4-hour gap between retry attempts
- Each retry targets a different time window
- After exhausting retries, the campaign proceeds to the next step
Opt-Out Management
Customers will be able to opt out of voice outreach in three ways:
- During a call -- Press 9 (or the configured opt-out key) during the IVR
- Via SMS -- Reply STOP to any SMS that mentions voice calls
- Self-service portal -- Update communication preferences on the payment update page
Opt-outs are respected across all future campaigns. Opting out of voice does not affect other channels (email, SMS, push).
Always honor opt-out requests immediately. Calling a customer who has opted out violates TCPA regulations and can result in significant fines.
Call Recording and Transcription
Call recording and transcription will be available on the Enterprise tier only.
When enabled, LostChurn will record outbound calls and generate transcriptions:
Compliance Notices
Call recording laws vary by jurisdiction:
| Jurisdiction | Consent Required |
|---|---|
| United States (federal) | One-party consent |
| California, Illinois, and 9 other states | Two-party (all-party) consent |
| European Union | Explicit consent required (GDPR) |
| United Kingdom | Must inform the caller |
| Canada | One-party consent |
LostChurn will automatically play a recording disclosure at the start of each call when recording is enabled. You will be able to customize this message in the script editor.
Cost Considerations
Voice outreach costs will include Twilio per-minute charges plus a small LostChurn orchestration fee:
| Component | Typical Cost |
|---|---|
| Outbound call (US) | $0.014/minute |
| Outbound call (UK) | $0.040/minute |
| Voicemail detection | $0.0025/call |
| Call recording | $0.0025/minute |
| Transcription | $0.05/minute |
Actual Twilio rates depend on your Twilio plan and destination country. Voice costs are passed through at cost with no markup from LostChurn.
What's Next
- Campaigns Overview -- Understand how campaigns work across all channels
- Creating Campaigns -- Build a multi-step campaign that includes voice outreach
- SMS Campaigns -- Pair voice with SMS for a mobile-first recovery strategy