# Twilio messaging overview Human Guide

## What This Is For
Twilio's Messaging platform sends and receives messages across multiple channels through a single API. It gives the agent a clearer input/output frame for twilio messaging overview: what context to ask for, what decisions to make, and what usable artifact to return.

Use this as a human-readable version of the Twilio messaging overview agent skill. It is meant for marketers, operators, founders, and other non-coders who want the workflow without reading agent-specific implementation instructions.

## When To Use This
- Use this when you need a repeatable process for twilio messaging overview.
- Use this when the task needs judgment, examples, constraints, or a clear output format rather than a one-off prompt.
- Use this when you want to hand an AI assistant enough context to produce a usable marketing artifact.

## When Not To Use This
- Do not use this when you only need a quick factual answer.
- Do not use this when the work depends on private data you cannot share with the assistant.
- Do not use this as a replacement for legal, compliance, financial, or medical review.

## What You Need Before Starting
- The goal or business outcome you want.
- The audience, customer segment, or market context.
- Any source material the assistant should respect, such as notes, briefs, examples, URLs, or brand guidance.
- Constraints such as tone, length, channel, deadline, region, or approval requirements.
- A clear definition of what a good final answer should look like.

## Step-By-Step Workflow
1. State the job clearly: "Use the Twilio messaging overview guide to help me with..."
2. Add context: audience, goal, offer, channel, source material, and constraints.
3. Ask the assistant to identify missing inputs before producing the final output.
4. Have the assistant follow the skill-specific guidance below.
5. Review the result against the final checklist and ask for revisions where needed.

## Skill-Specific Guidance
- `twilio-account-setup` → `twilio-sms-send-message`
- `twilio-compliance-onboarding` → `twilio-compliance-traffic`
- `twilio-messaging-services` (Compliance Toolkit + SMS Pumping Protection sections)
- `twilio-whatsapp-send-message` → `twilio-content-template-builder`
- `twilio-messaging-services` (Intelligent Alerts section) → `twilio-messaging-webhooks`
- **Cannot send cross-channel in a single API call** — Each `messages.create()` targets one channel. For multi-channel fallback, implement sequencing in your application (e.g., try SMS, on failure send WhatsApp).
- **Cannot use WhatsApp free-form messages outside the 24-hour window** — After 24 hours since the user's last inbound message, you must use a pre-approved template. See `twilio-whatsapp-send-message`.
- **Cannot send MMS outside US, Canada, and Australia** — MMS is only supported on US/CA/AU numbers. For international rich media, use WhatsApp.
- **Cannot use SMS pumping protection or compliance toolkit without a Messaging Service** — These features are configured per Messaging Service. Raw `from` number sends don't get these protections.
- **Cannot mix channels in a single Messaging Service sender pool** — A Messaging Service manages phone numbers for SMS/MMS. WhatsApp senders are configured separately.
- **Cannot guarantee delivery on any channel** — SMS can be carrier-filtered, WhatsApp can queue-timeout (4 hours). Always implement status callbacks to track delivery.
- **Send SMS:** `twilio-sms-send-message`

## Decision Points And Nuance
The original skill emphasizes: Overview, Which Channel Should I Use?, Unified API, Onboarding Sequence, Step 1: Foundation, Step 2: Sender Strategy, Step 3: Compliance, Step 4: Protect, Step 5: Add Channels, Step 6: Monitor.

Use these questions to steer the work:
- What is the intended audience or buyer?
- What source material must be preserved?
- What should the assistant optimize for: clarity, persuasion, accuracy, speed, creativity, or conversion?
- What examples represent the desired quality bar?
- What should the assistant avoid?

## Common Mistakes
- | Channel | Address format | Rich media | Template required? | Reach | Skill |
- Register for A2P 10DLC (required for US SMS traffic). Set up opt-out handling.
- **Cannot use WhatsApp free-form messages outside the 24-hour window** — After 24 hours since the user's last inbound message, you must use a pre-approved template. See `twilio-whatsapp-send-message`.
- **Cannot use SMS pumping protection or compliance toolkit without a Messaging Service** — These features are configured per Messaging Service. Raw `from` number sends don't get these protections.

## Copy-And-Paste Prompt
```text
Use the Twilio messaging overview human guide.

My goal:
[Describe the business outcome]

Audience:
[Describe who this is for]

Context and source material:
[Paste notes, examples, links, or existing copy]

Constraints:
[Tone, length, channel, timeline, must-include items, must-avoid items]

Before producing the final output, ask me for any missing information that would materially improve the result.
```

## Final Checklist
- [ ] The output matches the original goal.
- [ ] The audience and context are reflected in the answer.
- [ ] Important constraints and source material were preserved.
- [ ] The assistant made the relevant decisions explicit.
- [ ] The final artifact is ready to use, review, or hand to the next person.

## Source
This guide was generated from the twilio/ai skill entry for `twilio-messaging-overview`.

## Source Skill Notes
These notes preserve the nuance from the original skill. Use them as supporting reference when the workflow above feels too generic.

## Overview

Twilio's Messaging platform sends and receives messages across multiple channels through a single API. All channels use `client.messages.create()` — only the address format changes.

| Channel | Address format | Rich media | Template required? | Reach | Skill |
|---------|---------------|------------|-------------------|-------|-------|
| **SMS/MMS** | `+15551234567` (E.164) | MMS: images/video, US/CA/AU only | No | Global (180+ countries) | `twilio-sms-send-message` |
| **WhatsApp** | `whatsapp:+15551234567` | Yes (images, docs, video, location) | Outside 24hr window: yes | 190+ countries | `twilio-whatsapp-send-message` |
| **RCS** | Same number (via Messaging Service) | Yes (rich cards, carousels, video) | No | US + expanding globally | `twilio-rcs-messaging` |
| **Facebook Messenger** | `messenger:{page-scoped-id}` | Yes | No | Global | — |

---

## Which Channel Should I Use?

| If you need to... | Use | Why |
|-------------------|-----|-----|
| Reach any phone number | SMS | Universal — works on every phone, no app needed |
| Send rich media globally | WhatsApp | Images, docs, video work worldwide (MMS is US/CA/AU only) |
| Send time-sensitive alerts (OTP, outages) | SMS | Highest open rates, no app dependency |
| Reach opted-in audience at lower cost | WhatsApp | No per-message fee in many markets |
| Run marketing campaigns across channels | Start with `twilio-marketing-promotions-advisor` | Planner skill handles channel mix, compliance, and fallback |
| Send transactional notifications | Start with `twilio-notifications-alerts-advisor` | Planner skill handles urgency-based channel routing |

**Not sure?** Use a Planner skill first — it will qualify your use case and recommend the right channel combination.

---

## Unified API

All channels share `messages.create()`. The only difference is the address format in `from` and `to`.

**Python**
```python
import os
from twilio.rest import Client

client = Client(os.environ["TWILIO_ACCOUNT_SID"], os.environ["TWILIO_AUTH_TOKEN"])

# SMS
sms = client.messages.create(
    from_="+15017122661",
    to="+15558675310",
    body="Your order shipped."
)

# WhatsApp — same API, prefixed addresses
whatsapp = client.messages.create(
    from_="whatsapp:+15017122661",
    to="whatsapp:+15558675310",
    body="Your order shipped."
)
```

**Node.js**
```javascript
const client = require("twilio")(process.env.TWILIO_ACCOUNT_SID, process.env.TWILIO_AUTH_TOKEN);

// SMS
const sms = await client.messages.create({
    from: "+15017122661",
    to: "+15558675310",
    body: "Your order shipped.",
});

// WhatsApp — same API, prefixed addresses
const whatsapp = await client.messages.create({
    from: "whatsapp:+15017122661",
    to: "whatsapp:+15558675310",
    body: "Your order shipped.",
});
```

---

## Onboarding Sequence

Set up messaging in this order. Each step builds on the previous.

### Step 1: Foundation
