Guide
Appointment reminder emails customers actually read
A reminder has one job: get the customer home, with the gate open and the sink cleared, or get them to tell you early that they cannot be. Here is what to put in it, how the 24 hour and 2 hour timing works in CalSpark, and how to check that it really went out.
By CalSpark team. Published . Updated .
The subject line and the first line
Most people see only the subject and the first sentence in their inbox. Put the facts there.
- Subject: company name, day and time. "Reminder: Ortega Plumbing tomorrow at 9:00 AM" beats "Appointment reminder".
- First line: say who is coming and when, in one sentence. Leave the thank-yous for later in the message.
- Keep the whole email under about 80 words. It is a reminder, not a brochure.
CalSpark's built-in 24 hour reminder uses the subject "Reminder: {{company.name}} tomorrow at {{job.time}}". That is a good pattern. Leave it alone unless your wording needs to be different.
What belongs in the body
- Date and start time: {{job.date}} and {{job.time}}. CalSpark has no field for an arrival window, so if you work in windows, type the window into the wording yourself.
- The address: {{job.address}}. It prints as street, city and state. Customers with two properties will thank you for it.
- Who is coming: {{job.tech_name}} prints the first name of the first technician assigned to the job. If nobody is assigned yet, it prints empty, so write the sentence so it still reads fine.
- What to prepare: clear the area under the sink, put pets away, have the panel reachable, tell us where to park. One or two items for that job type, not a checklist.
- How to reschedule: a phone number, {{company.phone}}. Add your company phone under Company first, or the message has nowhere to point.
What to leave out
- Prices, balances and anything about money. A reminder that mentions an unpaid invoice reads as a threat.
- Sales pitches and review requests. Those have their own messages.
- Long policies. A cancellation policy belongs in your terms, not in the email the night before.
- Links you did not write. CalSpark strips links out of customer names, addresses and job descriptions before they are merged, so a stranger cannot slip one into a message that goes out under your name.
Three complete examples
Paste any of these into the reminder under Settings, Automations. The double curly braces are filled in per customer.
Subject: Reminder: {{company.name}} tomorrow at {{job.time}}
Hi {{customer.first_name}},
{{job.tech_name}} from {{company.name}} is coming tomorrow, {{job.date}}, at {{job.time}}.
Address: {{job.address}}
Please clear the area under the sink and let us know if there is a gate code. Need to move it? Call {{company.phone}} and we will find another time.Subject: Tomorrow's electrical visit, {{job.date}}
Hi {{customer.first_name}},
We have you down for {{job.date}}, with arrival between 8:00 and 10:00 AM (start time on file: {{job.time}}).
Where: {{job.address}}
Please make sure we can reach the panel and that someone over 18 is home. Call {{company.phone}} before 5 PM today if anything changed.
{{company.name}}Subject: See you {{job.date}} at {{job.time}}
Hi {{customer.first_name}},
Quick note to confirm our visit at {{job.address}}. We will be there at {{job.time}} for: {{job.scope}}
Reply to this email or call {{company.phone}} to reschedule.How the 24 hour and 2 hour timing works
The Appointment reminders (24h and 2h) automation has two reminders, both counted back from the job start time. The first goes 24 hours before, by email and, if you set up texting, by text. The second goes 2 hours before and, as shipped, is a text only. Without text messaging, the 2 hour reminder sends nothing, and the log says so.
- Switch it on: Settings, Automations, then the Enabled switch on the card. Every reminder starts off.
- Change the timing: choose Customize, then set Amount and Unit under When it sends. You can go as short as 15 minutes before and as long as 14 days before.
- Quiet hours: nothing goes out between 21:00 and 08:00 in your company time zone. A 7 AM job still gets its day-ahead reminder, moved to 08:00 the day before.
- Reschedule a job and the old reminder is replaced by one for the new time. Cancel the job and it is dropped.
Edit the timing when your jobs need it. A crew that books two weeks out may prefer a reminder three days ahead. Same-day emergency work needs no reminder at all.
Test it, then read the log
- Open Customize on the reminder card. Under each message, Preview shows your wording filled in with sample data.
- Click Send me a test. The sample goes to your own email address only, marked [Test].
- Book a real job for a customer with an email address, a day or two out, and watch what happens.
- Open Recent activity at the bottom of the Automations page. The Automation runs tab shows each reminder as Sent, Waiting, Skipped, Cancelled or Failed with the reason. The All messages tab lists every message CalSpark sent or blocked.
Why a reminder shows as skipped
- No email on file: the log reads "No one to send to (missing email, phone or assigned technician)". Add an email to the customer.
- It was too late: a job booked with less than a day to go has already missed its 24 hour mark.
- The appointment had already started, was cancelled or was completed.
- The appointment changed, so that reminder was replaced.
- Text messaging is not set up, so the text was not sent.
About text reminders
Text reminders are not turnkey. They only work if your business connects its own Twilio account and does that setup, and customers also need to have agreed to texts. See text message reminders for the current state. Email reminders need no setup beyond turning the automation on. For the rest of the booking flow, see the dispatcher daily checklist.
Questions
Do reminders go out automatically once I sign up?
No. The reminder starts off. An admin turns it on under Settings, Automations.
Can the reminder include the technician name?
Yes. Use {{job.tech_name}}. It prints the first name of the first technician assigned to the job and prints empty if nobody is assigned.
Does the customer have to opt in to email reminders?
The reminder template does not require email consent on file. It does need an email address on the customer, and an address that previously bounced or unsubscribed is blocked.
Can I add an arrival window?
There is no arrival window field. You can type a fixed window into the wording, or use {{job.time}} as the start time.
How do I know a reminder was sent?
Settings, Automations, Recent activity. The Automation runs tab shows each reminder with its status and reason, and the All messages tab lists every message.
Keep reading
- Job scheduling and dispatch timelineA dispatch board with a row per technician, in day and week views. Click to create a job, drag to reschedule or reassign, and get a warning when two jobs overlap.
- Text message reminders: set up your own Twilio accountTexts need your own Twilio account, Text messaging switched on in Company, Features and customer consent. Setup steps, quiet hours, STOP handling and limits.
- A dispatcher daily checklist for a small shopA practical daily and weekly schedule checklist for the person dispatching 5 to 10 technicians, from the evening before to the end of the day.
- How to Get More Google Reviews for a Trades BusinessHow a contractor can ask for Google reviews: find your review link, what to send and when, how CalSpark automates the request, and the Google rules on incentives and gating.
Try it with your own jobs
14-day free trial. No card. $49 a month flat for up to 10 users after that.