Job appointment reminders
CleverOps can remind a customer that a technician is coming — a courier-style "you have an appointment today/tomorrow" email, sent automatically before a scheduled service job. The email includes a link the customer can use to confirm the slot or request a change, so no-one is caught off guard and reschedules get flagged to your team instead of silently happening (or not happening).
This runs as a daily background job — nothing to click each day once it's switched on for your control room.
Reminders always go out by email. Every SMS-opted-in contact on the customer additionally gets their own SMS with their own personal link (see Notifications & consent) — best-effort, gated by that contact's opt-in and the VCR's SMS budget, and never blocks the email. In addition, anyone using the CleverAlert app at the job's site gets a push reminder (unless they've turned off Service visit reminders on that site) that opens the site's Home tab, where an upcoming-visit card shows the details. All three legs are best-effort and independent — a failure in one never blocks the others.
Rescheduling and cancelling have always worked from this link with no restriction, and still do by default — every contact starts allowed. If you need to stop a specific contact from rescheduling/cancelling on their own, untick May reschedule / cancel an appointment on that contact (see Contact persons). This only applies to a contact's own SMS link; the shared email link is unrestricted.
What gets a reminder
Each day the job looks for service jobs that are Open, In progress, or On hold and have a scheduled date/time set, and sends up to two reminders per job:
| Reminder | Sent when |
|---|---|
| Evening before | The evening before the job's scheduled date (day-before heads-up). |
| Morning of | The morning of the job's scheduled date. |
Each reminder is only ever sent once per job per mode — the job is stamped after a successful send so it's never re-sent for that mode, even if the background job runs again. Moving the job to a different day resets those stamps, so the customer gets a fresh day-before and morning-of reminder for the new date; changing only the time on the same day does not re-send.
The reminder's wording follows the job's time precision — "at 10:00" for an exact time, "around 10:00 (estimated time)" for an estimate, or "in the morning/afternoon/evening" for a vague booking, with no o'clock shown at all.
Don't want to wait for the scheduled reminder? Saving a job with a new or changed appointment time also offers an immediate "Let the customer know?" prompt — see Let the customer know. It works independently of whether reminders are enabled for your VCR.
The reminder's To address is the customer's billing email; when none is on file, it falls back to a contact tagged for service jobs, then the primary contact, then the first contact with an email.
A customer with no email address still gets the reminder — as an SMS or WhatsApp to any contact opted in for text messages, plus a push to anyone with the CleverAlert app on that site. Until 30 August 2026 an email address was the ticket to being considered at all, so a customer reachable only by mobile was skipped entirely and none of the other channels fired for them. A job is now only skipped when there is no email and no text-opted-in contact anywhere on the customer's record.
Any customer contacts tagged Service jobs are automatically CCed on the reminder as well.
The reschedule link
Every reminder includes a secure, tokenised link to a portal page for that specific appointment. From there the customer can:
- Confirm the slot — records that the customer has acknowledged the appointment.
- Request a change — files a ticket for your team (category: reschedule) and flags the job. The customer can optionally leave a preferred time and a note.
- Cancel the appointment — sets the job's status to Cancelled directly and files a ticket for visibility, the same as a phone-in cancellation would.
Requesting a change never moves the booking automatically — it's a request. Your team reviews the ticket and reschedules the job themselves once you've confirmed availability with the customer. Cancelling takes effect immediately since there's nothing to coordinate. The link expires after a couple of weeks.
- Tell us how to get in — access details for the technician: gate code, where to park, which entrance, dogs on the property, and who will be on site. See below.
Once the visit is finished or already cancelled, the link stops accepting changes. A customer who taps an older reminder then sees that the visit is already complete, rather than silently cancelling work that has already been done and invoiced. Tapping the same option twice is also safe — your team gets one ticket, not two.
Links really do expire after two weeks. A code past its life now says so plainly — "This link has expired", with a nudge to use a more recent reminder or call you — instead of quietly still working. Previously the expiry was recorded but never checked, so a code from an old SMS could still cancel a live appointment indefinitely.
"Tell us how to get in"
The most expensive way for a visit to fail is arriving and not being able to get in, and the customer is the only person who knows about the gate code, the resurfaced driveway or the dog. The link lets them tell you, in two fields:
- How do we get in? — free text, up to 1000 characters.
- Who'll be on site? — a name, and a number if it isn't theirs.
What they write appears on the job under Access — from the customer, timestamped, and syncs to the technician's phone in CleverTech. It also lands in the job's activity timeline, so the office sees it arrive rather than discovering it later.
This stays available after they've confirmed the appointment — which is usually exactly when someone remembers the gate code — and it is never blocked by the May reschedule / cancel restriction, since leaving access instructions can't move or cancel anything.
Staff don't edit it: it is the customer's own note, shown as written.
While the technician is on the way
Once a technician marks themselves en route, a customer opening the link sees it at the top of the page:
Sipho is on the way — expected by about 14:30
The first name comes from the assigned technician's staff record; only the first name is shown, because these links can be forwarded. As everywhere else in CleverOps, the time is an absolute clock time and not a live countdown — a page left open would tick down to "0 minutes" and then to something worse.
At that point Tell us how to get in becomes the main button on the page. Confirming a time is no longer the useful thing to do when somebody is already driving.
Where the answer shows up
The customer's reply appears on the job itself, so the office and the technician see it without opening Tickets:
| Chip | Meaning |
|---|---|
| Change requested (red) | The customer asked to move this appointment and nobody has moved it yet. |
| Confirmed (green) | The customer confirmed this exact time. |
| Awaiting reply (grey) | Booked, no answer yet. |
The chip is on the job card, in List view and in the job window; the Board and Schedule views stay quiet and only light up for Change requested / Confirmed, so a busy week doesn't turn into noise. A pending change request also counts towards the Service Ops "Needs attention" badge.
While a change request is outstanding, appointment reminders for that job are paused — a customer who asked to move Thursday's visit won't get a "your appointment is today" reminder the next morning. Reminders resume automatically once you actually reschedule the job.
An answer belongs to a specific time: if you move the appointment, the confirmation (or pending request) is cleared and the customer is asked about the new slot.
Turning it on
Job reminders are on by default for new control rooms and opt-in for existing ones. Telling a customer their technician is coming is a courtesy rather than a risk, and shipping it off by default is why it ran in one control room out of 51 with no reminder ever sent. Existing control rooms are deliberately left as they are — switching on customer messaging for a live book is the control room's decision, not an upgrade's.
The settings live under Settings → Reminders → Customer reminders, in the Job appointment reminders card, alongside invoice/quote reminders:
- Go to Settings → Reminders → Customer reminders.
- Tick Send job appointment reminders for this VCR — the master switch. Nothing is sent on any channel while this is off.
- Choose which of the two reminders you want: Evening before and/or Morning of (both on by default once enabled).
- Click Save job reminder settings.
Only users with service or billing management access can change these; everyone else sees them read-only.
"Your technician is on the way"
Separate from the two scheduled reminders, and sent by the technician rather than the office: when a technician taps En route in CleverTech, the customer gets a text saying who is coming, roughly how far away they are, and the number to call.
This used to write a timestamp and nothing else — the office could see the technician was moving, and the one person whose behaviour that should change was never told. It is the single highest-return customer message in field service: it cuts failed visits where nobody is home, and it cuts "where is he?" calls into the control room.
- Channels: SMS to every text-opted-in contact covering that site, plus a push to CleverAlert app users on the site. Deliberately not email — a message saying someone is twenty minutes away is worthless in an inbox.
- Once per trip. A technician who turns around and re-routes doesn't message the customer twice; the notice re-arms after four hours, or immediately if the appointment is rescheduled.
- Not gated on the reminder setting. Like the Let the customer know? prompt, this fires whenever a technician taps En route, whether or not scheduled reminders are enabled.
- If nothing could be delivered (no mobile on file, nobody opted in), the technician's En route still works normally — the stamp and their status change never depend on the message going out.
Seeing what was sent
Every reminder is recorded the same way as a manual document email, so it appears in the customer's email delivery tracking — attributed to the customer and the job, with delivery status from the email provider.
Related
- Automated reminders — the same pattern for overdue invoices and outstanding quotes
- Contact persons — Email documents (auto-CC) — how the Service jobs tag drives CC and the recipient fallback