Skip to main content

Voicemail Implementation Guide

This guide helps you select and deploy the right voicemail solution for your client. Understanding the difference between Base Experiences and Add-ons is critical for making the right choice.

Key Concept

Email notifications and transcription are add-ons, not voicemail types. They can be enabled on top of ANY base experience.


Architecture Overview

┌─────────────────────────────────────────────────────────────────────┐
│ VOICEMAIL ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ STEP 1: Choose Base Experience (pick ONE) │
│ ┌─────────────────────┐ ┌─────────────────────────────────┐ │
│ │ Voicemail Only │ │ Callback + Wait Experience │ │
│ │ │ │ │ │
│ │ Caller → Greeting │ │ Caller → Queue → Options Menu │ │
│ │ → Record │ │ → (callback/voicemail/ │ │
│ │ → Hang up │ │ stay) → Resolution │ │
│ └─────────────────────┘ └─────────────────────────────────┘ │
│ │
│ STEP 2: Add Features (optional, can apply to EITHER base) │
│ ┌─────────────────────┐ ┌─────────────────────────────────┐ │
│ │ Email Notifications │ │ Transcription │ │
│ │ │ │ │ │
│ │ Audio attachment │ │ Audio → Text conversion │ │
│ │ sent to staff email │ │ Appears in Flex + email │ │
│ └─────────────────────┘ └─────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘

Step 1: Select Your Base Experience

Decision Chart

QuestionAnswerYour Base Experience
Does the caller need options while waiting?NO - Direct to voicemailVoicemail Only
Does the caller need options while waiting?YES - Queue with callback optionCallback + Wait

Base Experience: Voicemail Only

What callers experience:

  • Call comes in → Greeting plays → Record message → Hang up
  • No hold queue, no callback option, no waiting

Best for:

  • Dedicated voicemail lines (e.g., after-hours)
  • Overflow handling when all agents busy
  • Internal support lines (like Connie Care Team 877)
  • Organizations without real-time queue capability

Codebase feature:

  • voicemail-only-with-email/ (dedicated feature)
  • OR callback-and-voicemail-with-email?voicemailOnly=true (parameter approach)

Setup guide:Voicemail-Only Configuration


Base Experience: Callback + Wait

What callers experience:

  • Call comes in → Enter queue with hold music
  • Press * anytime → Options menu (callback / voicemail / stay on hold)
  • Professional wait experience with caller choice

Best for:

  • Full-service lines where callers may want to wait
  • Organizations with agents available to take callbacks
  • High-volume lines needing caller options
  • Crisis hotlines with overflow needs

Codebase feature:

  • callback-and-voicemail/ (without email)
  • callback-and-voicemail-with-email/ (with email add-on)

Setup guide:Callback + Wait Setup


Step 2: Select Your Add-ons

Add-ons enhance the base experience. They are independent of which base you choose.

Decision Chart: Email Notifications

QuestionAnswerAction
Does staff need email alerts with audio attachment?YES→ Enable Email Add-on
Does staff need email alerts with audio attachment?NO→ Skip (voicemails in Flex only)

What it provides:

  • Instant email when voicemail recorded
  • Audio attachment (MP3) in email
  • Caller info (number, timestamp, duration)
  • Transcription in email body (if transcription add-on enabled)

Requirements:

  • Mailgun account and API key
  • DNS configuration for sending domain

Setup guide:Email Notifications Add-on


Decision Chart: Transcription

QuestionAnswerAction
Do you need voicemail audio converted to text?YES→ Enable Transcription
Do you need voicemail audio converted to text?NO→ Skip

What it provides:

  • Automatic audio-to-text conversion
  • Transcription appears in Flex task
  • Transcription included in email (if email add-on enabled)
  • Searchable message content

Requirements:

  • Twilio's built-in transcription (no additional account needed)
  • Proper transcribeCallback URL configuration

Setup guide:Transcription Add-on


Common Configurations

Configuration Matrix

Use CaseBase ExperienceEmailTranscriptionFeature Directory
After-hours line, email alertsVoicemail OnlyYesOptionalvoicemail-only-with-email/
After-hours line, Flex onlyVoicemail OnlyNoOptionalcallback-and-voicemail?voicemailOnly=true
Full-service with emailCallback + WaitYesOptionalcallback-and-voicemail-with-email/
Full-service, Flex onlyCallback + WaitNoOptionalcallback-and-voicemail/

Real-World Use Cases

Example 1: Nonprofit After-Hours Line

Scenario: Community food bank needs after-hours voicemail for donation inquiries

DecisionChoiceReason
Base ExperienceVoicemail OnlyNo agents available after-hours to receive callbacks
Email Add-onYesMorning staff sees overnight messages in email
TranscriptionOptionalNice-to-have but not required

Result: Callers hear greeting → leave message → task created in Flex → email sent to admin


Example 2: Crisis Hotline Overflow

Scenario: Mental health org needs overflow when all counselors busy

DecisionChoiceReason
Base ExperienceCallback + WaitCallers may want to wait for next available counselor
Email Add-onYesEnsure no messages missed
TranscriptionYesQuick triage without listening to full audio

Result: Caller enters queue → can request callback, leave voicemail, or stay on hold → all options documented


Example 3: Internal Support Line (Connie Care Team 877)

Scenario: Internal support for child accounts

DecisionChoiceReason
Base ExperienceVoicemail OnlyAll inquiries should be documented, no real-time queue needed
Email Add-onYesTeam needs immediate notification
TranscriptionYesQuick review and routing

Result: Direct to voicemail → transcription in Flex task → email with audio and transcript


Example 4: Adding Second Line to Existing Account

Scenario: NSS already has callback-and-voicemail deployed, wants to add voicemail-only line

DecisionChoiceReason
ApproachParameter (?voicemailOnly=true)Zero additional deployment, reuses existing infrastructure
Email Add-onUses existingSame Mailgun configuration
TranscriptionUses existingSame transcription setup

Result: New phone number → new Studio Flow → add parameter to URL → done


Deployment Checklist

Full Deployment Guide

For complete deployment instructions including troubleshooting and account setup, see the Account-Specific Deployment Guide.

For All Configurations

# 1. Ensure you're in the correct account directory
cd /path/to/connieRTC-basecamp/serverless-functions

# 2. Deploy serverless functions (CRITICAL: use deploy.sh, not npm run deploy)
./deploy.sh <account-name>

# 3. Verify deployment
twilio serverless:list --properties functionSid,friendlyName

Available accounts: nss, conniecareteam, hhovv, devsandbox

Account-Specific Deployment

WRONG: npm run deploy (uses default .env, may deploy to wrong account)

RIGHT: ./deploy.sh <account> (loads account-specific .env)

See Why This Matters for the incident that created this protocol.


Critical Technical Notes

Studio Flow Widget Type

When creating Studio Flows with TwiML redirect widgets:

// WRONG - This type doesn't exist
"type": "twiml-redirect"

// RIGHT - Use the correct type
"type": "add-twiml-redirect"

Workflow SID Variable

The environment variable for workflow is:

# CORRECT
TWILIO_FLEX_CALLBACK_WORKFLOW_SID=WW...

# NOT this (doesn't exist)
VOICEMAIL_WORKFLOW_SID=WW...

TranscriptionText Fetch

Twilio's transcribeCallback doesn't always include TranscriptionText in the payload. Your function must fetch it:

// If TranscriptionText is missing, fetch from TranscriptionUrl
if (!transcriptionText && event.TranscriptionUrl) {
const response = await axios.get(event.TranscriptionUrl + '.json', {
auth: {
username: context.ACCOUNT_SID,
password: context.AUTH_TOKEN
}
});
transcriptionText = response.data.transcription_text;
}

Next Steps

  1. Choose your base experience using the decision chart above
  2. Select your add-ons based on client requirements
  3. Follow the specific setup guide for your configuration
  4. Test thoroughly before production deployment
  5. Document the configuration for future reference

Base Experiences

Add-ons

Email Provider Setup

Troubleshooting

Professional Services

If you prefer to have our team handle the implementation, professional services are available for all voicemail configurations. Contact your Connie representative for details.