SMS Channel
Overview
The SMS channel adds plain-text messaging to WaDesk through two providers — Twilio and MSG91. Inbound texts land in the Team Inbox, agents reply from the same screen, and you can run bulk SMS broadcasts and SMS campaigns with real delivery analytics. SMS is the universal fallback: it reaches any mobile, with no app required, which makes it ideal for OTPs, order updates and reminders.
Each connected number knows its own provider, so a workspace can run Twilio and MSG91 side by side, and every send — inbox reply, broadcast or campaign — uses the right transport automatically.
How the Channel Works
- You connect a provider by entering its API credentials. WaDesk sends via the provider's HTTP API and receives inbound texts and delivery receipts via callback URLs you register with the provider.
- Inbound: a text to your number hits the provider, which POSTs it to WaDesk's inbound URL; WaDesk creates a contact and conversation.
- Delivery reports (DLR): the provider POSTs status updates (sent / delivered / failed) to WaDesk's status URL, which roll into your message and campaign analytics.
- SMS is text-only: no read receipts, and long messages split into multiple segments (which affects cost).
Twilio: Where to Get Credentials
Best for global coverage, two-way SMS and reliable delivery receipts.
- Create a Twilio account at
twilio.comand open the Console (console.twilio.com). - Copy your Account SID & Auth Token. They're on the Console dashboard under Account Info. The Auth Token is secret — treat it like a password.
- Get a messaging-capable number. Go to Phone Numbers → Buy a number and pick one with the SMS capability in the country you need. (For high volume or many numbers, create a Messaging Service and add your numbers to it.)
- Enter them in WaDesk. In Channels → SMS, choose Twilio, and paste the Account SID, Auth Token and the sending number (E.164, e.g.
+14155551234). - Set the callbacks. WaDesk shows an inbound URL and a status-callback URL. In the Twilio Console, open your number's Messaging configuration and paste the inbound URL into “A message comes in” (HTTP POST); WaDesk also passes the status-callback on each send so delivery receipts return automatically.
Test vs live: Twilio has test credentials that don't send real messages — use your live SID/token to actually deliver. Trial accounts can only text verified numbers until you upgrade.
MSG91: Where to Get Credentials
Best for India and regional bulk SMS, with DLT-registered sender IDs and template/flow sends.
- Create an MSG91 account at
msg91.comand open the panel (control.msg91.com). - Copy your Auth Key. Find it under Settings / API in the panel. This single key authenticates your sends.
- Register a Sender ID. Create a 6-character alphabetic Sender ID (e.g.
ACMEIN). In India this must be DLT-registered (see below). - (For template sends) get a Flow/Template ID. If you use MSG91 Flows/DLT templates, create the template in the panel and copy its Flow ID / Template ID.
- Enter them in WaDesk. In Channels → SMS, choose MSG91, paste the Auth Key and Sender ID (and Flow/Template ID if using templates).
- Set the inbound & DLR webhooks. In the MSG91 panel, point the inbound and delivery-report webhooks at the URLs WaDesk shows, so incoming texts and statuses reach WaDesk.
India DLT is mandatory. Indian regulation (TRAI) requires SMS senders to register on a DLT platform: register your business entity, your Sender ID (Header), and every message content template. Unregistered sender IDs or unapproved content are blocked by the operators, not by WaDesk. Register templates for both promotional and transactional content you plan to send.
Provider Comparison
| Provider | Best for | You provide | Two-way inbound |
|---|---|---|---|
| Twilio | Global coverage, two-way SMS, delivery receipts. | Account SID, Auth Token, an SMS number. | Yes (via inbound webhook on the number). |
| MSG91 | India & regional bulk SMS, DLT sender IDs, templates. | Auth Key, Sender ID (DLT), optional Flow/Template ID. | Yes, where a two-way/virtual number is provisioned. |
Connecting an SMS Number
- Open the SMS page — Channels → SMS in the menu (also reachable from the Devices page's Add → SMS card, which links here).
- Pick the provider — Twilio or MSG91.
- Enter the credentials from the sections above.
- Copy the callback URLs WaDesk shows into the provider (inbound + delivery report).
- Save. The number appears as a connected SMS sender, ready for the inbox, broadcasts and campaigns. Send yourself a test text to confirm two-way flow.
Message Segments, Cost & Limits
| Topic | Detail |
|---|---|
| Segments | A single SMS is 160 characters (GSM-7). Longer messages split into concatenated segments of ~153 chars each. Any non-GSM character (many emoji, some accents) switches the whole message to UCS-2, dropping the limit to 70 characters per segment. You're billed per segment. |
| Cost | SMS is billed by your provider, per segment, per destination country. Keep messages short and stick to GSM characters to control cost. |
| Throughput | Per-number and per-account send rates apply (and India has DLT scrubbing delays). WaDesk paces broadcasts/campaigns to the provider's limits. |
| No read receipts | SMS reports sent/delivered/failed only — there is no “read” status. |
Replying in the Inbox
- Inbound texts create a contact and a conversation, threaded by the customer's phone number.
- Replies typed in the inbox are sent back over SMS through the same number, using the correct provider transport.
- Delivery status (sent / delivered / failed) is captured from the provider's DLR callbacks and shown on the message.
SMS Broadcasts
Open More → Broadcasts and choose SMS. Pick the SMS number, select your contacts or groups, write the text, and send now or schedule. Each recipient is tracked as sent / delivered / failed from the provider's receipts, with a failure-reason breakdown.
SMS Campaigns
Open Campaigns, choose the SMS channel in the chooser, then build a simple campaign:
- Pick the SMS number to send from.
- Write your message (plain text; or select a registered template on MSG91).
- Choose the audience — contacts, groups or tags.
- Send now or schedule for later.
The campaign's analytics page shows real sent / delivered / failed counts rolled up from Twilio or MSG91 delivery reports — no estimated numbers.
Compliance: only text people who opted in, include an opt-out where required (e.g. Reply STOP to unsubscribe), respect local regulations, and in India send only DLT-registered content from a registered header. Violations are blocked by operators and can suspend your sender ID.
Troubleshooting
| Symptom | Cause & fix |
|---|---|
| Sends fail immediately (Twilio) | Trial account texting an unverified number, wrong SID/token, or a number without SMS capability. Verify the recipient, upgrade the account, or buy an SMS-capable number. |
| Sends blocked (MSG91/India) | Sender ID or content template not DLT-approved. Register the header and template on your DLT platform. |
| No inbound texts | The inbound webhook isn't set on the provider/number. Paste WaDesk's inbound URL into the number's messaging config. |
| No delivery updates | The status/DLR callback isn't configured. Set the delivery-report webhook (MSG91) or confirm the status callback is reaching WaDesk (Twilio). |
| Unexpectedly high cost | Emoji/accents forced UCS-2 (70-char segments) or long copy split into many segments. Shorten and stick to GSM-7. |