twilio

$npx mdskill add hyperfx-ai/marketing-skills/twilio

Send SMS, WhatsApp messages, make calls, and manage Twilio numbers.

  • Sends SMS and WhatsApp messages or makes voice calls via Twilio.
  • Requires Hyper MCP and Twilio integration enabled at HyperFX.
  • Uses Twilio API to send messages, make calls, or manage phone numbers.
  • Returns delivery status, call logs, or verification results to the user.

SKILL.md

.github/skills/twilioView on GitHub ↗
---
name: twilio
description: Twilio messaging, voice, phone number management, and verification workflows. Use when the user wants to send SMS or WhatsApp messages, make voice calls, buy or configure phone numbers, or run OTP verification.
use_cases:
  - Send SMS messages
  - Send WhatsApp messages
  - Make phone calls
  - Manage Twilio phone numbers
  - Build OTP verification flows
triggers:
  - twilio
  - sms
  - whatsapp
  - phone verification
  - otp
  - send message
requires_toolkits:
  - twilio_toolkit
suggested_toolkits:
  - file_manager
icon: twilio
short_description: Send SMS and WhatsApp messages and manage Twilio messaging workflows.
---

# Twilio Communications

Use this skill for all Twilio tasks including SMS, WhatsApp, voice calls, and verification.

## Requirements

- **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
- **Twilio integration** enabled at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps).

## WhatsApp Sandbox Setup (Required for Testing)

Before sending WhatsApp messages in sandbox/testing mode, users must join the sandbox:

1. User goes to: https://console.twilio.com/us1/develop/sms/try-it-out/whatsapp-learn
2. They find their unique join code (e.g., "join happy-turtle")
3. They send that message from WhatsApp to **+14155238886**
4. Once confirmed, use `twilio_whatsapp_send` with `from_number` set to `"+14155238886"`

**If WhatsApp message fails with "not a valid WhatsApp-enabled number" or similar:**
- The user likely hasn't joined the sandbox yet
- Guide them through the steps above

## Tool Quick Reference

### Messaging
- `twilio_sms_send` - Send SMS/MMS messages
- `twilio_whatsapp_send` - Send WhatsApp messages (sandbox: use +14155238886 as from_number)
- `twilio_messages_list` - List message history
- `twilio_messages_delivery_status_check` - Check if message was delivered

### Voice Calls
- `twilio_calls_create` - Initiate outbound call (requires TwiML URL or inline TwiML)
- `twilio_calls_list` - List call history
- `twilio_recordings_list` - List call recordings

### Phone Numbers
- `twilio_phone_numbers_list` - List numbers in account (use to find valid from_number)
- `twilio_phone_numbers_lookup` - Validate phone number and get carrier info

### Verification (OTP)
- `twilio_verification_services_create` - Create verification service first
- `twilio_verifications_send` - Send OTP code
- `twilio_verifications_check` - Verify user's code

## Common Patterns

**Before sending SMS/WhatsApp:** Call `twilio_phone_numbers_list` first to find a valid sender number.

**WhatsApp sandbox flow:**
1. Confirm user has joined sandbox (provide instructions if not)
2. Call `twilio_whatsapp_send` with:
```json
{
  "to": "+1XXXXXXXXXX",
  "body": "Hello from the assistant",
  "from_number": "+14155238886"
}
```

**Phone verification flow:**

Step 1 -- Call `twilio_verification_services_create` with:
```json
{
  "friendly_name": "My App"
}
```

Step 2 -- Call `twilio_verifications_send` with:
```json
{
  "service_sid": "<service_sid_from_step_1>",
  "to": "+1XXXXXXXXXX",
  "channel": "sms"
}
```

Step 3 -- Call `twilio_verifications_check` with:
```json
{
  "service_sid": "<service_sid>",
  "to": "+1XXXXXXXXXX",
  "code": "<user_provided_code>"
}
```

## Safety Rules

- Never assume a valid sender number; always verify with `twilio_phone_numbers_list`.
- Do not continue silently after failures; report exact error and ask user how to proceed.
- For verification flows, keep service SIDs and code checks explicit and auditable.

More from hyperfx-ai/marketing-skills

SkillDescription
ad-creative-generationGenerate on-brand ad creatives — visuals + copy — for Google, Meta (Facebook / Instagram), and other paid platforms via the Hyper MCP. Extracts brand identity from a website, writes ad copy variants, and produces brand-consistent images using reference-based image generation. Use when the user asks for ad creative, ad copy variants, RSA headlines, Meta ad creative, display ads, carousel ads, or A/B test variants.
amazon-adsPlan and create Amazon Sponsored Products campaigns end-to-end via the Hyper MCP. Use when the user wants to launch Amazon Ads, set up Sponsored Products, manage keyword targeting and bids, configure ASIN or category product targeting, add negative keywords, automate budget rules, analyze ACoS / ROAS, or generate Sponsored Products reports. Also triggers on amazon ppc, amazon campaign, amazon keywords, or amazon report.
blog-generationGenerate one excellent, on-brand blog post per run for any business, built to rank on Google and get cited by AI search (ChatGPT, Claude, Perplexity, AI Overviews). A stateful engine: reads a brand strategy doc, picks a fresh topic (never repeats), researches, writes in the brand's voice, and logs the post back. Use when the user wants to write a blog post, run a daily or recurring blog task, or generate SEO / AEO / blog content. For keyword data and audits, defer to seo-research.
brand-contextCreate and maintain a single brand-context.md — positioning, audience, personas, pain points, customer language, voice, proof points — that every other marketing skill reads before asking the user to re-explain their business. Auto-drafts from the brand's site via Firecrawl, or builds the doc through a short interview. Use when the user wants to set up brand context, onboard a new brand, define positioning / brand voice / ICP, or complains about re-answering the same brand questions.
email-lifecyclePlan, build, and run lifecycle email programs through the Hyper MCP — welcome / onboarding, nurture, re-engagement, win-back, and abandoned-cart sequences across whichever provider fits (Klaviyo for ecommerce, Resend for SaaS / dev tools, Beehiiv for newsletters, Gmail for low-volume ops). Use when the user wants to build an email sequence, set up a welcome flow, recover lapsed users, send a broadcast, manage a list / audience / segment, or asks about lifecycle / drip / nurture campaigns.
hyper-cliUse the Hyper CLI to run Hyper marketing skills from a terminal. Use when the user wants to use `hyperai`, inspect live tool schemas, translate MCP tool names from a skill into CLI commands, switch connected accounts, or run marketing tools outside an MCP-native agent host.
instagramManage Instagram professional accounts via the Hyper MCP — publish photos, Reels, Stories, and carousels; moderate comments and mentions; send Direct Messages; pull account and media insights. Uses the Instagram API with Instagram Login (Business Login). Use when the user mentions Instagram posts, Reels, Stories, carousels, IG DMs, Instagram comments, mentions, profile, or analytics. For paid Instagram advertising, use `meta-ads`.
meta-ads-libraryResearch competitor Facebook and Instagram ads from the Meta Ads Library via the Hyper MCP — search by keyword, pull full ad creative and metadata, enrich with page contact info for lead generation, and surface structured ad-intelligence summaries in chat. Use when the user wants to scrape the Meta Ads Library, spy on competitor ads, monitor new ads in a category, build a lead list from advertisers, or surface creative trends across an industry.
openai-adsPlan and manage OpenAI Ads (ChatGPT ads) campaigns end-to-end via the Hyper MCP — API-key auth, account discovery, geo targeting, image upload, chat_card and product-feed creatives, custom audiences, conversion tracking, status flow, and insights, with integer-micros money values. Use when the user wants to launch OpenAI ads, ChatGPT ads, chat card ads, manage OpenAI ad groups or audiences, or pull OpenAI Ads insights.
pinterest-adsPlan and create Pinterest Ads campaigns through the Hyper MCP — Awareness, Consideration, Video View, Web Conversion, Catalog Sales, and Web Sessions objectives — with strict microcurrency budgeting, CBO rules, audience and customer-list management, conversion tag handling, keyword targeting, and campaign analytics. Use when the user mentions Pinterest ads, Pinterest campaign, Pinterest ad group, Pinterest audience, Pinterest conversion tracking, Pinterest tag, or Pinterest customer list.