Phone numbers & SMS
Add SMS numbers from Twilio, Skyetel, or JustCall, and send messages from your unified inbox. Twilio connects in under a minute with zero console work.
CommSync supports SMS through three carriers — Twilio, Skyetel, and JustCall. When you add a phone number, CommSync records which provider owns it. Inbound messages arrive via that provider's webhook; the same provider's API sends outbound messages. Everything then appears in the same unified inbox alongside email, threaded by contact.
Channel access
Phone numbers belong to the workspace, not to the teammate who connected them — the same model email accounts use. Owners and admins can use every line. Members get a line one of two ways. They connect it themselves, or an owner or admin assigns it to them.
Manage this from the Access control on each row. It lists everyone who can use the line — owners and admins are always on.
Admins can grant or revoke members inline from that same control. On a Twilio or JustCall account, the Access control on the account header covers every number on that account. See roles & permissions for the full model.
The Phone numbers hub
Settings → Phone numbers is the overview hub. It lists every SMS line you own, grouped by provider and account, with inline label editing. From here you reach the dedicated setup flows.
To choose which line a composer opens on, set your own default in Settings → Account → Default sending lines. That choice is personal: it changes your composer, and it never moves a teammate's.
Add a Twilio number
Twilio is the fastest way to send and receive texts in CommSync — the whole flow happens inside CommSync, and you never touch the Twilio console.
Paste your Account SID and Auth Token
Go to Settings → Phone numbers → Twilio and click Connect an account. Both values are on the home page of the Twilio Console under Account Info. CommSync verifies them live before it saves anything; CommSync stores the token encrypted at rest. Subaccounts work too — connect each one separately, and connect as many accounts as you like.
Pick which numbers to import
CommSync lists every number on the account with its capabilities (SMS, MMS, or Voice). Pick the ones you want in your inbox — CommSync flags voice-only numbers and cannot import them. There is no label to invent either: CommSync uses your Twilio account's own friendly name.
Webhooks configure themselves
On import, CommSync points each number's inbound SMS webhook at itself over the Twilio API. Inbound texts arrive instantly, and this covers MMS photos and attachments too; there is no copy-paste-a-URL step.
Choose how much history to import
Twilio keeps your full message history. Right after you connect, CommSync offers to import it — pick a window (30 days, 90 days, all time) or skip. Old conversations land threaded by contact, exactly like live ones.
What makes Twilio lines different
Twilio reports real per-message delivery receipts, so a sent text shows the truth. It shows Sent when Twilio accepts the text, then Delivered (or Failed, with the carrier's reason — for example, "Recipient has opted out") seconds later. CommSync captures inbound MMS media as attachments on the message. Texts sent from the Twilio console or other tools on the same number also appear in the thread within a few minutes.
Add a Skyetel number
Create an API key and connect your Skyetel account
In the Skyetel portal, click the gear icon in the top-right, then API Keys, then Create, and enter a name. Copy the SID and Secret from the confirmation dialog — the dialog shows the Secret only once. Then go to Settings, then Phone numbers, then Skyetel in CommSync, enter a label plus that SID and Secret, and connect. CommSync stores the secret encrypted at rest and uses it for outbound SMS — each workspace brings its own credentials.
Add your numbers
Under that account, add each Skyetel DID (E.164 number + optional label).
Assign the credential and point the inbound webhook
In Skyetel, open Phone Numbers → Local. Click the gear icon on the number. Set Call Routing to SIP Credential and pick the named API key you created. Then, on SMS & MMS, set Forward to Callback URL and paste the CommSync webhook URL. Inbound SMS will not flow until you set this — see the webhook section below.
Add a JustCall number
Connect a JustCall account
Go to Settings, then Phone numbers, then JustCall, and click Connect an account. Enter your JustCall API key and API secret; CommSync verifies them and lists the DIDs available on that account.
Choose numbers to import
Pick which DIDs CommSync must manage. Each number shows whether it is available, already imported into your workspace, or locked to another workspace. You can change the selection later from Manage numbers.
Point the provider's webhook at CommSync
Inbound SMS will not flow until you configure the JustCall webhook. Follow the steps in the section below.
Where credentials live
CommSync stores credentials for Twilio, Skyetel, and JustCall per account inside CommSync. Find them under Settings, then Phone numbers, then the page for that provider — encrypted at rest. Every workspace connects its own carrier account. Rotated your Twilio auth token? Use the key icon on the card for that account. CommSync verifies the new token against Twilio before it stores the token.
Point webhooks at CommSync
Twilio needs no manual webhook setup — CommSync configures each imported
number's webhook automatically and validates every inbound request's
X-Twilio-Signature. Skyetel and JustCall use manual webhook configuration.
Select your provider below.
There is nothing to do. When you import a number, CommSync sets its inbound SMS webhook via the Twilio REST API. Every outbound message also carries a status callback, so delivery receipts flow back automatically. When you remove a number, CommSync clears the webhook again. It only does this if the webhook still points at CommSync, so CommSync never touches a webhook you have since repointed elsewhere.
Twilio's X-Twilio-Signature header (HMAC-SHA1 keyed on your auth token)
authenticates every webhook request; CommSync rejects any request that
fails validation.
As a safety net, CommSync also reconciles each Twilio account every few minutes through the Messages API. This way, a missed webhook delivery — or a text sent from the Twilio console — still lands in your inbox.
How inbound SMS works
When a contact sends a text to one of your numbers, the provider posts the message to CommSync's webhook endpoint. CommSync:
- Identifies the destination number in your workspace.
- Finds or creates a contact identity for the sender's number.
- Finds or creates a thread for that conversation.
- Adds the message to the conversation and updates any open browser sessions in real time.
The whole pipeline runs in under a second in normal conditions. See how threads form to learn how CommSync decides which thread a message belongs to.
Picture messages (MMS)
CommSync supports MMS in both directions, on every provider — Twilio, JustCall, and Skyetel.
Inbound: photos render directly inside the chat bubble — click to open a full-size preview. Other media appears as tappable file chips on the message: videos, voice notes, contact cards, and PDFs. CommSync downloads media from the carrier at delivery time and stores it with your workspace's other attachments. It stays viewable even after the carrier's copy expires. A picture-only text (no caption) shows up as just the image — never an empty bubble.
Outbound: attach images in the composer with the paperclip, a drag, or a paste. See send pictures by text for the formats and the size caps.
How outbound SMS works
When you send a text from CommSync, the provider connected to that phone number sends the message. Twilio numbers send through Twilio, Skyetel numbers through Skyetel, and JustCall numbers through JustCall. You do not need to configure anything for this routing; it happens automatically.
Once the provider accepts the message, it returns a message ID. CommSync stores that ID and uses it to correlate the next delivery or failure callback. The thread updates with the final status as the provider reports back. Twilio lines get the richest treatment: Sent on acceptance, then Delivered or Failed (with the carrier's human-readable reason) from Twilio's per-message status callbacks.
If you can use more than one number, pick which one new conversations start
from. Do this under Settings → Account → Default line for outbound texts
— see how to send a message.
Channel uniqueness
A phone number belongs to only one CommSync workspace globally. If you try to add a number that another workspace has already registered, CommSync shows a conflict error that names that workspace. To resolve it, remove the number from the other workspace first.
Remove a phone number
For Skyetel, remove the number from Settings, then Phone numbers, then Skyetel (or delete it from the Phone numbers hub). For Twilio and JustCall, open the provider page → Manage numbers and toggle the number off. CommSync immediately stops all inbound messages for that number (for Twilio, it also clears the number's webhook). Threads and messages already there stay in place; if you remove the number, that does not delete historical data.