Skip to main content
skill CX Codex GP ChatGPT official · OpenAI

twilio-messaging-overview — Claude skill: Twilio channel guide

A navigation skill for Twilio Messaging: pick between SMS, WhatsApp, RCS and Messenger, then follow the setup order from first message to production monitoring.

Install into Codex · Skills CLI (Vercel) All methods and platforms ↓
npx skills add openai/plugins --skill twilio-messaging-overview -a codex
Open on GitHub

What twilio-messaging-overview does

The skill lays out how Twilio sends messages: every channel goes through the same client.messages.create() call, and only the address format changes. It ships a comparison table for SMS/MMS, WhatsApp, RCS and Facebook Messenger covering address format, rich media support, template requirements and reach, plus a second table that maps a job to a channel — reaching any phone number, sending rich media, time-sensitive alerts, marketing campaigns.

From there it walks through a six-step onboarding sequence: get a number and send the first SMS, create a Messaging Service with a sender pool, register for A2P 10DLC, turn on SMS pumping protection, add channels with Content Templates, then set up monitoring with status callbacks. Each step names the skill to pick up next. A separate CANNOT section lists the hard limits: no cross-channel send in one call, MMS only on US, Canada and Australia numbers, and WhatsApp free-form messages blocked outside the 24-hour window.

One limit matters more than the rest. SMS pumping protection and the compliance toolkit are configured per Messaging Service, so raw from-number sends get neither. If you plan to go to production, create the Messaging Service early instead of bolting it on later. No channel guarantees delivery either — status callbacks are on you.

What it helps with

  • choose a channel for the job: SMS, WhatsApp, RCS or Messenger
  • see how address formats differ across channels
  • plan the setup order from first message to monitoring
  • find out when WhatsApp needs a template instead of free-form text
  • understand why MMS stops at US, Canada and Australia

Example prompts for the agent

  • Which Twilio channel should I use for urgent OTP alerts?
  • Walk me through the Twilio Messaging onboarding sequence from first SMS to monitoring
  • Why won't my MMS send to an international number?

How to install twilio-messaging-overview

1Skills CLI (Vercel)

npx skills add openai/plugins --skill twilio-messaging-overview -a codex

2Manually: put the files in place

.agents/skills/twilio-messaging-overview/SKILL.md

For all projects use ~/.agents/skills/

Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them

Questions about twilio-messaging-overview

How do I install twilio-messaging-overview in Claude?

Use the skills CLI: npx skills add openai/plugins --skill twilio-messaging-overview, then the agent-specific form npx skills add openai/plugins --skill twilio-messaging-overview -a codex. The skill file lands at .agents/skills/twilio-messaging-overview/SKILL.md.

What does twilio-messaging-overview do?

It is an overview skill for Twilio Messaging channels. It compares SMS/MMS, WhatsApp, RCS and Facebook Messenger, shows the shared messages.create() API, and gives a six-step setup order.

Can I send to several channels in one API call?

No. Each messages.create() call targets one channel, so multi-channel fallback has to live in your application — try SMS first, then send WhatsApp if it fails.

Source text

SKILL.md · MIT
---
name: twilio-messaging-overview
description: >
  Twilio Messaging channel overview and onboarding guide. Covers all
  channels (SMS, WhatsApp, RCS, Facebook Messenger), the unified
  Messages API, channel selection guidance, and the recommended setup
  sequence from first message to production monitoring. Start here
  before choosing a specific messaging channel.
---

## 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
Get a Twilio number, send your first SMS.
- `twilio-account-setup` → `twilio-sms-send-message`

### Step 2: Sender Strategy
Create a Messaging Service and add your numbers to a sender pool. Use `messagingServiceSid` instead of `from` for all production sends — this enables geo-match, sticky sender, and unlocks compliance features.
- `twilio-messaging-services`

### Step 3: Compliance
Register for A2P 10DLC (required for US SMS traffic). Set up opt-out handling.
- `twilio-compliance-onboarding` → `twilio-compliance-traffic`

### Step 4: Protect
Enable SMS pumping protection (prevents artificial traffic inflation) and compliance toolkit (quiet hours, reassigned number detection) on your Messaging Service.
- `twilio-messaging-services` (Compliance Toolkit + SMS Pumping Protection sections)

### Step 5: Add Channels
Add WhatsApp or other channels. Use Content Templates for cross-channel message formatting.
- `twilio-whatsapp-send-message` → `twilio-content-template-builder`

### Step 6: Monitor
Enable intelligent alerts for error pattern detection. Set up status callbacks for delivery tracking.
- `twilio-messaging-services` (Intelligent Alerts section) → `twilio-messaging-webhooks`

---

## CANNOT

- **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.

---

## Next Steps

- **Send SMS:** `twilio-sms-send-message`
- **Send RCS:** `twilio-rcs-messaging`
- **Send WhatsApp:** `twilio-whatsapp-send-message`
- **Set up sender pools and production features:** `twilio-messaging-services`
- **Channel selection for marketing:** `twilio-marketing-promotions-advisor`
- **Channel selection for notifications:** `twilio-notifications-alerts-advisor`

© Twilio · MIT · openai/plugins

Similar skills

Everything for Backend and APIs →

From the same set304

The whole set →
hyperframes A skill for building video in HTML: compositions, title cards, captions, narration and music-driven animation. Useful when the video should come out of code, not an editor. CX Codex GP ChatGPT 2installs upgrading-expo Walks the agent through an Expo SDK upgrade: install commands, diagnostics, cache cleanup and broken dependency fixes. CX Codex GP ChatGPT 2installs building-mcp-server-on-cloudflare A skill that walks the agent through building a remote MCP server on Cloudflare Workers: tools, OAuth, deployment. Useful when you need to expose your own functions over MCP. CX Codex GP ChatGPT 2installs knowledge-update Injects up-to-date Vercel platform facts into the session and overrides stale model knowledge. Useful when your agent still reaches for Edge Functions or vercel.json. CX Codex GP ChatGPT 1installs twilio-account-setup Walks you from Twilio signup to your first sent message: credentials, phone number, SDK, subaccounts. CX Codex GP ChatGPT 1installs shopify-storefront-graphql Writes GraphQL queries and mutations against the Shopify Storefront API, searching the docs first and validating the code before it reaches you. CX Codex GP ChatGPT 1installs shopify-onboarding-dev Walks a developer from nothing to a working Shopify setup: installs the CLI, wires up the AI toolkit, then asks what you want to build. CX Codex GP ChatGPT 1installs shopify-custom-data A Claude and Claude skill that walks the agent through Metafields and Metaobjects in Shopify apps. CX Codex GP ChatGPT 1installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor