InTouch Hub · Blue Isle Software

appointment-reminder

Send 24-hour and 1-hour appointment reminders via SMS/WhatsApp with confirm/cancel support

Appointment Reminder — YAML Workflow

Automated appointment reminders for service businesses. Sends two reminders per appointment — 24 hours before (with confirm/cancel/reschedule) and 1 hour before (final reminder). Works via SMS, WhatsApp, or any channel.

The Problem

No-shows cost service businesses thousands per year. A plumber drives 30 minutes to a workflow, nobody's home. A salon holds a chair for an hour, client doesn't show. A consultant blocks their afternoon, meeting never happens.

Dedicated scheduling software (Calendly, Acuity, ServiceTitan) costs $30-300/month. Most small businesses either send reminders manually (inconsistently) or don't send them at all.

How It Works

  1. You maintain an appointments CSV (or connect to your scheduling database)
  2. A workflow runs every hour and checks for upcoming appointments
  3. 24 hours before: Customer gets a friendly reminder with confirm/cancel/reschedule option
  4. 1 hour before: Customer gets a final "see you soon" reminder
  5. Customer replies are processed by the AI assistant

Setup

1. Create the Appointments CSV

Create INTOUCH_HOME/data/appointments.csv:

customer,phone,service,datetime,reminded_24h,reminded_1h
Jane Smith,+15551234567,AC Repair,2026-04-15 10:00,no,no
Bob Johnson,+15559876543,Plumbing Inspection,2026-04-15 14:30,no,no
Carol Davis,+15555551212,Annual HVAC Service,2026-04-16 09:00,no,no

Columns: - customer: Customer name - phone: Phone number (for SMS/WhatsApp) - service: Service type or description - datetime: Appointment date and time (YYYY-MM-DD HH:MM) - reminded_24h: Set to "yes" after 24h reminder sent - reminded_1h: Set to "yes" after 1h reminder sent

2. Configure SMS or WhatsApp

Enable outbound messaging:

For customer replies (confirm/cancel), enable inbound on the same channel.

3. Create an Anthropic Connection

The workflow uses Claude Haiku to generate natural, personalized reminder messages:

4. Schedule the Workflow

Create a Day schedule with intraday frequency: - Every: 1 day - Intraday: Every 1 hour - Link to the appointment-reminder workflow

5. Handle Replies

When customers reply CONFIRM, CANCEL, or RESCHEDULE:

Example Messages

24-hour reminder:

Hi Jane! This is a reminder about your AC Repair appointment
tomorrow, Wednesday April 15 at 10:00 AM. Reply CONFIRM,
CANCEL, or RESCHEDULE. See you soon!

1-hour reminder:

Hi Jane! Your AC Repair appointment is at 10:00 AM today.
See you in an hour!

Customization

Change Reminder Windows

Edit the Python script:

# Change 24-hour window (currently 23-25 hours before)
if 23 <= hours_until <= 25 and not reminded_24h:

# Change 1-hour window (currently 0.5-1.5 hours before)
elif 0.5 <= hours_until <= 1.5 and not reminded_1h:

Add a 48-Hour Reminder

Add another tier for appointments booked far in advance.

Use a Database Instead of CSV

Replace the Python CSV task with a sql task:

- name: check-appointments
  tool: sql
  connection: business-db
  properties:
    operation: export
    statement: |
      SELECT customer, phone, service, appointment_time,
             TIMESTAMPDIFF(HOUR, NOW(), appointment_time) as hours_until
      FROM appointments
      WHERE appointment_time > NOW()
        AND appointment_time < DATE_ADD(NOW(), INTERVAL 25 HOUR)
        AND reminded_24h = 0

Change Message Tone

Edit the systemPrompt in the reminder tasks. Examples: - Professional: "You are a professional office assistant..." - Casual: "You are a friendly neighborhood service rep..." - Minimal: "Generate a bare-minimum reminder with just time and service..."

Multi-Language

Add to the system prompt: "Generate the message in the same language as the customer's name suggests, or in [Spanish/English/etc.]"

Cost

Compare to Calendly ($12-16/user/month) or ServiceTitan ($300+/month).

Impact

Industry data on no-show rates: - Without reminders: 20-30% no-show rate - With SMS reminders: 5-10% no-show rate

For a plumber averaging $200/visit with 10 appointments/day: - 3 no-shows/day × $200 × 20 work days = $12,000/month in lost revenue - With reminders: 1 no-show/day × $200 × 20 = $4,000/month - $8,000/month saved for $1.20/month in AI costs