Common Issues
Symptom-driven quick reference for common ConnieRTC support issues and their resolutions. For full deploy/change/cancel/troubleshoot runbooks per feature, see the Runbook Index.
Voice Issues
Calls Not Reaching Flex
Symptoms: Callers hear ringing but no task appears in Flex
Investigation:
# Check phone number configuration
twilio api:core:incoming-phone-numbers:list | grep [PHONE_NUMBER]
# Verify Studio Flow is published
twilio api:studio:v2:flows:list
Common Causes:
- Phone number not configured with Studio Flow
- Studio Flow in draft status
- Webhook URL incorrect
Voicemail Not Recording
Symptoms: Callers report leaving voicemail but no recording appears
Investigation:
# Check recent recordings
twilio api:core:recordings:list --limit 10
# Check function logs
twilio serverless:logs --service-sid [SERVICE_SID] --tail
Common Causes:
- Recording callback URL misconfigured
- Storage permissions issue
- Transcription service timeout
SSO Issues
"Session not found" Error
Symptoms: Users see session errors when logging into Flex via SSO
Root Cause: "Login using popup" not enabled in Twilio SSO settings
Fix:
- Go to Flex → Admin → Single Sign-On
- Enable "Login using popup" checkbox
- Save configuration
This is required for iframe-embedded Flex instances due to third-party cookie restrictions.
SAML Response Invalid
Symptoms: Auth0 returns error during SSO login
Investigation:
- Verify Auth0 certificate matches Twilio configuration
- Check SSO URL is exactly correct
- Verify Issuer matches Auth0 domain
Task Issues
Tasks Not Routing to Agents
Symptoms: Tasks appear in queue but agents don't receive them
Investigation:
# Check workflow configuration
twilio api:taskrouter:v1:workspaces:workflows:list --workspace-sid [WS_SID]
# Check agent status
twilio api:taskrouter:v1:workspaces:workers:list --workspace-sid [WS_SID]
Common Causes:
- Workflow filter doesn't match task attributes
- Agent not in correct queue
- Agent status not "Available"
Email Notifications
Voicemail Emails Not Arriving
Symptoms: Voicemails recorded but admin doesn't receive email
Investigation:
# Test Mailgun API
curl -s --user "api:[KEY]" \
"https://api.mailgun.net/v3/[DOMAIN]/events?event=delivered&limit=5"
Common Causes:
- Wrong Mailgun API key (using private key instead of domain-specific)
- ADMIN_EMAIL environment variable not set
- Domain not verified in Mailgun
Flex UI / Plugin Issues
"NotificationManager: Notification already registered" in Status Report
Symptoms:
- Red "Operational issue detected" banner appears in the Flex Status Report sidebar (top-right of the agent desktop)
- Downloaded error report contains
NotificationManager: Notification already registeredwithtwilioErrorCode: 45600 - Stack trace points to
addHookinplugin-flex-ts-template-v2/.../utils/feature-loader/notifications.ts - Functional impact is usually nil (notifications still fire), but agents see the persistent error indicator
Root Cause: Two ConnieRTC features registered the same Flex notification ID. Twilio's flex.Notifications.registerNotification(id) throws on the second registration. The basecamp feature-loader fans out to every enabled feature's notificationHook; if two features hand back overlapping IDs, the boot sequence trips this error.
The most common offender is having both callback_and_voicemail and callback_and_voicemail_with_email enabled on the same account — both define CallbackErrorCallingCustomer, CallbackErrorRequeuingCallbackTask, and CallbackOutboundDialingNotEnabled as their notification IDs.
Investigation:
# 1. Identify duplicate notification ID strings across features
cd ~/projects/connie/rtc/basecamp-v26.02
grep -rh "^\s*[A-Z][A-Za-z0-9_]* = ['\"]" plugin-flex-ts-template-v2/src/feature-library --include="*.ts" --include="*.tsx" \
| grep -oE "['\"][^'\"]+['\"]" | sort | uniq -c | sort -rn | awk '$1 > 1'
# 2. Locate which features define each duplicate ID
grep -rn "= ['\"]<duplicated-id-string>['\"]" plugin-flex-ts-template-v2/src/feature-library
# 3. Confirm both conflicting features are enabled in the live Flex Configuration
curl -s -u "$ACCOUNT_SID:$AUTH_TOKEN" \
"https://flex-api.twilio.com/v1/Configuration" \
| python3 -c "
import sys,json
d=json.load(sys.stdin)
features = d.get('ui_attributes',{}).get('custom_data',{}).get('features',{})
for k,v in features.items():
if v.get('enabled'): print(f' {k}: enabled')"
Fix (preferred — config only, no redeploy):
- Open the
/template-adminpanel on the affected Flex account. Do not write the Flex Configuration API directly — see the basecamp Flex Configuration Safety Protocol. - Find the legacy/redundant feature card (e.g., Callback and Voicemail when Callback and Voicemail with Email is also enabled).
- Toggle
enabledoff, save. - Hard-reload Flex (Cmd+Shift+R) — the Status Report banner should clear.
Mandatory follow-up — sync source to live:
The admin-panel toggle is live-only. The next deploy through the basecamp pipeline will re-enable the feature unless the source override is also added to the per-account file:
// flex-config/ui_attributes.<account>.json, under custom_data.features:
"callback_and_voicemail": { "enabled": false },
Then verify source matches live by pulling GET /v1/Configuration and diffing the ui_attributes.custom_data.features block. Source/live drift on this setting silently regresses the fix on the next deploy.
Fix (alternative — code-level, requires plugin redeploy): Rename the conflicting IDs in one of the two features so they no longer collide. More work, but addresses the architectural overlap rather than choosing one feature.
Reference incident: NSS, 2026-04-27 — both callback features enabled simultaneously, error surfaced in the Flex Status Report. Resolved by disabling callback_and_voicemail in the NSS-specific override (kept the _with_email variant which is the superset).
Quick Diagnostic Commands
# Real-time function logs
twilio serverless:logs --service-sid [SERVICE_SID] --tail
# Recent failed calls
twilio api:core:calls:list --limit 10 --status failed
# Studio Flow executions
twilio api:studio:v2:flows:executions:list --flow-sid [FLOW_SID] --limit 10
# TaskRouter tasks
twilio api:taskrouter:v1:workspaces:tasks:list --workspace-sid [WS_SID] --limit 10
For detailed debugging guidance, see Debugging Best Practices.