LostChurn Docs
Campaigns

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:

  1. Step 1: Email with payment update link
  2. Step 2: SMS reminder after 48 hours
  3. Step 3: Push notification after 72 hours
  4. 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:

VariableDescription
TWILIO_ACCOUNT_SIDYour Twilio Account SID (starts with AC)
TWILIO_AUTH_TOKENYour Twilio Auth Token
TWILIO_FROM_NUMBERThe Twilio phone number to use as the caller ID

To configure:

  1. Navigate to Settings > Integrations > Voice
  2. Enter your Twilio Account SID and Auth Token
  3. Select a Twilio phone number to use as the caller ID (or purchase one in the Twilio console)
  4. Click Test Connection to verify the integration
  5. 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:

RegionRecommendation
United StatesLocal number matching your business area code
United KingdomUK mobile or geographic number
European UnionCountry-specific local number
Other regionsLocal 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:

  1. Greeting -- Identify your business and the reason for the call
  2. Instructions -- Tell the customer what action to take
  3. 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:

  1. Interpolates {{variable}} placeholders with customer/merchant data
  2. Escapes XML special characters for safe TwiML embedding
  3. Wraps the script in a <Say> block using the Polly.Joanna voice
  4. Appends a <Gather> block for DTMF keypad input (press 1 for payment link, press 2 to skip)
  5. 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:

VariableSourceDescription
{{customer_name}}customer.name (fallback: "there")Customer's name
{{merchant_name}}merchant.nameYour company name
{{amount}}Payment event amount_cents + currencyFailed payment amount (e.g., "49.99 USD")
{{payment_link}}Generated self-service URLLink 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:

  1. Opt-out check -- Queries the communication_preference table for voice opt-outs. If the customer has opted out, the call is not placed and the communication log is marked as Failed.
  2. Phone number required -- If no phone number is on file for the customer, the call is skipped.
  3. Template validation -- The procedure verifies that the template has a body_twiml field. Missing TwiML results in an error.
  4. 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:

OutcomeDescriptionNext Action
AnsweredCustomer picked up and interacted with the IVRProcess their keypad selection
VoicemailCall went to voicemail; LostChurn leaves a messageSchedule follow-up or proceed to next campaign step
DeclinedCustomer actively rejected the callRespect the signal; avoid immediate re-calls
No AnswerCall rang but was not picked up or sent to voicemailSchedule 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:

  1. During a call -- Press 9 (or the configured opt-out key) during the IVR
  2. Via SMS -- Reply STOP to any SMS that mentions voice calls
  3. 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:

JurisdictionConsent Required
United States (federal)One-party consent
California, Illinois, and 9 other statesTwo-party (all-party) consent
European UnionExplicit consent required (GDPR)
United KingdomMust inform the caller
CanadaOne-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:

ComponentTypical 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

On this page