General practice·Ashgrove, QLD·2025
Ashgrove Family Clinic
Monday mornings that aren’t a voicemail pile
After-hours messages arrive sorted — on-call is only pinged when it should be

Client
Six GPs, two nurses, practice manager (Dan). Mixed private and bulk-bill. After-hours was a shared voicemail that reception emptied on Monday while patients queued at the desk.
Engagement
Custom intake app plus automation. Clinical governance sat with Dan and the principal GP; we built the rails, not the medicine. Weekly reviews in the lunch room, not Zoom.
Duration
9 weeks
A six-GP clinic in Ashgrove was drowning in after-hours messages. We built a short intake that routes urgent vs admin, writes a clean row for reception, and texts the on-call GP only when it should.
- Clinic ops
- Intake
- Airtable
Starting point
The after-hours line dumped everything into one mailbox: script repeats, appointment changes, and the occasional chest-pain call that should have gone to 000. Monday reception replayed 20 minutes of audio while the waiting room filled. GPs argued about whose weekend it ‘really’ was.
Challenge
Anything that looked like a chatbot giving medical advice was off the table. Privacy: no dumping free-text into a random Slack. The on-call GP would ignore a noisy SMS, so the urgent path had to be rare and obvious.
Approach
Paper decision tree first — what reception already did by ear. The form is short: identity, existing patient, reason category, and a hard ‘call 000’ exit for red-flag wording. Admin stays in an Airtable queue for Monday. Urgent texts the on-call with a callback number, not a diagnosis. Dan owns the roster table. Best Practice was never replaced.

How it ran
Discovery through launch — emphasis changes by client; this is how this one actually went.
- 1
Discovery
Listened to a week of after-hours tapes with Dan. Mapped what was admin versus what needed a human now.
- 2
Decision tree
Principal GP signed categories and red-flag wording. Legal reviewed the 000 disclaimer.
- 3
Build
Form, Airtable, SMS path, fail-closed if the roster cell is empty.
- 4
Shadow week
Ran in parallel with voicemail. Compared lists every morning. Tightened two categories that were too broad.
- 5
Cutover
Voicemail message points at the form. Two-week hypercare on Dan’s phone.
What we shipped
- Mobile after-hours form with red-flag exit
- Reception queue for admin requests
- On-call SMS with callback number only
- Roster table Dan can edit without us
Outcomes
- →Monday voicemail dump is mostly gone — reception works a list, not a tape
- →On-call SMS volume stayed low enough that GPs still answer it
- →A written path for ‘this is an emergency’ that does not pretend to triage clinically
Stack
- Constrained web form (mobile-first)
- Airtable (queues, audit of who changed what)
- SMS to on-call roster
- Existing Best Practice stayed the clinical record
Constraints
- No clinical advice in copy or automation
- No write-back into Best Practice in v1
- PII stays in Airtable with named access — not a shared inbox
What actually worked
Keeping the urgent path rare. GPs trust a quiet SMS. A chatty one gets muted by Thursday.
From the room
“Monday used to start with a voicemail hangover. Now we have a list. The GPs still pick up when it actually pings.”
— Dan Okoye, practice manager
Related work
More case studies
Live productSafety & compliance SaaS · Sydney, Australia
Vouchd
Safety & compliance checklists teams actually finish on site

Allied health · Ryde, NSW
Harbour Physio
Bookings that don’t die in the lunch-hour voicemail

Trades · Preston, VIC
Northside Electrical Group
Job status without ringing every van