Quick answer
You build an n8n AI Agent node that watches a webhook, classifies the enquiry, checks Google Calendar for the next free slot, and sends a personalised reply by WhatsApp or email. Self-hosted on a £4 a month VPS, it costs nothing to run beyond the LLM tokens. Setup takes about ninety minutes if you follow the steps below. Once it is live, your business answers customers in under a minute, every time, even when you are halfway up a ladder.
Table of contents
- Why a faster reply is the cheapest lead-gen you will ever do
- What you will need
- How the AI Agent node actually works
- Step 1: Install n8n on a VPS in fifteen minutes
- Step 2: Build the inbound webhook
- Step 3: Drop in the AI Agent node
- Step 4: Wire up Google Calendar as a tool
- Step 5: Send the reply via WhatsApp or email
- Step 6: Test, debug and go live
- Common mistakes that wreck this workflow
- What tradespeople are saying
- Recommended videos
- Frequently asked questions
- My verdict
n8n
OpenAI
Google Calendar
WhatsAppWhy a faster reply is the cheapest lead-gen you will ever do

The maths on lead response is brutal and well documented. Leads contacted within five minutes are roughly a hundred times more likely to convert than leads contacted after thirty minutes. By the four-hour mark, most of those people have already booked someone else.
A 2024 Fix Radio survey of 220 UK tradespeople found 34 percent had lost work because they could not pick up the phone, and 60 percent said they struggled to answer calls while on site. The average tradesperson loses three to five leads a week this way. At an average job value of £400 to £2,000, that adds up to a serious revenue hole.
I have been on the receiving end of this. When I ran Elite Heating and Plumbing, every missed call between 8am and 6pm was a coin toss. Sometimes they rang back. Mostly they did not. By the time we got back to them that evening, half had already booked someone else.
An n8n AI Agent fixes the problem without hiring an answering service or paying someone £600 a month to sit by a phone. The agent reads the enquiry, works out what the customer wants, checks your live calendar, and sends a personalised reply in under sixty seconds. The customer is held. You finish the job you are on. You ring them back when you have a free moment, already knowing what they want and when you can fit them in.
What you will need
Before you start, get these accounts and tools sorted. Most are free. Total cost to set up is under £20.
- A VPS with at least 2GB RAM. Hetzner CX22 is £4.20 a month. DigitalOcean's $6 droplet works too.
- A domain name pointed at the VPS. Use a cheap subdomain on a domain you already own.
- An OpenAI API account with $10 of credit, or an Anthropic API account for Claude.
- A Google account for Calendar integration.
- A WhatsApp Business account if you want WhatsApp replies, or just a Gmail account if you are sticking to email.
- About ninety minutes of uninterrupted time.
- Basic command line confidence. If you can copy and paste a Docker command, you can do this.
How the AI Agent node actually works

n8n shipped its AI Agent nodes in 2024 and has been refining them ever since. The AI Agent node is built on LangChain, the open-source framework for tool-using language models. It is the orchestration layer that decides what to do with each enquiry.
Underneath the Agent node, you connect what n8n calls sub-nodes. Three matter for this workflow:
- Chat Model. The LLM that does the thinking. OpenAI GPT-5 Mini is the cheapest sensible choice. Claude 4.5 Haiku is the alternative if you prefer Anthropic.
- Memory. Holds the conversation context so the agent remembers what the customer said two messages ago. Postgres Chat Memory if you are running Postgres alongside n8n. Window Buffer Memory if you want something simpler.
- Tools. Functions the agent can call. For this workflow you want Google Calendar (check availability), Gmail or WhatsApp (send the reply), and optionally a Google Sheets or Notion node for logging the lead.
The Agent reads the incoming message, decides which tools to call in which order, and produces a final reply. It is not magic. It is a language model with the ability to call functions, wrapped in a workflow editor that lets you build the whole thing without writing any code.
I have built dozens of these flows for trades businesses through TrainAR. The pattern is always the same. The difference is the system prompt and the tools. Get those right and the agent does the rest.
Step 1: Install n8n on a VPS in fifteen minutes

Spin up a fresh Ubuntu 24.04 VPS. Hetzner CX22 with 2 vCPU and 4GB RAM is the right sizing for any trades business doing fewer than a thousand enquiries a month.
SSH in and install Docker:
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
exitReconnect by SSH so the docker group permission takes effect. Now create a folder for n8n and pull the official image:
mkdir -p ~/n8n
cd ~/n8n
docker run -d --restart unless-stopped \
--name n8n -p 5678:5678 \
-e N8N_HOST=n8n.yourdomain.co.uk \
-e WEBHOOK_URL=https://n8n.yourdomain.co.uk/ \
-v ~/n8n:/home/node/.n8n \
docker.n8n.io/n8nio/n8nPoint an A record from your subdomain to the VPS IP, then install Caddy as a reverse proxy with automatic SSL. Caddy handles the certificate for you in one config block:
n8n.yourdomain.co.uk {
reverse_proxy localhost:5678
}Restart Caddy, open the subdomain in your browser, and you should see the n8n setup wizard. Create your owner account and you are done with infrastructure.
Step 2: Build the inbound webhook
Click "New workflow" and add a Webhook node as your trigger. Set the HTTP method to POST and give it a memorable path like customer-enquiry. Click "Listen for test event".
The webhook will give you a URL. That is what you point your contact form, your Facebook lead ad, or your WhatsApp Business webhook at. Different sources need different setup, but the principle is the same. Send a POST request with a JSON body containing at minimum:
{
"customer_name": "Sarah Mills",
"customer_phone": "07700900123",
"message": "Hi, my boiler is making a clunking noise. Can someone come Tuesday?",
"source": "website_form"
}Trigger one test event from your form or send a manual POST with curl. n8n captures the structure and uses it to populate the rest of the workflow. This bit is important: get the test data flowing before you build anything else. Trying to wire up the agent without real test data is the fastest way to waste an evening.
Step 3: Drop in the AI Agent node

Add an AI Agent node after the Webhook. Choose the "Tools Agent" type. This is the variant that supports calling external tools, which is what you need for calendar checking.
For the Chat Model, add an OpenAI Chat Model sub-node and select gpt-5-mini. It costs roughly £0.0001 per enquiry and answers in under three seconds. If you prefer Anthropic, use claude-haiku-4-5 with similar pricing.
For Memory, add a Window Buffer Memory sub-node with a window size of 10. This lets the agent remember the last ten back-and-forth messages with each customer, which covers nearly every domestic enquiry.
Now the important bit, the system prompt. This is where you tell the agent who it is and what to do. Here is the version I use for plumbing and heating businesses:
You are the booking assistant for {company_name}, a {trade} business
covering {service_area}. Your job is to acknowledge enquiries quickly,
work out what the customer needs, and offer them the next sensible
appointment slot.
Rules:
- Always reply within sixty seconds of the enquiry.
- Be warm, professional, plain-speaking. No jargon.
- Classify the enquiry as: emergency, repair, install quote, service,
or other. Tell the customer which it is.
- If it is an emergency (boiler off, water leak, no heating in winter),
flag it as urgent and offer same-day or next-day slots.
- For non-urgent jobs, check the calendar with the get_availability tool
and offer the next two free morning slots.
- Always finish by asking for the postcode if you do not already have it.
- If the customer asks a question you cannot answer (price, parts, technical),
reply with: "I will pass that on to {owner_name} and they will be in
touch personally."
Never invent prices. Never guess at parts. Never promise we can do a job
without checking first.That last paragraph matters. Without it, the model will cheerfully quote made-up prices to customers. Be paranoid about what it is allowed to claim.
Step 4: Wire up Google Calendar as a tool
Underneath your AI Agent node, click the "Tools" connector and add a Google Calendar node. Choose the operation "Get Events" and give it a description the agent can read, like:
"Returns the next available 2-hour slots in the engineer's calendar over the next seven working days. Use this when the customer wants to book a non-emergency appointment."
The description is how the agent decides when to call the tool. Be specific. If your description is vague, the agent will either call it too often (eating tokens) or never call it at all (sending generic replies).
Authenticate with OAuth, point it at your business calendar, and set the time range to "next 7 days". You can add a second Google Calendar tool called "Book Appointment" that creates a new event with the customer's details if you want full automation, but most trades businesses I work with prefer to confirm bookings manually. The agent offers the slot, the customer accepts, you eyeball it and create the calendar event yourself.
Step 5: Send the reply via WhatsApp or email

Add a Respond to Webhook node, then either a WhatsApp Business Cloud node or a Gmail node depending on where the enquiry came from. The WhatsApp route gets a 70 percent open rate inside five minutes. Email is closer to 20 percent.
If you are using WhatsApp Business Cloud, you will need to register a Meta business account, verify your number, and create a template message for the initial reply. Meta requires templates for any message sent outside a 24-hour customer service window. Once you have the template approved (usually two days), the agent fills in the dynamic fields.
For Gmail, no template approval is needed. Use the Send Message operation with the customer email as the recipient and the AI Agent output as the body.
Add a final node that logs every conversation to a Google Sheet. Five columns: timestamp, customer name, phone, classified intent, and full reply text. That gives you an audit trail, lets you spot patterns in enquiries, and gives you something to point at when a customer claims they never heard back.
Step 6: Test, debug and go live
Switch the workflow to "Active" and send three test enquiries through your contact form. One emergency (boiler off), one repair (tap dripping), one install quote (new bathroom). Watch how the agent classifies each one and what slots it offers.
If something is wrong, n8n shows you the exact step that failed and the error message. The two debug screens you will use most are the Execution log (shows the full trace of every node) and the AI Agent's own "Verbose" toggle (shows the model's reasoning, what tools it called, and why).
Run it for a week with live customer enquiries before you trust it. Set up an alert in n8n that pings your phone if any execution fails. The Slack node or a Twilio SMS node both work for this. Do not skip the alert. The day the workflow fails silently is the day you lose a £5,000 boiler install.
Common mistakes that wreck this workflow
Real-world pattern: how this looks in practice
Here is what a real morning looks like once this is running properly. You are on a boiler swap in Hemel Hempstead. Phone is on silent. At 9:17am a website enquiry comes in.
Within forty seconds the customer gets a WhatsApp message: "Hi Sarah, thanks for getting in touch. Sounds like a service rather than a breakdown, which we can usually fit in within a week. I have got Tuesday morning between 9 and 11, or Thursday afternoon between 1 and 3. Which works better? Also, can you confirm your postcode?"
You finish the boiler swap at 11:30. You check the n8n Sheet log. Sarah has replied with Tuesday morning and her postcode. You ring her at lunchtime, confirm the appointment, and add it to your real calendar.
That is the difference between losing Sarah to a competitor and winning a £180 service that turns into a £400 boiler service plan next year. Multiply that by the three enquiries a week you were losing and you have just added £30,000 a year to your top line, for £15 a month in running costs.
What tradespeople are saying
Recommended videos
Frequently asked questions
No. The whole build is visual. You will run about four Docker commands to install n8n, but you do not have to read or write any code beyond that. If you can copy and paste a terminal command, you can do this.
For a typical trades business handling 200 to 500 enquiries a month on GPT-5 Mini, expect £5 to £15 of OpenAI tokens. Each enquiry costs roughly £0.0001 to £0.0003. If you process thousands of enquiries a month, switch to Claude Haiku 4.5 or run a local model with Ollama. The infrastructure cost is the £4 a month VPS.
Cost and control. n8n Cloud's Pro plan is roughly £50 a month. A self-hosted instance on a £4 VPS handles the same workload. Same software, same features. You also own the data. For trades businesses worried about customer phone numbers and addresses sitting on someone else's servers, self-hosting is the cleaner answer.
It can, but it should not. Language models occasionally hallucinate numbers, and there is no quicker way to lose trust than quoting £80 for a job that turns out to need £400 of parts. Have the agent acknowledge the enquiry and promise a price by end of day. The closing happens human-to-human.
You are the data controller. When you self-host, the customer data flows through your VPS to OpenAI's API and back. Add a privacy notice to your contact form mentioning the AI assistant, set the OpenAI account to data retention off (a setting they offer free), and you are compliant. If you are nervous, use a UK-based VPS like Hetzner Helsinki or DigitalOcean London.
Not in this build. You can extend it with Twilio plus ElevenLabs to handle voice, but voice agents need a different setup, a more careful prompt, and a higher tolerance for the occasional weird reply. Start with text. Layer voice on once the text agent is solid. For more on AI customer service patterns, see our free AI customer service bot guide.
Set up a healthcheck. UptimeRobot is free and pings your n8n URL every five minutes. If it fails, you get a text. Also set up an error trigger inside n8n itself, which fires a Slack or SMS alert any time a workflow execution fails. Two minutes of setup, never wakes you up unless something is actually broken.
n8n has nodes for ServiceM8, Commusoft, Tradify, Jobber and most of the big platforms. Add an extra node at the end of the workflow that creates a new lead in your FSM with the customer name, classified intent and proposed slot. For an end-to-end example, see our walkthrough on AI quoting from job photos.
My verdict
Lead response time is the cheapest and most ignored lever in the trade. Most businesses lose more money to slow replies than they spend on advertising. An n8n AI Agent flips that around for £15 a month all in.
I would build this before I would build anything else. The quoting automation, the invoice pipeline, the calendar sync are all useful. But none of them recover lost leads. This one does, and the maths is hard to argue with: three recovered jobs a month at £400 each pays for the system five hundred times over.
Set aside a Saturday morning. Get it built. Run it for two weeks. Watch the missed-lead rate drop. Then come back and build the next workflow. The 2026 n8n stack for UK trades is the best self-hosted automation platform we have ever had, and the AI Agent node is what makes it click.










