Onboarding · Playbook
Sign-up → First live call
A walkthrough for new clinics

From sign-up,
to first live call.

The full journey a clinic takes onto Routiq — what we do, what you do, and the moment Robyn picks up her first real patient.

The Promise
02 / 22
The honest version
Prospect Customer

Live in a day. Tested in a week.
Free trial for seven.

Same flow for every clinic — Cliniko, PracSuite, or Nookal. We don't bend the onboarding shape to the PMS; we bend it to clinical safety. Three structured steps, no PMS-tiered timelines.

— Step 01
Live
1 day

Account, PMS, channels, and tone-of-voice wired up. By the end of day one, Robyn is operational in your tenant — same flow whether you're on Cliniko, PracSuite, or Nookal.

— Step 02
Testing
1 week

Triage, safety escalations, recovery paths exercised end-to-end. Four-gate sign-off (clinical safety, triage accuracy, multi-location, recovery) before any real patient hears her.

— Step 03
Free trial
7 days

No setup fees, nothing locked in. Real patient traffic, heavy monitoring. First 48 hrs hand-audited end-to-end; daily standups across the trial. Then permanent go-live.

House rule

If we can't get you live cleanly, we'd rather slow down than ship a half-tested agent. Clinical safety doesn't bend to a sales calendar.

The Journey
03 / 22
Six phases · one finish line
Prospect Customer Internal

Every clinic walks the
same six steps.

Phases 1–3 are mostly Routiq-side plumbing. Phases 4–5 are where you shape the agent to match how your clinic actually works. Phase 6 is go-live.

Phase 01
01
Account
~5 min
Phase 02
02
PMS
~10 min
Phase 03
03
Channels
~5 min auto
Phase 04
04
Tailor
~30 min
Phase 05
05
UAT
~1 hr
Phase 06
06
Go live
First call
Finish line

Onboarding ends when the first real patient is handled successfully by Robyn — SMS, WhatsApp, or voice. Everything after that is ongoing success, not onboarding.

Division of labour
04 / 22
Who does what
Prospect Customer

You bring the clinic.
We bring the plumbing.

— You
The clinic.
  • Sign up and sign the agreement
  • Generate & paste your PMS API key
  • Review Robyn's persona, greeting, and triage matrix
  • Run UAT calls against the live config
  • Sign off on go-live
— Us
The Routiq team.
  • Provision a Twilio number from our pool
  • Wire Chatwoot inbox + voice routing
  • Sync practitioners, locations, services, patients
  • Encode clinical safety SOPs & escalation paths
  • Audit every call on day-1 traffic
Phase 01 · Account creation
05 / 22
Phase 01 · The handshake
Customer Internal

Sign up &
tenant provision.

First thing that happens: a tenant row is written into our database. The account exists, but Robyn isn't allowed to handle patients yet.

What the clinic does

  • Sign up at app.routiq.ai
  • Agree to terms / sign the contract
  • Provide practice name, primary contact, billing details

What we provision

  • cliniko_accounts or PracSuite tenant row created
  • onboarding_status = 'pending'
  • Auth user linked to tenant via Supabase Auth
Safety net

While the account is pending, if a patient somehow messages, Robyn replies with a polite "we're still getting set up" — never attempts a booking. Half-configured agents can't go live by accident.

Phase 01 · Initial config
06 / 22
Phase 01 · First three decisions
Customer

Before we touch the PMS,
we lock in the basics.

These three answers appear in every message and every voice greeting. Worth taking the five minutes to get them right.

01 · Practice name

Used in greetings: "Thanks for calling ModPod Podiatry…" Must match how patients refer to you, not your legal entity.

02 · Persona name

The AI's name. Defaults to "Robyn". You can rename — it stays consistent across SMS, WhatsApp, and voice.

03 · Tone

Warm, professional, brief. Locked into the agent's system prompt at onboarding. Adjustable later if needed.

Phase 02 · Connect your PMS
07 / 22
Phase 02 · Source of truth
Customer Internal

Your PMS is the
source of truth.

Robyn never invents bookings. Every appointment, practitioner, and availability slot comes from your PMS in real time. How we connect depends on which PMS you run.

— Cliniko
API key paste

Paste your Cliniko API key into the dashboard. We validate it, fetch practitioners + businesses + appointment types, and you move on.

— PracSuite
OAuth + roster

OAuth connection plus a manual check that each practitioner has an active roster (without one, availability returns empty).

— Nookal
Key exchange

Manual API key exchange handled by Routiq's onboarding team. Self-serve flow on the roadmap.

Phase 02 · Initial sync
08 / 22
Phase 02 · The day-one import
Customer Internal

Everything Robyn needs
to triage and book.

The sync runs once on connection, then incrementally afterwards. Account state transitions as it progresses.

pending syncing completed

Pulled from your PMS

  • Practitioners + their primary clinics
  • Businesses / locations
  • Appointment types + durations + prices
  • Full patient list with mobile numbers
  • Upcoming + recent appointment history

What it powers

  • Caller-ID lookup (existing patient recognition)
  • Triage matrix (symptom → appointment type)
  • Availability checks per practitioner / location
  • Reengagement targeting (dormant patients)
  • Cancellation & reschedule flows
Phase 03 · Channels
09 / 22
Phase 03 · The rental-car model
Prospect Internal

Your phone number,
in five seconds.

We don't buy you a number when you sign up — we've already bought a pool of voice + SMS-enabled Australian mobiles. When you onboard, you get the next available one. Instantly.

What used to take… Now takes Why
Buy a Twilio number (5–10 min)0 secPre-bought, sitting in the pool
Create the Chatwoot inbox (5 min)0 secPre-created at pool-load time
Wire Twilio ↔ Chatwoot webhooks (2 min)0 secPre-wired, idle until claimed
SQL insert + link to tenant (4 min)5 secAtomic claim from the pool
Metaphor

The fleet is parked. You walk up, get keys, drive away. (For PracSuite + Nookal, pool assignment happens during the assisted onboarding session.)

Phase 03 · Channels live
10 / 22
Phase 03 · Three surfaces, one Robyn
Customer

One agent.
Three surfaces.

The same Robyn handles every channel — same persona, same triage logic, same booking flow. Patient context follows them across surfaces.

SMS

Always-on by default. Most clinics start here. Inbound texts triage and book; outbound covers confirmations, reminders, reengagement.

WhatsApp

Optional. Requires Meta Business approval and templated session-openers. Routiq handles the BSP setup end-to-end.

Voice

Always-on by default for inbound. Twilio ConversationRelay streams audio to Robyn in real time. Same agent answers calls 24/7 with sub-second latency.

No bundle

SMS and Voice come on by default for inbound. WhatsApp is opt-in when there's demand — we don't force a package, and channels enable independently.

Phase 04 · Tailor the agent
11 / 22
Phase 04 · Persona & greeting
Customer

The first thing every
patient hears or reads.

Worth getting right. The opening line names your practice, sets the warmth, and asks an open question.

Voice greeting

The opening line Robyn says when she answers. Names your practice, sets the tone, invites the caller to lead.

"Thanks for calling ModPod Podiatry, this is Robyn — how can I help?"

SMS opener

How Robyn responds to a cold inbound text. Same tone, written form. Caller-ID match personalises the patient's name.

"Hi Sam — Robyn from ModPod here. Happy to help. What's going on?"
Phase 04 · Triage matrix
12 / 22
Phase 04 · What books what
Customer Internal

The triage matrix
maps symptom → slot.

Built once with the clinic, encoded into Robyn's system prompt. Edited later if your service mix shifts.

Patient says Robyn books Why
"Heel pain in the mornings"New BiomechanicalLikely plantar fasciitis — needs biomech assessment
"Ingrown toenail, red and sore"New Podiatry ComprehensiveStandard new patient consult
"Toenails are yellow / fungal"Initial Laser 2 FeetLaser treatment band
"I'm diabetic, GP told me to come"Diabetic AssessmentSpecial category — protected pathway
"Open wound on my foot"Escalate to human →Clinical safety — never auto-book
Phase 04 · Locations & SOPs
13 / 22
Phase 04 · Boring-but-critical
Customer Internal

Multi-location,
intelligently handled.

Hours, rosters, location aliases, and clinical SOPs. All scoped per location, all handled by Robyn without anyone re-explaining the setup.

Per location

  • Business ID (pulled from your PMS)
  • Opening hours and public holidays
  • Practitioners rotating through that clinic
  • Services and per-location pricing (where it varies)
  • Aliases — "Dee Why" = "DY" = "the why"

Clinical SOPs

  • Red-flag symptoms → escalate immediately
  • Diabetes + new wound → never auto-book
  • Suspected fracture → urgent callback path
  • Caller asks for a human → hand off cleanly
  • Max 2 STT clarification retries, then escalate
Phase 05 · UAT talk tracks
14 / 22
Phase 05 · Run against the live config
Customer Internal

Scripted UAT
before real patients.

Before we route a single real patient to Robyn, the clinic runs scripted scenarios against the actual production system. We've built a library — you pick the relevant ones for your channels.

10 voice talk tracks

  • TT-01 Happy path: new caller books
  • TT-03 Multi-location redirect mid-flow
  • TT-04 Existing patient (caller-ID match)
  • TT-06 Clinical escalation paths
  • TT-07 · TT-08 Reschedule & cancel
  • TT-09 STT recovery (mumbled speech)

35 state-coverage scripts

Force Robyn through every state in the FSM: new-patient name capture, two-slot choice, cancel-all, red-flag, returned missed call, sales transfer.

Internal docs: 2026-05-11-voice-agent-uat-talk-tracks.md · 2026-05-23-voice-state-manual-test-scripts.md

Phase 05 · Audit tooling
15 / 22
Phase 05 · Forensics on demand
Customer Internal

Every call is traceable,
end to end.

When a UAT run doesn't behave the way you expect — or six weeks later when a real interaction needs review — one command dumps the full forensic record.

/voice-call-audit

  • Full transcript + caller / agent timestamps
  • Every tool call (booking, availability, cancel) with input + output
  • Langfuse LLM trace per turn — cost, latency, model
  • Twilio recording URL (mp3)
  • State sequence + transitions

/chat-conversation-audit

  • Same forensic depth for SMS & WhatsApp
  • Patient snapshot + appointment history
  • Outbound message log (reminders, follow-ups)
  • Conversation-health verdicts
Phase 05 · Sign-off gate
16 / 22
Phase 05 · The four gates
Customer Internal

Four green lights
before we ship.

No go-live without all four. We hold the line on this even when there's pressure to launch — half-tested clinical agents are the one failure mode we won't allow.

01 · Clinical safety

Every red-flag scenario in TT-06 escalates correctly. No routine booking for diabetes-plus-wound, suspected fracture, or severe pain.

02 · Triage accuracy

Symptom → appointment type matches your matrix across test scenarios. No "General 30 min" catch-all when a specific type should fire.

03 · Multi-location

When a caller names a clinic, Robyn books at that clinic. Mid-flow clinic redirects work. Per-location pricing speaks correctly.

04 · Recovery paths

Mumbled speech, ambiguous choices, two-slot picks, cancel + rebook in one breath — all handled without dead air or hallucination.

Phase 06 · Flip the switch
17 / 22
Phase 06 · Production toggle
Customer Internal

Production toggle on.
Real patients now.

Routiq's onboarding team flips the production toggle. Real patient traffic now hits Robyn instead of voicemail or your front desk's overflow.

What changes

  • Inbound calls answered by Robyn within 1 ring
  • Inbound SMS triaged in < 3 seconds
  • Outbound reminders & reengagement queue armed
  • Dashboard analytics start populating

What stays the same

  • Your PMS remains the source of truth
  • Front desk can override any booking
  • Patients can always ask for a human
  • Clinical escalations go to your team, not Robyn
Phase 06 · First 48 hours
18 / 22
Phase 06 · We watch closely
Customer Internal

The first 48 hours
are hand-audited.

Not because we expect Robyn to fail — because real callers always surface edge cases that UAT couldn't predict. The Routiq team watches every call and every SMS.

Per-call audit

Every voice call run through voice-call-audit. Any unexpected state transition gets flagged before the next shift.

Booking validation

Every Robyn booking cross-checked against your PMS. Any mismatch is investigated before the day ends.

Daily standup

15-minute end-of-day call with the clinic. Any surprises, patient feedback, tone tweaks — caught early.

Phase 06 · The finish line
19 / 22
✓   The finish line

First live patient call.

A real patient calls in. Robyn answers, triages, books — or escalates correctly — and the booking lands in your PMS.

That's onboarding, done.

Everything from this point on is ongoing success: weekly reviews, eval suite runs, reengagement campaigns, and the optimisation cadence that turns Robyn from competent to compounding.

What's next
20 / 22
After go-live
Customer

From live,
to growing.

Onboarding hands off to success. The cadence shifts from "are we live?" to "are we measurably moving the metrics that matter?"

Weeks 1–4

  • Daily call audits
  • Triage matrix tuning
  • Greeting / tone refinement

Month 2+

  • Reengagement campaigns launch
  • Dormant-patient reactivation
  • Channel expansion (add voice if SMS-only)

Ongoing

  • Monthly clinical-safety review
  • Eval suite re-runs after agent updates
  • Quarterly business review
Appendix · CS playbook
21 / 22
Appendix · Quick reference
Internal only

Quick reference for
the onboarding team.

Provision a phone number

SELECT twilio_phone_number FROM
phone_number_pool WHERE status='available'
AND voice_enabled=true LIMIT 1;

Stuck in syncing?

  • Check Cliniko API key encryption (legacy vs Routiq format)
  • Verify rate-limit headroom in the PMS
  • Check sync worker logs in Railway

Voice not dialing out?

  • Confirm voice_enabled=true on the pool number
  • Check Twilio voiceUrl points to production backend
  • Twilio Console → Calls → inspect error code

Audit any call / chat

/voice-call-audit <CallSid>
/chat-conversation-audit <phone>

Appendix · Glossary
22 / 22
Vocabulary cheat sheet
Internal

The vocabulary
we use in the wild.

TermWhat it means
onboarding_statusAccount lifecycle: pendingsyncingcompleted
phone_number_poolPre-provisioned Twilio + Chatwoot numbers, ready to assign in 5 seconds
RobynDefault name for the AI agent. Persona is tenant-configurable.
Triage matrixSymptom → appointment type mapping, encoded per tenant
ConversationRelayTwilio's real-time audio streaming layer for voice calls
Talk trackScripted UAT scenario the clinic runs against the live config
State machineDeterministic FSM governing voice agent flow (~35 states)