Appearance
Twilio SMS
SMS from your own Twilio number: artwork approval texts, ready-for-pickup messages, dispatch notifications.
Connecting
Insight, then Integrations, then the Twilio (SMS) card.
| Field | Where to find it |
|---|---|
| Account SID | Twilio console dashboard |
| Auth token | Twilio console dashboard |
| From number | Your Twilio number in E.164 format, for example +61412345678 |
E.164 means the plus and the country code. 0412 345 678 will not work.
Plan gate
SMS needs Starter or above. On Free, SMS templates do not send.
Inbound STOP and START
Point your Twilio number's inbound webhook at /webhooks/twilio/inbound on your workspace host.
| Keyword | Effect |
|---|---|
| STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, QUIT | Opts the sender's number out. Every contact with that number is flagged |
| START, UNSTOP, YES | Opts them back in |
The tenant is resolved from the receiving number, and the request is verified against that tenant's own auth token. An unknown number or a bad signature is rejected with no side effects, which is what you want on an unauthenticated endpoint.
Twilio sends its own carrier-mandated STOP confirmation for the default keywords, so the customer gets a confirmation without you sending a second message.
Which messages go by SMS
By default only the dispatch SMS. Add more sparingly: an SMS costs money and interrupts someone, so it should carry information they need now.
Good candidates: ready for pickup, and an approval nudge for a customer who is not answering email. Bad candidates: anything they can read later.
Cost control
- Keep messages short. A long SMS is billed as several segments. The dispatch SMS is usually your highest-volume message, so every character in it multiplies.
- Do not put URLs in unless they are needed. Links lengthen a message and can trip carrier filtering.
- Check the SMS sent counter on the billing page monthly.
Troubleshooting
| Symptom | Check |
|---|---|
| No SMS at all | Plan allows SMS, credentials verified, the template is active |
| Sends fail for some numbers | Number format. Contacts need country codes |
| A customer stopped receiving | They may have texted STOP. Check their contact's SMS opt-out |
| Inbound STOP not working | The Twilio number's inbound webhook is not pointed at the endpoint |