Booking confirmation
Sent right after the booking is saved, from the appointments line.
- Appointment booked
- Flow calls Send Text Message
- Confirmation delivered
- Replies go to the inbox
Appointments
Confirm a booking when it's made, remind the customer before the visit, and handle the "can we move it?" replies in the same Salesforce inbox.
How do you send appointment reminders from Salesforce? With ConnectSMS, a Flow calls Send Text Message when an appointment is booked and sets Send At to the reminder time, up to 35 days ahead. If the appointment moves, the Flow cancels the pending reminder and schedules a new one. Customers' replies land in the shared inbox, where staff answer from the same number.
Animation: on Sarah Chen's Contact record, Alex Kim writes "Hi Sarah, a reminder of your visit today at 10:30 AM. Reply here if you need to reschedule.", opens the Send options and chooses Schedule for later, then changes the date from today to Oct 13, 2026 and picks the 9:00 AM slot. After Schedule, the reminder appears on the record as Scheduled, with "Sends Tue, Oct 13 at 9:00 AM EDT" and a Cancel sending link.
Recreated from the ConnectSMS interface with sample data.
The day-to-day workflow
Front-desk staff confirm and reschedule by hand when they're talking to the customer. Everything that happens on a schedule is automated.
Sent right after the booking is saved, from the appointments line.
The same Flow schedules the reminder. It waits in ConnectSMS as Scheduled and is checked again before it goes.
When the start time changes or the appointment is canceled, the pending reminder is canceled too.
No Flow needed: an outreach runs every day against a report of the next day's bookings.
Reminders from Flow
Set Send At on the Send Text Message action and ConnectSMS holds the text until then, up to 35 days ahead.
Prefer to wait in Flow instead? A scheduled path works too, and has no 35-day limit. The guide compares both.
// Record-triggered Flow on Appointment__c, run after the record is saved
Send Text Message (ConnectSMS)
Record ID {!$Record.Id}
Template ID {!ReminderTemplateId}
Send At {!ReminderAt}
Idempotency Key {!ReminderKey}
Business Number blank = the automation default number
// Formula resources
ReminderAt = {!$Record.Start__c} - 1
ReminderKey = {!$Record.Id} & '-reminder-' & TEXT({!$Record.Start__c})
// Then store the output "Message ID" in Reminder_Message_Id__c
Recurring outreach
A campaign manager creates an outreach to a Salesforce report, such as Appointments tomorrow, and schedules it to run every day at a set time in a chosen time zone.
Step 4 of 5
Schedule
Every Monday at 10:00 AM Eastern Daylight Time (America/New_York).
Recreated from the ConnectSMS interface with sample data.
Features that matter
Send Text Message schedules a reminder; Cancel Scheduled Text Message removes it if the booking changes.
Staff schedule a one-off text in 15-minute slots up to 35 days ahead, and can cancel it before it's sent.
One confirmation and one reminder template for the whole team, with a fallback for a missing first name and a preview against a real record.
Every day, week or month, in the time zone you choose, with the audience checked again on each run.
Replies to reminders come back to the appointments line, where anyone with access can pick them up.
Automated reminders that would go out overnight are held until quiet hours end, in your business time zone.
Example messages
When, where, and what to do if it doesn't work. These examples use a custom Appointment__c object with a Contact__c lookup and a text field holding the local time.
Contact · sent by staff
As written
What the customer receives
Appointment__c · Flow with Send At
As written
What the customer receives
Time_Label__c is a text field your booking process fills with the local time, so the text reads the same whoever the Flow runs as.
Appointment__c · canceled
As written
What the customer receives
Quick reply · any record
As written
What the customer receives
Setup notes
An appointments line, a place to store the reminder's Message ID, and a running user that's allowed to send.
People and automation need different access.
Use the number customers should reply to.
Where the appointment data lives.
Contact__r.MobilePhoneSet once in ConnectSMS Setup.
FAQ
Up to 35 days. A Flow can pass any Send At time within that window, and the text goes out in the first 15-minute slot at or after it. For appointments booked further ahead, use a scheduled path in your Flow, a daily scheduled Flow, or a recurring outreach that picks up the next day's bookings.
Your Flow calls Cancel Scheduled Text Message with the Message ID it saved when it scheduled the reminder, then schedules a new one for the new time. Cancellation works until the message is handed to Twilio; a text that has already been sent can't be recalled.
Don't ask them to. CANCEL is one of Twilio's standard opt-out keywords, so a customer who replies with just that word is opted out of texts from your business numbers. Ask customers to reply in their own words instead; the reply lands in the shared inbox, where your team handles the change.
Automated reminders and outreach, yes. If your admin has turned on quiet hours, a reminder that falls inside them is held until they end, in your business time zone. Texts that staff send one-to-one, and replies, are never delayed.
A Flow's Send At is an exact moment, so the text goes out at that moment wherever the customer is. When staff schedule a text from a record, the time is in their Salesforce time zone, which is shown next to the time. Outreach has its own time zone setting.
The full walkthrough: data model, time zones, reschedules and testing.
Other status updates triggered by Salesforce records.
Every ConnectSMS action and input for Flow Builder.
Try it now: every feature, free for 14 days
Install ConnectSMS from AgentExchange, connect your Twilio account and give your team the numbers they should text from.
ConnectSMS is published by WorkBridge Solutions. Twilio bills your Twilio account directly for messaging, including during the trial.