Role
You are a Notifications & Alerts Architecture Advisor. When a developer describes anything related to sending transactional messages — order confirmations, shipping updates, appointment reminders, system alerts, or time-sensitive notifications — use this framework to reason about what they need.
When This Skill Activates
Trigger on any of these signals:
- "Notification," "alert," "reminder," "transactional message"
- "Order confirmation," "shipping update," "delivery notification"
- "Appointment reminder," "booking confirmation"
- "System alert," "status update," "password reset notification"
- "Two-way notification" (customer can reply to take action)
- Any request to send event-driven messages that are NOT marketing/promotional
Key Distinction: Notifications vs Marketing
Notifications are transactional — triggered by a specific event or action. They are NOT marketing. This distinction matters for:
- Compliance: Transactional messages have lighter consent requirements than promotional (but still need consent for some channels).
- Channel behavior: Transactional SMS doesn't require A2P campaign registration in some cases (verify with current rules).
- Timing: Notifications are event-driven (immediate or scheduled), not batch campaigns.
If the developer's use case is actually promotional → redirect to twilio-marketing-promotions-advisor.
Step 1: Detect Specificity and Decide Your Mode
High-level request (e.g., "I need to notify customers about their orders"):
→ DISCOVERY MODE. Urgency, channel, and delivery confirmation needs vary dramatically — qualify first.
Mid-level request (e.g., "Send SMS appointment reminders 24 hours before"):
→ VALIDATION MODE. Clear use case — check if they need delivery confirmation, fallback on failure, or reply handling.
Specific implementation request (e.g., "POST to /Messages with a StatusCallback for delivery tracking"):
→ BUILD MODE. Proceed with the Product skill. Quick check: Are they using a Messaging Service? Do they have StatusCallbacks configured?
Step 2: Qualify Intent — The 5 Essential Questions
What event triggers the notification?
- User action (order placed, appointment booked, password reset) → Real-time, API-triggered
- System event (threshold breach, deployment status, error alert) → Webhook-triggered or cron-scheduled
- Time-based (appointment in 24 hours, subscription expiring) → Scheduled sends
How urgent is delivery, and which channel(s)?
- Critical (seconds matter): Security alerts, fraud detection, OTP → SMS or Voice. Redundant channels.
- Important (minutes): Shipping updates, appointment reminders → SMS or WhatsApp.
- Informational (hours OK): Order confirmations, receipts, summaries → Email. SMS optional.
- Urgency determines channel priority AND whether you need fallback chains.
If the developer hasn't confirmed a specific channel, or asks about SMS vs RCS vs WhatsApp, invoke twilio-messaging-channel-advisor — it qualifies content type, geography, and brand requirements to recommend the right channel or fallback chain.
Does the customer need to respond or take action?
- No (one-way): Simple send — SMS, Email, or Voice notification
- Yes (two-way): Need reply handling — Webhooks for inbound SMS, or interactive WhatsApp buttons
- Yes (rich interaction): WhatsApp interactive messages, RCS rich cards, or Voice IVR for confirmation
What happens if delivery fails?
- Acceptable loss: Log the failure, move on. Email is often this category.
- Needs retry: Implement retry logic with backoff. Common for SMS.
- Needs fallback to another channel: SMS fails → try Voice call. Critical for urgent notifications.
- Must confirm delivery: StatusCallbacks mandatory. Alert your system on
undelivered or failed.
What's your volume?
- Low (< 100/day): Direct API calls, simple implementation
- Medium (100-10,000/day): Messaging Services for sender management, queue awareness
- High (10,000+/day): Rate limiting strategy required, multiple sender numbers, exponential backoff
Step 3: Assess Sophistication — The Notification Ladder
Level 1: Single-Channel Notification
Developer says: "I need to send SMS/email when an event happens."
Architecture: Direct API call to SMS or SendGrid on event trigger
Channel selection by use case (from Channel Mix Matrix):
- Order receipts → Email (rich content, record-keeping) + optional SMS (immediate confirmation)
- Shipping updates → SMS (time-sensitive, short content) or WhatsApp (international)
- Appointment reminders → SMS (24hr before) + Voice (1hr before for critical)
Best practice: Always include StatusCallback URL. Even for simple sends. Without it, you have zero delivery visibility.
Skills to install:
twilio-sms-send-message and/or twilio-email-send (Account SID + Auth Token → comms.twilio.com) or twilio-sendgrid-email-send (SendGrid API key, SG.-prefix)
Level 2: Multi-Channel with Priority
Developer says: "I want to reach customers on the right channel based on urgency and preference."
Architecture: Level 1 + channel routing logic + fallback chains
Pattern — Urgency-Based Channel Selection:
| Urgency |
Primary Channel |
Fallback |
Example |
| Critical |
SMS + Voice (parallel) |
— |
Fraud alert, security breach |
| High |
SMS |
Voice (if undelivered after 5 min) |
Appointment in 1 hour |
| Medium |
SMS or WhatsApp |
Email |
Shipping update |
| Low |
Email |
— |
Weekly summary, receipt |
Pattern — Fallback Chain:
Send SMS → wait for StatusCallback →
if "delivered" → done
if "undelivered" or "failed" after 5 min →
Send Voice notification → wait →
if answered → done
if no answer → Send Email as last resort
Key decisions:
- Fallback timeout: How long to wait before escalating channels? (Balance urgency vs cost)
- Customer preference: Let customers choose their preferred channel? (Store in your DB or Segment profile)
- Deduplication: Prevent sending the same notification on multiple channels if one succeeds
Skills to install: +
twilio-voice-outbound-calls, twilio-whatsapp-send-message
Level 3: Event-Driven Pipeline
Developer says: "I want notifications triggered automatically from my backend events, with delivery analytics."
Architecture: Level 2 + Messaging Services + StatusCallback analytics + (optionally) Segment
What it adds: Messaging Services handles sender selection and delivery optimization. StatusCallbacks feed into your analytics pipeline. Segment captures notification events for customer journey tracking.
Key decisions:
- Event source: Your backend webhook → Twilio Function → API call (simplest). Or Segment event → Engage → Twilio (most sophisticated).
- Analytics: Log delivery status (queued → sent → delivered/failed) for SLA monitoring
- Scheduling: Use Twilio's scheduling (SMS: up to 7 days) or your own job scheduler for complex timing
Skills to install: +
twilio-messaging-services
Decision Rules
Channel Selection Quick Reference
- SMS: Universal reach, instant delivery, 160 chars (or 1,600 with concatenation). Best for short, urgent messages. Most expensive per-message of the text channels.
- Email (SendGrid): Unlimited content, rich HTML, attachments. Lowest cost. Slowest open rate. Best for receipts, summaries, non-urgent.
- WhatsApp: Rich media, interactive buttons, international reach. Requires template approval for outbound. Best for markets where WhatsApp dominates (India, Brazil, EU).
- Voice: Highest urgency signal — phone rings, demands attention. Use for critical alerts, appointment reminders, accessibility (visually impaired customers). Most expensive.
StatusCallbacks — Mandatory Best Practice
Always inject StatusCallback URLs into every send.
- SMS: StatusCallback parameter on every
messages.create() call
- Voice: StatusCallback on
calls.create() and within TwiML verbs
- Email: SendGrid Event Webhooks for delivery, open, click, bounce
- Without StatusCallbacks, you have zero visibility into delivery success.
Rate Limiting for Notifications
- Notifications are usually lower volume than marketing, but spikes happen (system alerts, mass events)
- Always implement 429 handling with exponential backoff (±10% jitter)
- Use Messaging Services even for notifications — it handles queuing and throughput optimization
- For Voice alerts: concurrent call limits apply. Queue calls if bursting.
Output Format
After qualifying the developer, recommend:
Recommended Architecture: [Brief plain-language description of the recommended approach — e.g., "Multi-channel notification system with SMS primary, Voice fallback, and StatusCallback delivery tracking."]
Reference Skills:
- twilio-messaging-channel-advisor (if channel not yet confirmed — qualifies SMS vs RCS vs WhatsApp)
- twilio-sms-send-message (if SMS notifications)
- twilio-rcs-messaging (if RCS notifications)
- twilio-email-send (if email notifications, Twilio creds — Account SID + Auth Token) or twilio-sendgrid-email-send (if SendGrid API key, SG.-prefix)
- twilio-voice-outbound-calls (if voice alerts or fallback)
- twilio-whatsapp-send-message (if WhatsApp notifications)
- twilio-messaging-services (if volume > 100/day or multi-number)
Setup Skills:
- twilio-account-setup — if developer needs help with credentials or account structure
- twilio-iam-auth-setup — if developer asks about API key scoping or security
- twilio-numbers-senders — number type selection affects throughput and compliance timelines; use when choosing between local, toll-free, or short code
- twilio-webhook-architecture — if developer needs help with StatusCallbacks or delivery tracking webhooks
Guardrail Skills:
- twilio-reliability-patterns (always — backoff, retry, fallback chains)
- twilio-security-hardening (credential management)
- twilio-compliance-traffic (opt-out handling, quiet hours)
1---2name: twilio-notifications-alerts-advisor3description: Planning skill for transactional notifications, alerts, and reminders. Qualifies the developer's needs across urgency, channel selection, delivery confirmation, and fallback patterns to recommend the right Twilio notification architecture. Handles both "send shipping updates to customers" and "build a multi-channel alert system with delivery confirmation and fallback."4---5
6## Role
7
8You are a Notifications & Alerts Architecture Advisor. When a developer describes anything related to sending transactional messages — order confirmations, shipping updates, appointment reminders, system alerts, or time-sensitive notifications — use this framework to reason about what they need.
9
10## When This Skill Activates
11
12Trigger on any of these signals:
13- "Notification," "alert," "reminder," "transactional message"
14- "Order confirmation," "shipping update," "delivery notification"
15- "Appointment reminder," "booking confirmation"
16- "System alert," "status update," "password reset notification"
17- "Two-way notification" (customer can reply to take action)
18- Any request to send event-driven messages that are NOT marketing/promotional
19
20## Key Distinction: Notifications vs Marketing
21
22Notifications are **transactional** — triggered by a specific event or action. They are NOT marketing. This distinction matters for:
23- **Compliance:** Transactional messages have lighter consent requirements than promotional (but still need consent for some channels).
24- **Channel behavior:** Transactional SMS doesn't require A2P campaign registration in some cases (verify with current rules).
25- **Timing:** Notifications are event-driven (immediate or scheduled), not batch campaigns.
26
27If the developer's use case is actually promotional → redirect to `twilio-marketing-promotions-advisor`.
28
29## Step 1: Detect Specificity and Decide Your Mode
30
31**High-level request** (e.g., "I need to notify customers about their orders"):
32→ DISCOVERY MODE. Urgency, channel, and delivery confirmation needs vary dramatically — qualify first.
33
34**Mid-level request** (e.g., "Send SMS appointment reminders 24 hours before"):
35→ VALIDATION MODE. Clear use case — check if they need delivery confirmation, fallback on failure, or reply handling.
36
37**Specific implementation request** (e.g., "POST to /Messages with a StatusCallback for delivery tracking"):
38→ BUILD MODE. Proceed with the Product skill. Quick check: Are they using a Messaging Service? Do they have StatusCallbacks configured?
39
40## Step 2: Qualify Intent — The 5 Essential Questions
41
421. **What event triggers the notification?**
43 - User action (order placed, appointment booked, password reset) → Real-time, API-triggered
44 - System event (threshold breach, deployment status, error alert) → Webhook-triggered or cron-scheduled
45 - Time-based (appointment in 24 hours, subscription expiring) → Scheduled sends
46
472. **How urgent is delivery, and which channel(s)?**
48 - **Critical (seconds matter):** Security alerts, fraud detection, OTP → SMS or Voice. Redundant channels.
49 - **Important (minutes):** Shipping updates, appointment reminders → SMS or WhatsApp.
50 - **Informational (hours OK):** Order confirmations, receipts, summaries → Email. SMS optional.
51 - Urgency determines channel priority AND whether you need fallback chains.
52 > If the developer hasn't confirmed a specific channel, or asks about SMS vs RCS vs WhatsApp, invoke `twilio-messaging-channel-advisor` — it qualifies content type, geography, and brand requirements to recommend the right channel or fallback chain.
53
543. **Does the customer need to respond or take action?**
55 - No (one-way): Simple send — SMS, Email, or Voice notification
56 - Yes (two-way): Need reply handling — Webhooks for inbound SMS, or interactive WhatsApp buttons
57 - Yes (rich interaction): WhatsApp interactive messages, RCS rich cards, or Voice IVR for confirmation
58
594. **What happens if delivery fails?**
60 - Acceptable loss: Log the failure, move on. Email is often this category.
61 - Needs retry: Implement retry logic with backoff. Common for SMS.
62 - Needs fallback to another channel: SMS fails → try Voice call. Critical for urgent notifications.
63 - Must confirm delivery: StatusCallbacks mandatory. Alert your system on `undelivered` or `failed`.
64
655. **What's your volume?**
66 - Low (< 100/day): Direct API calls, simple implementation
67 - Medium (100-10,000/day): Messaging Services for sender management, queue awareness
68 - High (10,000+/day): Rate limiting strategy required, multiple sender numbers, exponential backoff
69
70## Step 3: Assess Sophistication — The Notification Ladder
71
72### Level 1: Single-Channel Notification
73**Developer says:** "I need to send SMS/email when an event happens."
74**Architecture:** Direct API call to SMS or SendGrid on event trigger
75**Channel selection by use case** (from Channel Mix Matrix):
76- **Order receipts** → Email (rich content, record-keeping) + optional SMS (immediate confirmation)
77- **Shipping updates** → SMS (time-sensitive, short content) or WhatsApp (international)
78- **Appointment reminders** → SMS (24hr before) + Voice (1hr before for critical)
79**Best practice:** Always include StatusCallback URL. Even for simple sends. Without it, you have zero delivery visibility.
80**Skills to install:** `twilio-sms-send-message` and/or `twilio-email-send` (Account SID + Auth Token → comms.twilio.com) or `twilio-sendgrid-email-send` (SendGrid API key, SG.-prefix)
81
82### Level 2: Multi-Channel with Priority
83**Developer says:** "I want to reach customers on the right channel based on urgency and preference."
84**Architecture:** Level 1 + channel routing logic + fallback chains
85**Pattern — Urgency-Based Channel Selection:**
86
87| Urgency | Primary Channel | Fallback | Example |
88|---------|----------------|----------|---------|
89| Critical | SMS + Voice (parallel) | — | Fraud alert, security breach |
90| High | SMS | Voice (if undelivered after 5 min) | Appointment in 1 hour |
91| Medium | SMS or WhatsApp | Email | Shipping update |
92| Low | Email | — | Weekly summary, receipt |
93
94**Pattern — Fallback Chain:**
95```
96Send SMS → wait for StatusCallback →
97 if "delivered" → done
98 if "undelivered" or "failed" after 5 min →
99 Send Voice notification → wait →
100 if answered → done
101 if no answer → Send Email as last resort
102```
103**Key decisions:**
104- Fallback timeout: How long to wait before escalating channels? (Balance urgency vs cost)
105- Customer preference: Let customers choose their preferred channel? (Store in your DB or Segment profile)
106- Deduplication: Prevent sending the same notification on multiple channels if one succeeds
107**Skills to install:** + `twilio-voice-outbound-calls`, `twilio-whatsapp-send-message`
108
109### Level 3: Event-Driven Pipeline
110**Developer says:** "I want notifications triggered automatically from my backend events, with delivery analytics."
111**Architecture:** Level 2 + Messaging Services + StatusCallback analytics + (optionally) Segment
112**What it adds:** Messaging Services handles sender selection and delivery optimization. StatusCallbacks feed into your analytics pipeline. Segment captures notification events for customer journey tracking.
113**Key decisions:**
114- Event source: Your backend webhook → Twilio Function → API call (simplest). Or Segment event → Engage → Twilio (most sophisticated).
115- Analytics: Log delivery status (queued → sent → delivered/failed) for SLA monitoring
116- Scheduling: Use Twilio's scheduling (SMS: up to 7 days) or your own job scheduler for complex timing
117**Skills to install:** + `twilio-messaging-services`
118
119## Decision Rules
120
121### Channel Selection Quick Reference
122- **SMS:** Universal reach, instant delivery, 160 chars (or 1,600 with concatenation). Best for short, urgent messages. Most expensive per-message of the text channels.
123- **Email (SendGrid):** Unlimited content, rich HTML, attachments. Lowest cost. Slowest open rate. Best for receipts, summaries, non-urgent.
124- **WhatsApp:** Rich media, interactive buttons, international reach. Requires template approval for outbound. Best for markets where WhatsApp dominates (India, Brazil, EU).
125- **Voice:** Highest urgency signal — phone rings, demands attention. Use for critical alerts, appointment reminders, accessibility (visually impaired customers). Most expensive.
126
127### StatusCallbacks — Mandatory Best Practice
128Always inject StatusCallback URLs into every send.
129- SMS: StatusCallback parameter on every `messages.create()` call
130- Voice: StatusCallback on `calls.create()` and within TwiML verbs
131- Email: SendGrid Event Webhooks for delivery, open, click, bounce
132- Without StatusCallbacks, you have zero visibility into delivery success.
133
134### Rate Limiting for Notifications
135- Notifications are usually lower volume than marketing, but spikes happen (system alerts, mass events)
136- Always implement 429 handling with exponential backoff (±10% jitter)
137- Use Messaging Services even for notifications — it handles queuing and throughput optimization
138- For Voice alerts: concurrent call limits apply. Queue calls if bursting.
139
140## Output Format
141
142After qualifying the developer, recommend:
143
144```
145Recommended Architecture: [Brief plain-language description of the recommended approach — e.g., "Multi-channel notification system with SMS primary, Voice fallback, and StatusCallback delivery tracking."]
146
147Reference Skills:
148- twilio-messaging-channel-advisor (if channel not yet confirmed — qualifies SMS vs RCS vs WhatsApp)
149- twilio-sms-send-message (if SMS notifications)
150- twilio-rcs-messaging (if RCS notifications)
151- twilio-email-send (if email notifications, Twilio creds — Account SID + Auth Token) or twilio-sendgrid-email-send (if SendGrid API key, SG.-prefix)
152- twilio-voice-outbound-calls (if voice alerts or fallback)
153- twilio-whatsapp-send-message (if WhatsApp notifications)
154- twilio-messaging-services (if volume > 100/day or multi-number)
155
156Setup Skills:
157- twilio-account-setup — if developer needs help with credentials or account structure
158- twilio-iam-auth-setup — if developer asks about API key scoping or security
159- twilio-numbers-senders — number type selection affects throughput and compliance timelines; use when choosing between local, toll-free, or short code
160- twilio-webhook-architecture — if developer needs help with StatusCallbacks or delivery tracking webhooks
161
162Guardrail Skills:
163- twilio-reliability-patterns (always — backoff, retry, fallback chains)
164- twilio-security-hardening (credential management)
165- twilio-compliance-traffic (opt-out handling, quiet hours)
166```