WhatsApp Reminders for Opticians — Eye Exam Appointments and Glasses-Ready Alerts
An optician's booking calendar has two very different failure points: a customer forgets their eye exam, and a customer's new glasses sit on a shelf for two weeks because nobody told them they're ready. Both are solved the same way — a WhatsApp message at the right moment — but most practices still rely on a phone call or an email that goes straight to a promotions folder. WhatsApp has a 98%+ open rate within minutes, which makes it a much better fit for time-sensitive, low-content messages like these.
This post covers the two message types that matter most for an optical retailer, and how to trigger them from whatever system already holds your appointment and order data.
Eye exam reminders
The classic no-show reducer: a short message 24-48 hours before the appointment, confirming date, time and location, sent from whatever practice-management or booking system you already run.
const response = await fetch('https://api.textmeflow.eu/v1/messages', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.TEXTMEFLOW_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
to: customer.phoneE164,
text: `Hi ${customer.firstName}, reminder: your eye exam at ${storeName} is tomorrow at ${appointmentTime}. Reply STOP to opt out of reminders.`,
}),
});
Two details matter here. First, the phone number must be in E.164 format (+32472932208, not 0472932208) — TextMeFlow rejects anything else with a 400 invalid_recipient. Second, don't copy-paste the exact same sentence for every customer: sending identical text to more than 5 recipients within 10 minutes raises the account's risk score under the anti-spam pipeline, so interpolate the name, time and location as shown above rather than sending a static broadcast string. Full details on what else counts as risky sending behaviour are in the anti-spam policy.
If your booking system already fires a webhook or a scheduled job the night before an appointment, wiring this in is typically a single HTTP call added to that existing job — no new infrastructure needed.
"Your glasses are ready" notifications
This is the message type opticians underuse the most, and it's arguably higher-value than the exam reminder: it triggers a store visit that often becomes a second sale (contact lens solution, a spare pair, an upgrade). Fire it the moment your lab or supplier marks an order as delivered:
import requests
requests.post(
"https://api.textmeflow.eu/v1/messages",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"to": order.customer_phone,
"text": (
f"Good news {order.customer_first_name} — your new glasses "
f"are ready for pickup at {store_name}. We're open until "
f"{closing_time} today."
),
},
)
Because this is a one-off transactional message rather than a bulk send, it goes out immediately — TextMeFlow's random pacing between messages only applies to consecutive sends from the same account, not to a single message. If the order comes in overnight, quiet-hours shaping defers it to 08:00 in the customer's local timezone automatically rather than dropping it or waking them up, so you don't need to add your own time-of-day check.
Attaching the invoice or fitting instructions
For customers who ask for a copy of their receipt, or new contact-lens wearers who need care instructions, attach a file with media_url instead of sending a follow-up message with a link:
{
"to": "+32472932208",
"text": "Here's your invoice and lens care guide from today's visit.",
"media_url": "https://yourstore.example.com/invoices/INV-2044.pdf"
}
TextMeFlow accepts media up to 100 MB, which comfortably covers PDFs, JPEGs of prescriptions, or short care-instruction videos.
Handling opt-outs correctly
Some customers will reply STOP, whether to the exam reminder or the pickup alert. TextMeFlow's anti-spam pipeline recognizes STOP-family keywords automatically and suppresses further sends to that number — you don't need to build your own keyword parser, but you should still remove or flag that customer in your own CRM so a staff member doesn't manually re-add them to a campaign later. If you're building a broader automation on top of appointment or order data, the n8n/Make/Zapier integration guide covers connecting TextMeFlow to the tools most practice-management systems already export to.
Getting started
Both message types above are single API calls against data you likely already have in a booking or order system — there's no separate "campaign" tool to learn. Start on the free plan to test the exam-reminder and pickup-alert flows against your own store's traffic: sign up free at textmeflow.eu and send up to 50 messages a month at no cost, no credit card required.
Zelf WhatsApp-berichten versturen via API?
Gratis voor altijd tot 50 berichten/maand. QR scannen en binnen 5 minuten verstuur je je eerste bericht.
Gratis voor altijd