Twilio (SMS and WhatsApp)
Settings → Text messages, and SMS or WhatsApp on event schedules. Scale plan (sms; sms_monthly counted). Spec:
docs/INTEGRATIONS.md §3 v2. The organizer's guide is text-messages.md.
What is sent
A schedule's SMS or WhatsApp template, rendered for the household's anchor, to the contact's phone number — one text per
household. Every link is shortened to /s/{code} on the organization's own address, and a text over 320 characters is
not sent (the message records why). WhatsApp messages use a template WhatsApp has approved (a Twilio Content SID).
What comes back
| From Twilio | In EntryWick |
|---|---|
delivery status (delivered, undelivered, failed, WhatsApp read) |
the message's status |
| error 21610 (the person opted out at the carrier) | contacts.preferences.sms = false |
| an incoming STOP, UNSUBSCRIBE, CANCEL, END, QUIT | contacts.preferences.sms = false — checked when each text is sent |
| an incoming START, UNSTOP | contacts.preferences.sms = true |
| an incoming HELP | a reply: who is texting, where to write, how to stop |
Every callback must carry Twilio's signature for the account it names.
Setting it up
EntryWick's account (the default). Nothing to do per organization. The platform's TWILIO_SID, TWILIO_TOKEN and
TWILIO_FROM are set once, with EW_SMS_PROVIDER=twilio, and the number's incoming-message webhook points at
https://{platform host}/webhooks/twilio/inbound (HTTP POST).
An organization's own account. Settings → Text messages → Account SID, auth token and number (and a WhatsApp sender if it has one) → Connect. Then, in Twilio, set that number's incoming-message webhook to the address the page shows.
Limits
- 320 characters per text after links are shortened; longer texts fail rather than split.
- Counted once per message toward the month (
sms_monthly), never blocked. Segments are recorded but not billed separately. - US 10DLC: texting US numbers from a 10-digit number needs A2P 10DLC brand and campaign registration by whoever owns the number. Unregistered traffic is filtered. Allow days to weeks.
- WhatsApp can only start a conversation with an approved template; free-form WhatsApp replies are not sent.
- A STOP to EntryWick's shared number stops texts from every organization on that number to that phone.