SMS
Send SMS alongside your push and email — OTPs and alerts (transactional), or promotions to a segment (campaigns). SMS is bring-your-own-provider: you connect your own SMS account, so you keep your sender IDs, your rates, and (in India) your DLT registration.
1. Connect a provider
In your project's channel settings in the dashboard, enable SMS and connect a provider:
- Gupshup / MSG91 — widely used in India; carry DLT-registered sender IDs and template IDs.
- Twilio — global coverage.
Enter your provider credentials and your sender ID. ReachBell stores them per project and routes sends through your own account. (The channel also has to be enabled on your plan.)
India / DLT — use your DLT-registered sender ID, and pass the matching
dltTemplateIdon each send so your provider accepts the message.
2. Send
Campaigns — compose and send to a segment from the dashboard (Messaging → Broadcasts). No code.
Transactional — one recipient, from your backend, via the Server SDK:
import { ReachBell } from '@reachbell/node';
const rb = new ReachBell({ apiKey: process.env.REACHBELL_API_KEY! });
await rb.transactional.sms({
externalId: 'user_42', // or a direct E.164 number: to: '+919876543210'
text: 'Your OTP is 123456. Valid for 10 minutes.',
dltTemplateId: '1207xxxxxxxxxxx', // India — include when your route requires it
});Identify the recipient by your externalId (set via identify) or a direct E.164 to. Prefer raw HTTP? The same call is POST /transactional/sms — see the Server API.
Opt-out
Inbound STOP replies are processed automatically: the subscriber is opted out of SMS and the change shows up in the hosted preference center, so you stay compliant without scrubbing lists by hand.