Multi-tenant voice and messaging platform · UK
BookerBot
One system answers the phone, the texts and the WhatsApp for five businesses, and books the job while the customer is still in the conversation.
Enquiries arrived from ad campaigns, website forms and the phone, landed in an inbox or a voicemail, and waited for somebody to have a spare half hour. Most of the ringing round happened the next working day, by which point the faster company had the job.
Every inbound channel is watched. A conversation opens within about two minutes, qualifies against a prompt contract the client wrote themselves, offers real calendar slots, books one, and hands a human the calls that should not be automated. Five client workspaces run off the same codebase.
- median from an inbound message to the agent’s reply
- 8 sec
- from a web form submission to a live outbound conversation
- ~2 min
- client workspaces on one codebase
- 5
The problem
Four businesses in four sectors described the same problem to me in four vocabularies. A home survey firm was buying Meta and Google leads and letting them sit in a CRM overnight. A mortgage protection brokerage had a list of past clients nobody had time to ring. An agency wanted to follow up its own enquiries without hiring a coordinator. In every case the work was not hard, it was just relentless: answer within minutes, ask the same eight questions, offer a time, write it down, chase the ones who go quiet. Nobody does that reliably at 3am, and the first company to actually speak to somebody usually gets the job.
What I built
BookerBot is one codebase serving all of them. Each client is a workspace with its own prompt contract, its own qualifying fields, and its own workflows, editable by the client without a deploy. Inbound arrives on the phone, SMS or WhatsApp and is answered on the channel it came in on, with an automatic fall back to SMS when a WhatsApp send fails. Outbound is a sequenced workflow rather than a blast: steps with delays between them, parked outside business hours, suppressed the moment the contact replies, and each step can be a message or an actual phone call the agent places itself. Six cron jobs run the machinery, the fastest every two minutes, polling the website forms and the CRMs and moving every waiting contact one step forward. Mid-conversation the agent can check a live calendar and book into it, and it hands over to a named human the moment the conversation is outside what its contract allows.
What it looks like
Data substituted
Data substituted
Data substituted
Data substitutedShots marked data substituted are the real interface with invented content in place of the client’s. Every name, address, sum of money and email on those screens is made up. The layout, the components and the behaviour are exactly what the client uses.
What happened
Measured end to end against the live systems: a form submission at 12:02:44 became a live outbound conversation at 12:04:32. Once a thread is open the agent answers fast enough that nobody experiences it as a queue, a median of 8 seconds from an inbound message to its reply, with nine in ten under 12 seconds. Across seven months in production it has handled 923 messages over SMS and WhatsApp for 251 contacts, and placed 67 completed AI phone calls to 57 people. For the surveying client, in the sample week I reported on, 14 enquiries produced 8 appointments and £19,731 of quoted work. The pipeline has run continuously since, including through a stretch where it correctly proved the leads had stopped arriving upstream, on the ad side, rather than being dropped by the system. The hardest workspace to sign off was the FCA-regulated brokerage: it is fenced so the agent cannot advise, quote a premium or ask for bank details, and that fence is written into the prompt contract and tested rather than trusted.
Provenance: Message, contact, workspace and voice-call counts measured 2026-08-12 against the live BookerBot Supabase project: 923 rows in messages (19 Jan to 11 Aug 2026), 251 contacts, 5 rows in clients, 15 workflows, and 67 successful voice_call steps to 57 distinct contacts in contacts.step_history (18 Mar to 4 Jun 2026). Channel behaviour, cron cadence and booking tools read from the production source. Response latency measured 2026-08-11 over the full messages table. Speed-to-lead trace measured 2026-07-08 against the live Wix, BookerBot and Reonic systems. Funnel figures from the weekly report for w/e 5 Apr 2026.
Want the same thing done to your operation?
Ten working days, a fixed fee, and one automation live before we finish. If there is nothing worth automating, I will say so in the findings.
Book a call