WhatsApp Agent for a Children's Sports Club
A full automated responder for parent enquiries: pricing, schedules, trial-class booking and complaints — with no human in the loop. The agent reads and writes to live sheets, and alerts the owner silently on failure rather than showing the customer a technical error.
The problem
Parent enquiries arrive on WhatsApp all day: what does it cost, when are the sessions, I want to book a trial, I have a complaint. Answering meant somebody sitting on a phone — and whoever waited too long went to another club.
The approach
Not a numbered-menu autoresponder, but an agent that understands the question and acts. I gave it a fixed set of tools to read and write the club's live sheets, and constrained it with a prompt that separates the two pricing stages and forbids inventing links, because the model tends to invent them.
What I built
An n8n agent on GPT-4o with six tools: club info, pricing, trial booking, complaints, conversation log, and available slots. Error handling is deliberate: on agent failure it retries three times, and if that fails the owner is alerted silently — the customer never sees a technical error. The current date is injected into every message context, because the model has no notion of it and any "today"/"tomorrow" logic fails silently without it.
The result
The system answers, logs and alerts with no human in the loop. Operating figures have not yet been pulled from the conversation log — and until they are, no number is shown here.
- Stack
- n8n · GPT-4o · Google Sheets · WAHA · Docker
- Role
- Built end to end — from the server to the conversation script
- Disciplines
- Automation
- Client
- Anonymised by agreement
The model has no notion of today's date by default — any logic depending on "today" or "tomorrow" fails silently unless the date is injected explicitly into the message context.