Module 5 of 6 · Live

The reply says "yes" — Confirm actually books it.

When Recall parses a customer text and detects book-intent, Confirm picks up: reads the calendar, finds the slot, writes the booking, fires the confirmation SMS, and queues reminders. The customer never sees a back-and-forth — just a "done, you're booked" text within 30 seconds of their reply.

Reply → booked
~30s
From customer SMS arrival to confirmation sent.
No-show drop
~40%
Estimated reduction with auto reminder cadence (24h + 2h).
Reschedule SLA
~5s
Customer texts CANCEL or RESCHEDULE → calendar updated.
Cost per booking
~$0.06
Twilio SMS (booking + 2 reminders) + Haiku slot pick.
What it actually does

The 6 things Confirm handles, end-to-end.

Confirm isn't a calendar wrapper. It's the integration layer between the brain's intent detection and the actual scheduling system — so it has to handle every messy real-world case the customer's text might create.

1. Slot resolution

  • Reads owner calendar (Google Calendar, Outlook, or in-product schedule), respects existing bookings, owner-blocked time, and vertical-specific buffers (e.g. travel time between SiteLine job sites).
  • Resolves vague language — "Friday morning" → first open slot 8–11am Fri; "next week" → Monday 9am default; "ASAP" → soonest open.
  • Conflict detection — if no slot fits the customer's window, replies with the 3 nearest alternatives.

2. Booking write

  • Writes the appointment to the source-of-truth calendar with customer details, service type, address (if applicable), and the original SMS thread linked.
  • Updates shared memorycustomer_profiles.last_appointment_at set, tags appended (booked_via_recall, vertical-specific service tag).
  • Emits Confirm.AppointmentCreated so downstream modules (Stars at T+5d, Invoicing on completion) can chain.

3. Confirmation SMS

  • Personalized to vertical: roofer gets address + crew name, dental gets time + provider, real estate gets property + listing link.
  • One-tap actions: reply CANCEL, RESCHEDULE, or QUESTIONS. Each maps to an orchestrator action.
  • Calendar invite (.ics) attached when the customer's email is on file.

4. Reminder cadence

  • T-24h: SMS reminder with reply options.
  • T-2h: SMS "we're confirmed for today at {time}" — replies prompt human escalation.
  • T+0 (vertical-dependent): en-route SMS for trades, "your provider is ready" for medical, "agent will arrive in 10min" for showings.

5. Reschedule + cancel

  • Customer texts RESCHEDULE → orchestrator emits Confirm.ReschedulRequested → owner gets a Slack/email ping with proposed alternatives.
  • Customer texts CANCEL → calendar slot freed, customer profile flagged, owner notified. No automatic rebook (that requires owner judgment).
  • Owner reschedules from dashboard → automatic SMS to customer with new time + 1-tap confirm.

6. Post-job chain

  • Owner marks job done in dashboard → orchestrator chains Stars.SendReviewRequest + Invoicing.SendPaymentLink in one volley.
  • Same conversation thread — review request lands in the same SMS thread the booking confirmation came through, so the customer recognizes the number.
  • Memory updatedcustomer_profiles.last_job_at, service tags, and any owner notes captured during the job.
Calendar integrations

Reads + writes to where you already keep your schedule.

Most service businesses have ONE source of truth for their calendar. Confirm reads + writes to that source — it doesn't try to become a new one.

Google Calendar
Live
Outlook / 365
Beta
Apple Calendar (iCloud)
Q3
Calendly
Live
Acuity / Squarespace
Beta
Vertical in-product
Live
Included with the + bizbot add-on · see pricing

Confirm is what makes the rest of the brain worth running.

Without Confirm, Voice and Recall capture intent but nothing closes. With Confirm, the brain runs front-of-house end-to-end — and every appointment automatically chains to Stars + Invoicing post-job.