Buyer's guide
How to choose a Salesforce SMS app
The ways to add texting to Salesforce, the one decision that's easy to miss in a demo, and the questions that separate apps once you're past the feature list.
Key takeaways
- There are three ways to text from Salesforce: Salesforce's own messaging products, an app from AgentExchange, or an integration you build on an SMS provider's API.
- Apps come in two models. Some send through the vendor's messaging service and resell the messages; others connect to your own provider account, such as Twilio, which bills you directly.
- The biggest long-term questions are where your messages are stored, who owns the phone numbers, and whether automation follows the same consent rules as people.
- Price has two parts: the app's license and the messages themselves. Compare the total for your real volume, not the headline price.
- Test the hard cases in a trial: a STOP reply, a scheduled text to someone who has since opted out, a reply from a customer your team hasn't texted yet, and a Flow that runs twice.
Three ways to add SMS to Salesforce
A standard Salesforce org stores phone numbers but doesn't text them. To send and receive text messages next to your customer records, teams use one of three approaches.
1. Salesforce's own messaging products
Salesforce sells text messaging as part of some of its own products, such as messaging channels for Service Cloud contact centers and SMS in Marketing Cloud. They make sense when you already license those products for those jobs. They're built around a contact center or marketing journeys rather than everyday texting from any record, so check the editions, add-on licenses and messaging costs with Salesforce.
2. An app from AgentExchange
Salesforce's app marketplace, AgentExchange (formerly AppExchange), lists many SMS apps. Most install as managed packages and add a texting component to record pages, an inbox and actions for Flow. This is how most Salesforce teams add texting, and it's where the rest of this guide spends its time.
3. Build it yourself
A developer can call an SMS provider's API from Apex and receive replies through a webhook on a Salesforce Site. A one-way notification from a single flow is a reasonable thing to build. Two-way conversations, a shared inbox, opt-outs, retries and access control are where the work grows, and someone has to maintain it. Build or buy, compared in detail.
Bundled messaging or your own Twilio account
SMS apps differ most in one decision that's easy to miss in a demo: whose messaging account sends the texts. Some apps send through the vendor's own messaging service and bill you for messages or credits. Others connect to an account you hold with a provider such as Twilio, and the provider bills you directly. Both can work well; they suit different teams.
| Question | Messaging bundled by the vendor | Your own provider account |
|---|---|---|
| Who bills for messages | The app vendor, often as bundles or credits | The provider, at its published rates |
| Who holds the phone numbers | Often the vendor; ask whether you can move them if you leave | You, in your own provider account |
| Sender registration (such as US A2P 10DLC) | Often arranged by the vendor | You register with the provider, which also lets you see its status |
| Setup effort | Usually less: one contract, one bill | A little more: you open the provider account and buy numbers |
| Changing apps later | Numbers and history may be tied to the vendor | Numbers stay with you; only the app changes |
| Using the provider for other things | Separate from the app | The same account can serve other systems too |
A simple rule of thumb: if you want one bill and the least setup, bundled messaging is convenient. If your numbers are a long-term asset, you already use Twilio, or you want to pay the provider's own rates, your own account is the safer choice.
15 questions to ask any Salesforce SMS app
Ask these in the demo, then check the answers yourself in a trial.
Data and architecture
- Where are messages stored? As records in your Salesforce org, where reports, sharing and backups already apply, or on the vendor's servers with a copy shown in Salesforce?
- Does anything sit between Salesforce and the SMS provider? Every extra system is another place customer data goes, and another thing that can fail.
- Who owns the numbers if you leave? Ask how you'd take your numbers and your message history with you.
Everyday texting
- Which records can people text from? Contacts and Leads only, or also Accounts, Cases, Opportunities and your custom objects?
- Can a team share an inbox? Look for filters by number, "mine" and "unassigned" views, assignment, and read state the whole team sees.
- Do replies always come from the number the customer texted? Switching numbers mid-conversation confuses customers and breaks threads.
- How good are templates? Merge fields, fallbacks for empty values, a segment count before sending, and a preview with a real record.
- Can texts be scheduled, and are they checked again when they go out? A reminder written on Monday for Friday shouldn't reach someone who opted out on Wednesday.
Outreach and automation
- Can you text a Salesforce report or Campaign, and see who's left out and why? Opted-out people, duplicates and invalid numbers should be excluded before anything is sent.
- What can Flow and Apex do? Only send, or also schedule, preview, check a message's status and reply to a conversation? Are automated messages held to the same rules as people?
- What happens when the provider doesn't answer? If a request times out, does the app check what happened, or send again and risk a duplicate? Can automation pass a key that stops the same message going out twice?
Consent and control
- Are opt-outs enforced for every kind of send? People, outreach, Flow and API alike, and can anyone switch them off?
- Can admins decide who sends from which number? A sales line, a service line and each rep's own number usually need different teams.
- Is there a way to stop all sending at once, and a record of who changed what? An org-wide switch and an audit log matter the first time something goes wrong.
Cost
- What will it cost for your real volume? Add up the license, the messages (priced per segment, so long texts cost more), the phone numbers and any registration fees, and ask what happens if you go over a plan. How segments are counted.
How to run a useful trial
Demos show the happy path. A short trial in a sandbox or with a test number shows how an app behaves when things go wrong, which is what you'll live with. Try these before you decide:
- Text yourself from a Contact, reply, and check the reply lands on the same record and in the inbox.
- Reply STOP, then try to text that number from the record, from an outreach and from a Flow.
- Schedule a text, opt the recipient out before it's due, and check it isn't sent.
- Text the business number from a phone that isn't in Salesforce yet, and see where the conversation appears.
- Run the same Flow twice for the same record and count the messages that arrive.
- Give a colleague access to view a number but not send from it, and check what they can do.
- Send a message with an emoji or a curly apostrophe, and check the segment count the app shows before sending.
How ConnectSMS answers these questions
ConnectSMS is an AgentExchange app built on the second model: it connects Salesforce to your own Twilio account. Here's how it answers the questions above.
| Question | ConnectSMS |
|---|---|
| Where messages are stored | As records in your Salesforce org, with statuses and replies |
| What sits in between | Nothing: Salesforce calls Twilio directly, with no ConnectSMS servers in between |
| Numbers and billing | Your own Twilio account and numbers, in any country; Twilio bills you directly and ConnectSMS adds no message-plan limits |
| Records you can text from | Contacts, Leads, Accounts and Cases out of the box, plus any standard or custom object an admin adds |
| Shared inbox | Every business number you can view, with All, Mine, Unassigned and Unread views, assignment, and close and reopen |
| Reply number | Always the number the customer texted |
| Templates | Merge fields with fallbacks, a live segment meter and previews with real records |
| Scheduling | One-to-one texts in 15-minute slots up to 35 days ahead, and outreach once, daily, weekly or monthly; permissions, number access and opt-outs are checked again before sending |
| Outreach | A Salesforce report, the members of a Salesforce Campaign or filtered records, with a preview of who's left out and why |
| Automation | Ten Flow actions, including send (with an optional send time), preview, status and reply, plus a global Apex API, the REST API and actions for Agentforce agents, all under the same checks |
| Timeouts and duplicates | A message Twilio doesn't confirm is marked Unknown and checked with Twilio, never resent automatically; idempotency keys stop duplicate sends |
| Opt-outs | Always enforced, for people, outreach and automation, when a message is requested and again when it's sent |
| Access and control | Send or view access per business number, an org-wide sending switch that records a reason, and an audit log |
| Cost | $120 per user per year for every feature, with nonprofit discounts, plus your Twilio usage |
ConnectSMS also sends MMS to US, Canadian and Australian numbers once an admin turns attachments on. Installing it from AgentExchange starts a 14-day free trial of every feature, no credit card required. How ConnectSMS works and pricing.
