A Dutch buyer's agent ran everything from a Google Sheet and an inbox, and couldn't take on more than about 15 clients. We replaced the sheet with a CRM, added an AI agent that sorts every incoming mail and turns it into tasks, and automated WhatsApp messages at the key moments of a purchase. Result: about 4 hours of admin saved per week, same-day replies instead of next-day, and room to grow from 15 to 20–30+ clients.

The problem

A buyer's agent guides people through buying a house: searching, viewings, bidding, inspection, all the way to the keys. Every client generates a steady stream of mail, and every mail can mean a task: plan a viewing, chase a document, update the client.

There was no CRM. Everything lived in a sheet in Google Drive. Replies easily took a day, and follow-ups slipped through the cracks. With about 15 clients at a time, the owner put it plainly: growing further was impossible. The whole process was too time-consuming and too convoluted.

What was built

  1. A CRM instead of a sheet. All clients, their stage in the purchase and their history in one place, in GoHighLevel.

  2. An AI agent for incoming mail. It doesn't reply to mail. It reads every message, works out which client and which step it belongs to, logs it in the CRM and routes it. Then it creates the follow-up: a viewing goes straight into the calendar of the right person, for example.

  3. WhatsApp at the moments that matter. A welcome message when a new client comes on board, a reminder before each viewing, and congratulations when the purchase is done. Messages go to group chats with the client and the team.

Overview diagram

Emails and WhatsApp messages come in on the left; n8n turns them into records and tasks in the CRM. Messages to clients only go out once the team has ticked them.

One purchase, start to finish

The screenshots below come from a demo run with fictional clients: Emma Clarke and Daniel Brooks, English-speaking expats buying their first home in Utrecht.

1. A referral arrives by email. A mortgage adviser mails: new clients, budget around €450K, looking in three Utrecht neighbourhoods, English-speaking. Nobody types anything. The agent creates the client in the CRM with her partner, the referrer and the language, opens a deal in the pipeline and writes a call task with the full summary.

Referrals in CRM

From one email: a call task with the full summary, the partner, referrer and language filled in, and a new deal in the pipeline.

2. The client says yes. When the deal moves to "client won", a WhatsApp group is created for the client and their partner, with a welcome message in their language.

WhatsApp welcome message

3. A viewing is confirmed. The selling agent emails a confirmation. The agent pulls out the address, postcode, date, time and the agent's reference code. Once a team member links it to the client, it goes into the calendar and the client gets a confirmation, plus a reminder on the last working day before the viewing.

Viewing property calendar

The property, created from the email ("not linked yet": the agent doesn't guess whose viewing it is), and the viewing in the team calendar once it's linked.

WhatsApp viewing messages

4. After the viewing, the client’s wishes update themselves. Clients share their impressions in the WhatsApp group, the way they always would. Every evening, Claude reads the day’s messages and keeps a profile of each client up to date: budget and area, must-haves, deal-breakers, and every home they’ve seen with their verdict. Nobody has to write anything down, and anyone on the team can see at a glance what the client is looking for.

WhatsApp client wishes to CRM

Four casual WhatsApp messages become a structured profile: budget and area, a must-have, a deal-breaker, and a verdict on each home viewed. The CRM is in Dutch for the team.

5. The keys. Once the transfer date is in the CRM, the reminders around the transfer and the final congratulations follow on their own.

WhatsApp congratulations message

How the mail agent decides

For every incoming mail, the agent answers three questions: which client is this about, which step of the purchase does it concern, and what needs to happen next. Claude classifies the mail into a fixed set of types (viewing confirmed, mortgage referral, bidding deadline, inspection, transfer date and a few more) and pulls out the address, date, time, people and reference code. Code then matches it to a client: first on the selling agent's reference code, then on the address, then on postcode and house number to catch spelling differences.

When the agent isn't sure, it doesn't guess. Low confidence, a missing date or two clients on the same address all lead to the same thing: a task for the team to check, with the email summarised. A wrong guess in a house purchase costs more than a few seconds of human review.

n8n mail agent

The core of the mail agent in n8n: Claude reads the mail, code matches it to a client and decides what to do.

The stack, and why

  • GoHighLevel as CRM: contacts, pipeline and history, replacing the Google Sheet.

  • n8n for all logic and AI steps. GoHighLevel's own workflows didn't work reliably with AI, so the intelligence moved to n8n and GoHighLevel stayed the system of record.

  • Claude (Anthropic) to read and classify incoming mail.

  • Unipile for WhatsApp. The official WhatsApp Business API didn't properly support creating group chats, which this client needed. The trade-off: Unipile runs outside Meta's official verification, so the risk of a blocked number is higher. That shaped how the messaging was built (see below).

The tricky parts

  • Sending carefully on an unofficial channel. Because WhatsApp runs outside the official API, the flows respect rate limits and space out messages, so the number doesn't get flagged.

  • Leads who don't speak Dutch. Not every buyer in the Netherlands speaks Dutch. When a mortgage adviser mentions that the clients are English-speaking, the agent sets the client's language to English, and every WhatsApp message from then on goes out in English.

  • Holidays and time off. Automated reminders shouldn't keep running as if nothing happened when the office is closed. Messages only go out between 08:00 and 21:00, at most five per quarter hour. An approval deadline that would fall on a weekend or a Dutch public holiday moves to the next working day.

  • Turning wishes into rules. The client knew what hurt, but not yet in rules a system can follow. A good part of the work was pinning down exactly which mail leads to which action, through calls with the client.

  • Where the logic lives. The first version built logic inside GoHighLevel. With AI involved it proved fragile, so it moved to n8n. That cost time once, and made everything after it more robust.

Going live with a human in the loop

Automated messages to real clients are a matter of trust. So we built a switch: at go-live, every automated message waited for the client to check it before it was sent. Once the client had seen enough messages go out right, the switch was turned off and the system ran on its own.

Each message waits as a task in the CRM. Tick it and it goes out; delete it and it doesn't.

Approval tasks

When the client asks something

The system never answers clients itself. When a client asks something in the WhatsApp group, such as a request to view a home, it becomes a task for the team with the message attached. The admin is automated; the conversation stays human.

Results

WhatsApp questions become a task

The agency was stuck at about 15 clients at a time. With the admin automated, a conservative estimate is that the same team can now handle 20 to 30 clients easily.

Per week, at 15 clients

Before

After

Incoming mails handled

~30, by hand

~30, automatically sorted and logged

WhatsApp messages to clients

~50, typed by hand

~50, prepared automatically, approved with one tick

Admin time

~4 hours

a few minutes of approving

Reply to a mail or update

easily a day

within minutes

Missed follow-ups

regularly

none: every mail becomes a record or a task

At 25 clients the time saved grows to about 7 hours a week, roughly 300 hours a year.

❝

"We used to lose half a day to our inbox and a spreadsheet. Now every mail lands in the right place, our clients hear from us at the right moments, and we can finally take on more clients without working more hours."

Steven, buyer's agent

What this means for other businesses

Any buyer's or selling agent, and really any service business that guides clients through a multi-step process, hits the same wall: communication grows with every client, and the team doesn't. The building blocks here carry over: a CRM as the single source of truth, an AI agent that turns mail into tasks, timely messages on the channel clients actually read, and a safe way to go live.