SMS gateway integration: scalable, opt-in SMS from your CRM
Connect an SMS provider to your CRM the right way: delivery, sender ID, consent, and OTP vs marketing SMS. A practical setup that scales without breaking.
A text message still gets opened. Email sinks in the inbox, chat notifications pile up, but the short message on a lock screen is read almost every time. The problem is rarely the message itself; it is that most businesses run an sms gateway integration as fire-and-forget. The sender header is unregistered, the numbers are malformed, consent is recorded nowhere — and then someone complains that "our texts aren't going through."
This piece walks through how to connect an SMS provider to your CRM properly, and how to manage what actually decides the outcome: delivery rates, the sender ID, opt-in consent, and the real difference between OTP and marketing SMS. The goal is a setup that does not fall apart the moment you scale it.
Where SMS earns its keep — and where it burns money
SMS has exactly one superpower: reach. No app, no data connection, not even a smartphone required. For time-sensitive, short, one-off messages there is nothing better — a verification code, an appointment reminder, a "your order has shipped" alert.
But let's be honest. SMS is expensive and narrow. You get 160 characters, a per-message cost, no images, no conversation. For a long campaign story, a discount narrative, or a weekly newsletter, it is the wrong tool. A handmade-candle shop that blasts a bulk SMS for every new scent will burn its budget and push people to reply "STOP" in equal measure.
- Worth it: One-time codes, e-commerce order and delivery updates, and calendar-based appointment reminders are short, expected, and time-critical — exactly where SMS beats every other channel.
- Wastes money: Frequent promotions, long-form content, and "we just thought of this" announcements are both costly over SMS and a reliable way to generate complaints.
What an SMS gateway actually is
An SMS gateway is the bridge between your software and the mobile carriers. Your CRM sends an API request, the gateway translates it into something the carrier network understands, and the message travels to the handset. Most providers also hand you a "bulk SMS panel," but for integration the API is the part that matters, since it returns a message ID for each send that you later match to its delivery receipt.
There are two lanes, and mixing them is a classic mistake. Transactional traffic is service messages: verification codes, order updates, receipts. Promotional traffic is marketing, and it comes with obligations — a registered sender header, explicit consent, and respect for quiet hours. Pushing both down the same route under the same sender is the fastest way to manufacture a delivery problem.
Providers either connect directly to carriers or act as an aggregator that bundles many carriers behind one API. For you the practical difference is cost and delivery quality; cheap but "grey" routes can drop messages silently. Unless you are building enterprise infrastructure, writing your own gateway almost never pays — take an established provider and put your effort into the integration.
Wiring the gateway into your CRM
In a healthy setup a message is triggered by an event in the CRM, not typed by hand into a panel. An order status changes, an appointment approaches, a form is submitted — the CRM merges the template, calls the gateway API, and the gateway returns a delivery receipt (DLR).
Three things deserve attention while you build it. Numbers should be stored in E.164 format (+44…, +90…); templates should use merge fields ({name}, {code}) rather than copy-paste; and delivery receipts must be written back to the contact. If you want to capture consent at the very first touch, a web form-CRM integration can drop the opt-in checkbox straight onto the record. Since delivery receipts usually arrive as webhooks, protecting those endpoints with webhook signature verification is the quiet but important part of the job.
One technical detail hits the budget directly: character encoding. A standard GSM-alphabet SMS is 160 characters, but a single accented or non-Latin character often pushes the message into Unicode, where the limit drops to 70 — quietly splitting a message you thought was "one" into two or three billable segments. When you test templates, watch the segment count, not just the characters.
OTP versus marketing SMS: two different worlds
You can sum the difference up in one line: OTP has to be fast, marketing has to be permissioned. A one-time passcode is a service message; the user is already waiting for it, so it needs a high-priority, clean route. Seconds count, and a code that arrives two minutes late is worse than useless.
Marketing SMS runs on a completely different contract. Explicit opt-in, a registered sender header, an easy opt-out, and respect for quiet hours are all mandatory. Send both from the same header on the same route and you get the worst of both: your OTPs slow down behind promotional queues, and your marketing gets caught in spam filtering.
The practical separation is simple: give OTP and transactional messages their own high-priority route and, where you can, a separate sender header; keep marketing on its own consented list. That way a surge in one never smothers the other.
Sending OTP down your marketing route is like putting an ambulance behind the wedding convoy.
What really determines your delivery rate
There is no such thing as "100% delivery," and any provider who promises it is selling something. Every message you send passes through a series of gates, and a little is lost at each one. What matters is being able to see where the loss happens.
Four things quietly wreck delivery: numbers that don't follow E.164, an unregistered or wrong sender header, lists full of invalid or duplicate numbers, and content that looks like spam. If you are not writing delivery receipts back into the CRM, you will notice none of this — you will simply assume the message "probably went."
Stop treating SMS as a guessing game
Rocketly connects your SMS gateway to the CRM and keeps consent, templates, and delivery receipts on one screen.
Try RocketlyConsent, opt-in and the sender header
Consent is not a formality you bolt on later; it is the foundation of both deliverability and reputation. Promotional SMS needs an explicit, recorded opt-in, and storing when and where that consent was collected — inside the CRM, on the contact — protects you both in an audit and when a complaint lands.
The sender ID is your brand's face in the message. Whether you send from a shared "INFO"-style header or your own registered brand header affects both trust and delivery. A registered, consistent header is less likely to trip filters, and recipients are more likely to open something from a name they recognize.
- Record the consent: Keep the date, source, and scope of every opt-in on the record so you can answer "why are we messaging this person?" in seconds.
- Make opting out trivial: Every promotional message needs a clear opt-out path (a "STOP" keyword or similar), and that request has to be honored immediately.
- Lock down the header: Using one registered sender ID protects both the brand and your delivery reputation over time.
Choosing a provider and a route
Providers are not interchangeable, even when their price sheets look similar. What separates a good one is boring, practical stuff: the quality of their routes to your target country, whether they support proper delivery receipts, how clean their API is, and whether their support answers when a route goes dark on a Saturday night.
Be wary of prices that look too good. Ultra-cheap routes are often "grey" routes that drop messages silently or strip your sender header, showing up as a delivery dip you cannot explain. For OTP especially, pay for a direct, reliable route — a late code costs you far more than the message ever did.
Keeping the list clean
A delivery rate is not something you set once and forget; it lives or dies on list hygiene. Prune invalid numbers as they bounce, suppress anyone who has opted out immediately, and never send promotional messages during quiet hours. A discount text at 2 a.m. will make even a loyal customer reach for "STOP."
Opt-outs should not be a one-way street either. If someone unsubscribes on one channel, that fact should reach the others, which is why keeping the opt-out state current with two-way data sync matters. And if you want to measure what your campaigns actually earn, folding SMS into your marketing tool integration lets you close the loop on performance instead of guessing.
Frequently asked questions
Does OTP also need opt-in consent?
An OTP is a service message tied to an action the user just took, so it is not marketing and does not need marketing consent. The line you must not cross is smuggling promotional content into a transactional message — that turns it into marketing and breaks the rules.
Why integrate at all instead of using the bulk panel?
A panel is manual: no trigger, no record on the contact, and no delivery receipt tied to a specific person. Integrating through the API means messages fire from CRM events, and every send and its outcome live on the customer's record.
What does a delivery receipt actually tell me?
It tells you whether the carrier accepted the message and, usually, whether it reached the handset. It does not tell you whether the person read it — SMS has no reliable read receipt, so treat "delivered" as the honest ceiling.
Can I choose any sender ID I like?
No. For promotional traffic, headers are pre-approved and must match your brand; you cannot use a random name. Unregistered or inconsistent headers are both rejected and bad for delivery.
Used well, SMS is still the most reliable "reach them now" channel you have. But its power comes from discipline: the right number, the right sender header, clear consent, and delivery you can actually measure. When those live inside your CRM — consent, templates, and delivery receipts sitting on the same contact card in a tool like Rocketly — SMS stops being a guessing game and becomes a channel you can scale.