Automation

Salesforce SMS automation, held to the same rules.

Send, schedule and follow up on texts from Flow, Apex, REST integrations and Agentforce, with the same business numbers, opt-outs and policies your team uses on screen.

  • No credit card required
  • Listed on Salesforce AgentExchange
  • Then $120 per user per year
  • Runs on your own Twilio account

How do you automate SMS in Salesforce? With ConnectSMS you add its actions to Flow Builder, call the global ConnectSMSApi Apex class, or call the same actions through the Salesforce REST API. Your admin can also add them to Agentforce agents. Every automated message is recorded in Salesforce and goes through the same access, opt-out and policy checks as a text sent from a record.

Animation: Alex Kim changes a Case for Sarah Chen to Closed. A record-triggered Flow, Case Closed Text Update, runs its "Text the customer" step, ConnectSMS's Send Text Message action, and a decision checks that the text was accepted. The text "Hi Sarah, case 00001042 is now resolved. If anything still isn't right, just reply to this text." appears on the Case as Queued, then Sent, then Delivered.

Recreated from the ConnectSMS interface with sample data.

One messaging engine

One messaging engine. UI, Flow, API and agents.

The record page, the inbox, outreach, Flow, Apex, REST and agents all hand their messages to the same service. Nothing gets a shortcut, and nothing needs its own rules.

Send and reply actions return at once and a background job hands the message to Twilio, so automation never waits on Twilio and never makes a callout inside your transaction.

Ten actions

Everything a person can do, available without a screen.

The actions appear in Flow Builder under the ConnectSMS category, and your admin can add them to Agentforce agents. The same classes are the REST names, and ConnectSMSApi offers the same operations to Apex.

  • Send Text Message sends now, or schedules with Send At up to 35 days ahead
  • Preview Text Message returns the final text, segments and anything that would block it, without sending
  • Get Text Message Status tells you when a status is final
  • Reply to Text Conversation always replies from the conversation's own number
  • Every result carries Success, a stable Error Code and a plain-language Error Message

Action reference with class names

The ConnectSMS actions in Flow Builder, next to a Flow that texts the customer when a Case is closed. Screenshot from Salesforce Flow Builder in a ConnectSMS demo org.

In Flow Builder

A real Flow, built with the ConnectSMS actions.

When a Case is updated to Closed, the Flow sends a text with Send Text Message, then a Decision checks Success and creates a follow-up task with the Error Message if the text wasn't accepted.

  • Record ID is the triggering Case, so ConnectSMS texts its contact's phone
  • An Idempotency Key built from the Case ID stops a second run from sending again
  • A blocked text, such as an opt-out, comes back as Success = false, not a Flow error

Step-by-step: send SMS from Salesforce Flow

Flow Builder canvas: Case closed, Text the customer (Send Text Message), then Was the text accepted? Screenshot from Salesforce Flow Builder in a ConnectSMS demo org.

The ten actions and their class names

  1. 01
    List My Business Numbers CsmsListSendersAction · The numbers the running user can send from
  2. 02
    Find Text Recipient CsmsResolveRecipientAction · Resolve a record to a textable phone number
  3. 03
    Render Text Template CsmsRenderTemplateAction · Fill a template's merge fields for a record
  4. 04
    Preview Text Message CsmsPreviewMessageAction · Check length, segments and blockers before sending
  5. 05
    Send Text Message CsmsSendMessageAction · Send now, or schedule with Send At
  6. 06
    Cancel Scheduled Text Message CsmsCancelMessageAction · Cancel before it is handed to Twilio
  7. 07
    Get Text Message Status CsmsGetMessageStatusAction · Read the current delivery status
  8. 08
    Get Text Conversation History CsmsGetConversationAction · Read the messages in a conversation
  9. 09
    Reply to Text Conversation CsmsReplyToConversationAction · Reply from the conversation's own number
  10. 10
    Get ConnectSMS Setup Health CsmsGetSetupHealthAction · Check readiness (admins only)

What automation checks

Automated doesn't mean unchecked.

An automated request goes through the same service as a text typed on a record, then gets checked again just before it is handed to Twilio.

Number access

The running user needs Send access to the business number, or the ConnectSMS Automation permission set and a number marked Available to automation. Otherwise the request is refused and nothing is stored.

Record access

The record and its phone fields are read as the running user, so sharing and field-level security apply to automation too.

Opt-outs

Always enforced, when the request is made and again at dispatch. A message queued before someone texted STOP is blocked.

Merge fields

Templates are always merged. Free text is sent exactly as written unless you ask for merging, and text from an agent is never merged.

Quiet hours

If your admin turned on quiet hours, new automated messages wait until they end. Replies in an existing conversation aren't delayed.

Blocked, not lost

A request that a rule blocks, such as an opt-out or an unfilled merge field, is stored as Blocked with its reason, so admins can see what automation tried to send.

Numbers, access grants, the sending switch and the sandbox guard are re-checked at dispatch as well. How reliability works

Automation numbers

Decide which numbers automation may use.

People send from the numbers an admin grants them. Automation gets its own, explicit route, so a Flow never borrows someone's access by accident.

  • Admins mark business numbers Available to automation in ConnectSMS Setup, and can Set as automation default
  • Integration users, agent users and people who run messaging automation get the ConnectSMS Automation permission set
  • Leave the business number blank and the automation default is used; with no default, the request fails with SENDER_REQUIRED
  • ConnectSMS never switches to another number on its own
  • Each message records who requested it and whether it came from Flow, an agent or the API

Twilio numbers and Messaging Services

Who can send from automation

ConnectSMS User + Send access

The running user has been granted Send access to the business number, like anyone who texts from it by hand.

ConnectSMS Automation + an automation number

The number is marked Available to automation, or is the automation default. No per-number grant is needed.

Record-triggered Flows run as the user whose change triggered them, so that user needs one of the two. Integrations and agents usually run as a dedicated user with ConnectSMS Automation.

Business workflows

Texts that follow your Salesforce processes.

Five patterns teams build with ConnectSMS actions and Salesforce Flow. Each one keeps the message, its status and the reply in Salesforce.

Lead follow-up

A new Lead gets a personal text within minutes, from the sales line, using a template.

  1. Lead created
  2. Record-triggered Flow
  3. Send Text Message with a template
  4. Reply in the inbox and on the Lead

Appointment reminder

Schedule the reminder when the appointment is booked, and cancel it if the appointment is.

  1. Appointment booked
  2. Send At: the day before
  3. Scheduled reminder
  4. Canceled with the visit

Payment reminder

Your Flow decides who is due and when; ConnectSMS sends the reminder. ConnectSMS doesn't take payments.

  1. Due date approaches
  2. Flow finds the account
  3. Reminder with the amount due
  4. Status on the record

Service update

When a Case changes status, the customer hears about it from the service line and can reply.

  1. Case status changes
  2. Record-triggered Flow
  3. Update from the service line
  4. Customer replies in the inbox

Sales rep follow-up

A screen Flow drafts the follow-up after a meeting, previews it and lets the rep confirm before it goes.

  1. Rep finishes a meeting
  2. Preview Text Message
  3. Rep confirms and sends
  4. Reply lands with the rep

Track what automation sent

Every automated text, visible where your team works.

Automated messages appear in the record's text history and the shared inbox like any other, labeled by where they came from.

  • The timeline shows the sender as Automation (Flow), Automation (API) or Agent
  • Success means ConnectSMS accepted the message, not that it was delivered
  • Get Text Message Status returns the status, a plain-language detail and Is Final, so a Flow knows when to stop checking
  • Admins see blocked, failed and unknown messages under Operations in ConnectSMS Setup

Statuses and error codes

Agentforce

ConnectSMS's actions are global invocable actions written for Flow and AI agents. Your admin can add them to Agentforce agents as agent actions, or expose them through your own Salesforce Hosted MCP server. ConnectSMS doesn't install an agent, topic or MCP server for you.

Messages an agent sends go through the same checks as any other, and an agent's text is always sent exactly as written. Hosted MCP needs Enterprise Edition or above and Flex Credits.

Agentforce setup notes

FAQ

Salesforce SMS automation: common questions

Can Salesforce Flow send SMS?

Yes. ConnectSMS adds ten invocable actions to Flow Builder under ConnectSMS, including Send Text Message (with an optional Send At time to schedule it), Preview Text Message, Get Text Message Status and Reply to Text Conversation. Flow sends go through the same access, opt-out and policy checks as sending from the screen.

Do automated texts follow opt-outs and quiet hours?

Yes. Automated messages go through the same checks as a text sent from a record: number access, record access, opt-outs, merge fields and your messaging policies. Opt-outs are checked when the request is made and again when the message is sent. Quiet hours delay new automated messages until they end; replies in an existing conversation aren't delayed.

Which business number does automation send from?

The number you pass in, or the automation default number your admin chose when you leave it blank. The running user needs Send access to that number, or the ConnectSMS Automation permission set and a number marked Available to automation. ConnectSMS never picks a different number on its own.

What stops a Flow from texting someone twice?

Idempotency keys. Give each intended message a business key, such as the record ID plus -reminder-1. If the same key is used again, ConnectSMS returns the original message with Duplicate set to true and sends nothing new.

Can automation schedule a text for later?

Yes. Send Text Message has a Send At input for a time up to 35 days ahead. The message waits as Scheduled, goes out in the first 15-minute slot at or after that time, and can be canceled with Cancel Scheduled Text Message until it is handed to Twilio.

Can Agentforce send SMS?

ConnectSMS's actions are global invocable actions written for Flow and AI agents, so your admin can add them to Agentforce agents as agent actions. ConnectSMS doesn't install an agent or topic for you, and messages an agent sends go through the same checks as any other message.

Keep exploring

Try it now: every feature, free for 14 days

Put every customer text where your team already works.

Install ConnectSMS from AgentExchange, connect your Twilio account and give your team the numbers they should text from.

  • No credit card required
  • Listed on Salesforce AgentExchange
  • Then $120 per user per year
  • Runs on your own Twilio account

ConnectSMS is published by WorkBridge Solutions. Twilio bills your Twilio account directly for messaging, including during the trial.