A London estate agency with three branches was receiving more than 80 WhatsApp messages every day. Two staff members were handling all of them manually. Average response time was four to six hours. Enquiries were going cold.
They needed a system that responded immediately, handled common questions without human involvement, booked viewings into the calendar, and passed anything complex to a human agent. We built it in 48 hours of actual build time spread across one week.
THE STACK
WhatsApp Business API via 360dialog. We chose 360dialog over direct Meta API because it offers EU-hosted data processing (UK GDPR compliance) and has more reliable webhook delivery.
n8n self-hosted on a Hetzner CX22 VPS at 8 pounds per month. All orchestration lives here: receiving webhooks, retrieving conversation history, routing, and sending replies.
GPT-4o-mini for standard queries. GPT-4o for qualification and pricing conversations. We route based on message complexity detected by a classification step.
Airtable for property listings database, synced every four hours via Airtable API.
Google Calendar API for real-time viewing slot availability.
HubSpot API to log every conversation as a contact note.
THE N8N WORKFLOW
Incoming message arrives at the 360dialog webhook and triggers the workflow. Message text is at body.entry[0].changes[0].value.messages[0].text.body.
Conversation history stores in Redis using phone number as the key. Each trigger retrieves the last six exchanges and formats them as a messages array for OpenAI. Six turns is enough context for a property enquiry conversation.
Classification step runs first using GPT-4o-mini with this prompt: Classify this WhatsApp message as one of: PROPERTY ENQUIRY, BOOKING REQUEST, PRICING QUESTION, COMPLAINT, GENERAL. Output only the category label. That label routes the workflow to one of five branches.
BOOKING REQUEST branch: extract date and time preference from message, check Google Calendar, book if available, send confirmation via 360dialog. Full sequence under 90 seconds.
PROPERTY ENQUIRY branch: query Airtable for matching properties based on area or reference number mentioned, format results as readable message, send reply.
GENERAL branch: send full message with conversation history and system prompt to GPT-4o, return response.
THE SYSTEM PROMPT
You are a professional letting agent assistant for [Agency Name]. Help prospective tenants with property enquiries, viewing requests, and tenancy questions. Help landlords with management queries. Respond in professional UK English only. Never invent property details. If you do not have specific information, say you will check with the team and someone will be in touch within two hours. If the caller mentions a complaint, a legal matter, or asks to speak to a person, respond with this message exactly and trigger the escalation workflow: I am transferring you to a member of our team right now. They will be with you shortly.
The escalation instruction is the most important line in the prompt. Without it the AI attempts to handle complaints and legal queries, which creates liability.
RESULTS AFTER MONTH ONE
Response time: four to six hours down to under 90 seconds, 24 hours a day. Sixty-eight percent of enquiries resolved without human involvement. Twenty percent converted to booked viewings directly through WhatsApp. Running cost: 51 pounds per month (VPS hosting plus 360dialog plus OpenAI tokens combined).
WHAT WE WOULD CHANGE
Use GPT-4o for all qualification branches, not GPT-4o-mini. The mini model occasionally misreads ambiguous phrasing around rent negotiation. The cost difference per month is small. The risk of losing a tenancy from a misread message is not.
Full service details: softomatesolutions.com/ai-chatbot-development-service-london/
Top comments (0)