SKILL.md
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
- Twilio integration enabled at https://app.hyperfx.ai/apps.
WhatsApp Sandbox Setup (Required for Testing)
Before sending WhatsApp messages in sandbox/testing mode, users must join the sandbox:
- User goes to: https://console.twilio.com/us1/develop/sms/try-it-out/whatsapp-learn
- They find their unique join code (e.g., "join happy-turtle")
- They send that message from WhatsApp to +14155238886
- Once confirmed, use
twiliowhatsappsendwithfrom_numberset 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
twiliosmssend- Send SMS/MMS messagestwiliowhatsappsend- Send WhatsApp messages (sandbox: use +14155238886 as from_number)twiliomessageslist- List message historytwiliomessagesdeliverystatuscheck- Check if message was delivered
Voice Calls
twiliocallscreate- Initiate outbound call (requires TwiML URL or inline TwiML)twiliocallslist- List call historytwiliorecordingslist- List call recordings
Phone Numbers
twiliophonenumberslist- List numbers in account (use to find valid fromnumber)twiliophonenumbers_lookup- Validate phone number and get carrier info
Verification (OTP)
twilioverificationservices_create- Create verification service firsttwilioverificationssend- Send OTP codetwilioverificationscheck- Verify user's code
Common Patterns
Before sending SMS/WhatsApp: Call twiliophonenumbers_list first to find a valid sender number.
WhatsApp sandbox flow:
- Confirm user has joined sandbox (provide instructions if not)
- Call
twiliowhatsappsendwith:
{
"to": "+1XXXXXXXXXX",
"body": "Hello from the assistant",
"from_number": "+14155238886"
}
Phone verification flow:
Step 1 -- Call twilioverificationservices_create with:
{
"friendly_name": "My App"
}
Step 2 -- Call twilioverificationssend with:
{
"service_sid": "<service_sid_from_step_1>",
"to": "+1XXXXXXXXXX",
"channel": "sms"
}
Step 3 -- Call twilioverificationscheck with:
{
"service_sid": "<service_sid>",
"to": "+1XXXXXXXXXX",
"code": "<user_provided_code>"
}
Safety Rules
- Never assume a valid sender number; always verify with
twiliophonenumbers_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.