SMS Notifications
Send feedback alerts via SMS using your own Twilio or Bird account
SMS Notifications
Send SMS notifications to your team when new feedback arrives. UserHero supports a Bring Your Own Key (BYOK) model — you connect your existing Twilio or Bird account.
SMS integration is available on Pro and Pro Max plans.
Supported Providers
| Provider | Auth Method | Website |
|---|---|---|
| Twilio | Account SID + Auth Token | twilio.com |
| Bird | Access Key + Workspace ID + Channel ID | bird.com |
Prerequisites
Before setting up SMS notifications, you need:
- A Pro or Pro Max plan
- An active account with Twilio or Bird
- An SMS-enabled phone number from your provider
- API credentials (see provider-specific sections below)
Getting Twilio Credentials
- Sign in to your Twilio Console
- Your Account SID and Auth Token are on the dashboard homepage
- Purchase or use an existing SMS-enabled phone number under Phone Numbers > Manage > Active Numbers
Getting Bird Credentials
- Sign in to your Bird Dashboard
- Go to Settings > API Access to find or create an Access Key
- Find your Workspace ID in the Bird dashboard URL or settings
- Go to Channels and create or select an SMS channel — copy the Channel ID
Setup
Step 1: Enable SMS at Workspace Level
- Go to Workspace Settings > Integrations
- Find SMS Notifications and toggle it on
- This makes SMS available to all projects in the workspace
Step 2: Configure SMS in a Project
- Go to your project Settings > Integrations
- Find the SMS card
- Toggle it on
- Select your provider (Twilio or Bird)
Step 3: Enter Credentials
For Twilio:
- Account SID — Your Twilio Account SID (starts with
AC) - Auth Token — Your Twilio Auth Token
For Bird:
- Access Key — Your Bird access key
- Workspace ID — Your Bird workspace UUID
- Channel ID — Your SMS channel UUID from the Bird dashboard
Credentials are encrypted at rest using AES-256-GCM before being stored. They are never displayed again after saving.
Step 4: Configure Phone Numbers
- From Number — Your SMS-enabled phone number (E.164 format, e.g.
+15551234567) - Recipient Phone Numbers — Comma-separated list of numbers to notify (E.164 format)
Step 5: Save and Test
- Click Save Integration
- Click Send Test SMS to verify the configuration
- Each recipient should receive a test message within seconds
SMS Format
Each notification is a compact single SMS (~160 characters):
ProjectName: "First 100 characters of the feedback message..." View: https://userhero.co/dashboard/feedback/abc123This keeps messages within the standard single-SMS limit to minimize costs.
Routing Rules
You can route different feedback to different phone numbers using routing rules:
| Rule | Recipients |
|---|---|
| Category = Bug | +15551111111 |
| Category = Feature | +15552222222 |
| Rating < 3 | +15553333333 |
| Default | All configured recipients |
To set up routing:
- Scroll to the Routing Rules section below the SMS card
- Click Add Routing Rule
- Define conditions (categories, rating, widgets, text match)
- Set Phone Numbers as the destination override
- Save the rule
See Routing Rules for full documentation.
Phone Number Format
All phone numbers must use E.164 format:
| Format | Example |
|---|---|
| US/Canada | +14155552671 |
| UK | +447911123456 |
| Germany | +4915112345678 |
| India | +919876543210 |
| Australia | +61412345678 |
The + prefix and country code are required. No spaces, dashes, or parentheses.
Security
- Encryption at rest: API keys and auth tokens are encrypted using AES-256-GCM before storage in Firestore
- No credential exposure: After saving, credentials are displayed as masked values (
••••••••). They cannot be retrieved. - Server-side decryption: Credentials are only decrypted within Cloud Functions at send time
- No logging: Credentials are never written to application logs
Costs
UserHero does not charge for SMS messages separately — you pay your SMS provider directly at their standard rates:
| Provider | Typical Cost (US) | Pricing Page |
|---|---|---|
| Twilio | ~$0.0079/SMS | twilio.com/sms/pricing |
| Bird | Varies | bird.com/pricing |
Costs vary by destination country. Check your provider's pricing page for details.
Troubleshooting
Test SMS not received
- Verify the phone number is in E.164 format (e.g.
+15551234567) - Check that the From Number is an SMS-enabled number in your provider account
- For Twilio: Verify the Account SID starts with
ACand the Auth Token is correct - For Bird: Verify the access key, workspace ID, and channel ID are correct
- Check your provider's dashboard for delivery logs and error details
"Save failed" error
- Ensure all required fields are filled in (provider, credentials, from number, at least one recipient)
- Check that your workspace is on a Pro or Pro Max plan
SMS not triggered on new feedback
- Verify the integration is enabled (toggle is on) at both workspace and project level
- Check that the project has at least one recipient configured
- If using routing rules, ensure the feedback matches at least one rule condition
Wrong provider selected
If you need to switch providers (e.g. from Twilio to Bird):
- Select the new provider from the dropdown
- Enter the new provider's credentials
- Update the From Number to one from the new provider
- Save — the old credentials are replaced
Plan Requirements
| Feature | Plan |
|---|---|
| Enable SMS integration | Pro, Pro Max |
| Multiple recipients | Pro, Pro Max |
| Routing rules for SMS | Pro, Pro Max |
| Custom from number | Pro, Pro Max |