How to Send SMS from Salesforce Without Using Marketing Cloud

Introduction: How to Send SMS from Salesforce Without Using Marketing Cloud
Salesforce is a powerful CRM platform that enables businesses to manage customer relationships, automate processes, and enhance communication. While Salesforce Marketing Cloud is a popular solution for SMS marketing, it can be expensive and complex for businesses that only need basic SMS functionality. Fortunately, there are alternative ways to send SMS messages directly from Salesforce without relying on Marketing Cloud.
Table of Contents
1. Why Send SMS from Salesforce?
SMS (Short Message Service) is one of the most effective communication channels, with:
- High Open Rates (98%) – Unlike emails, SMS messages are almost always read.
- Instant Delivery – Critical for alerts, reminders, and time-sensitive notifications.
- Better Engagement – Customers prefer SMS for quick updates (OTPs, order confirmations, support).
Common use cases for SMS in Salesforce:
- Sales Notifications: Alerts for new leads and deal closures.
- Customer Support: Order updates, appointment reminders.
- Marketing Campaigns: Promotions, event invites (with consent).
- Two-Factor Authentication (2FA): Secure login verifications.
Since Marketing Cloud is not always necessary, businesses can use lightweight, cost-effective alternatives.
2. Method 1: Using Third-Party SMS APIs
A. Twilio Integration with Salesforce
Twilio is a leading cloud communications platform that provides an easy-to-use API for SMS.
Steps to Integrate Twilio with Salesforce:
- Sign up for Twilio (get a phone number & API credentials).
- Install Twilio’s REST API Connector in Salesforce (or use custom Apex).
- Create a Salesforce Flow or Apex Trigger to send SMS via Twilio’s API.
Example Apex Code for Twilio SMS:
public class TwilioSMS {
public static void sendSMS(String toNumber, String message) {
HttpRequest req = new HttpRequest();
req.setEndpoint('https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json');
req.setMethod('POST');
String authHeader = 'Basic ' + EncodingUtil.base64Encode(Blob.valueOf('{AccountSid}:{AuthToken}'));
req.setHeader('Authorization', authHeader);
req.setBody('To=' + EncodingUtil.urlEncode(toNumber, 'UTF-8') +
'&From=' + EncodingUtil.urlEncode('+1234567890', 'UTF-8') +
'&Body=' + EncodingUtil.urlEncode(message, 'UTF-8'));
Http http = new Http();
HttpResponse res = http.send(req);
if (res.getStatusCode() == 201) {
System.debug('SMS Sent Successfully!');
} else {
System.debug('Error: ' + res.getBody());
}
}
}
Pros:
✔ Reliable & scalable
✔ Global SMS coverage
✔ Supports MMS & WhatsApp
Cons:
✖ Requires API knowledge
✖ Costs per message
B. Plivo/Nexmo (Vonage) Integration
Similar to Twilio, Plivo and Nexmo (now Vonage) offer SMS APIs.
Steps:
- Get API keys from Plivo/Nexmo.
- Use Salesforce HTTP Callouts to send SMS.
Example (Plivo):
HttpRequest req = new HttpRequest();
req.setEndpoint('https://api.plivo.com/v1/Account/{AuthID}/Message/');
req.setMethod('POST');
req.setHeader('Content-Type', 'application/json');
req.setBody('{"src": "+1234567890", "dst": "'+toNumber+'", "text": "'+message+'"}');
Http http = new Http();
http.send(req);
3. Method 2: AppExchange SMS Integrations
If coding isn’t an option, Salesforce AppExchange offers pre-built SMS solutions:
A. SMS Magic
- Features:
- Click-to-Send SMS from Leads, Contacts, and Cases.
- Templates, Two-Way Messaging, Compliance Tools.
- Setup: Install from AppExchange, configure with an SMS provider (Twilio, Telnyx, etc.).
B. Zixy SMS for Salesforce
- Features:
- Bulk SMS, Scheduled Messages, Drip Campaigns.
- Works with multiple gateways.
Pros:
✔ No-code setup
✔ Compliance-friendly
Cons:
✖ May have licensing costs
4. Method 3: Custom Apex with SMS Gateways
For businesses using low-cost SMS gateways (e.g., AWS SNS, ClickSend), custom Apex can be used.
Example: AWS SNS Integration
public class AWSSMS {
public static void sendSMS(String phone, String msg) {
HttpRequest req = new HttpRequest();
req.setEndpoint('https://sns.us-east-1.amazonaws.com/');
req.setMethod('POST');
req.setHeader('Content-Type', 'application/x-www-form-urlencoded');
String body = 'Action=Publish&PhoneNumber=' + phone +
'&Message=' + EncodingUtil.urlEncode(msg, 'UTF-8');
req.setBody(body);
Http http = new Http();
HttpResponse res = http.send(req);
}
}
Pros:
✔ Cost-effective
✔ Works with AWS ecosystem
Cons:
✖ Requires AWS setup
5. Method 4: Flow-Based SMS Automation
Salesforce Flow can automate SMS without code:
Steps:
- Create a Flow (Record-Triggered or Scheduled).
- Use an HTTP Callout Action to connect to an SMS API.
- Pass Dynamic Data (e.g., Contact’s Phone, Custom Message).
Use Cases:
- Auto-send appointment reminders.
- Lead follow-up SMS after form submission.
6. Method 5: Webhooks & External Automation
Tools like Zapier or Make (Integromat) can connect Salesforce to SMS services:
Steps:
- Set up a Zapier trigger (e.g., new lead in Salesforce).
- Connect to SMS Service (Twilio, MessageBird).
- Map Fields & Send SMS.
Pros:
✔ No Salesforce coding
✔ Works with 500+ apps
Cons:
✖ Limited customization
7. Best Practices for SMS in Salesforce
- Compliance (TCPA, GDPR) – Always get opt-in consent.
- Error Handling – Log SMS failures in Salesforce.
- Personalization – Use merge fields (e.g., {!Contact.Name}).
- Avoid Spam – Limit frequency & provide opt-out options.
- Cost Monitoring – Track SMS usage to avoid overages.
8. Key Takeaways
Sending SMS from Salesforce without using Marketing Cloud is absolutely possible with the right setup. By leveraging third-party SMS gateways, Salesforce AppExchange apps, or custom Apex integrations, businesses can streamline communication directly from their CRM. This approach ensures cost efficiency, flexibility, and faster implementation compared to full-scale Marketing Cloud solutions. Whether for alerts, reminders, or customer engagement, integrating SMS into Salesforce empowers organizations to deliver timely, personalized messages that enhance customer experience and strengthen business relationships.