What it is for:
- Answering every enquiry: each lead from the portals gets a WhatsApp from the agency within seconds, at any time of day.
- Screening tenants: leads answer the owner’s requirements on a short form, so agents only talk to the people who fit.
- Organising viewings: the lead books a slot from a link, with no calls.
- Finding flats for tenants: a new paid service, the search service.
From manual replies to an automatic flow
The problem
- Before:
- Everything by hand: agents answered every enquiry from the portals on WhatsApp, one by one.
- Screening by chat: they asked each person, message by message, whether they could be a good tenant, and then coordinated the viewings.
- Too many to keep up with:
- busy days bring 150 to 230 enquiries;
- the record was 572 in a single day, in October 2026, most of them for one listing.
- Time lost:
- about 5 minutes of admin per lead;
- an estimate from INMA’s product documentation, for an agency that gets 20 or more leads a day.
What changed
- Now: on flats with the automatic flow switched on:
- Automatic reply: the system answers every lead on its own, with nobody typing;
- Self-screening: the lead fills in the form, and the answers arrive sorted by who meets the most requirements;
- The agent comes in last: they only write the follow-up once the lead has filled in the form.
- In September 2026: the agent sent a personal follow-up to 1 in 5 of the leads who got the automatic WhatsApp.
A more professional agency
- Everything in one place: each lead’s messages, answers, viewing and notes are in one record, so any agent can pick up the conversation.
- No mistakes: replies come from templates written once and reviewed, filled in with the right name, flat and links.
- The same for everyone: every lead gets the same clear information about the flat and its requirements.
In use every day
- Leads handled: more than 9,400 between January and October 2026.
- Growing volume: from 360 leads a month in February to 1,805 in August.
- Ready for other agencies: only Habita uses it today, but it is multi-tenant, with modules each company can switch on.
Deterministic on purpose
- Written by people: every message is a template written by a person; no language model writes anything.
- Only the details change: INMA fills in the name, the flat and the links.
- Nothing made up: the agency always knows exactly what each lead received.
Under the hood
Each agency sees only its own data
- Security in the database: 45 Postgres tables protected by 90 row-level security policies.
- Encrypted personal data: ID numbers and bank accounts in contracts are stored encrypted (AES-256-GCM).
Signed integrations
- Verified messages: what arrives from the portal emails, Resend and the public website is checked with an HMAC-SHA256 or Svix signature.
Tested before it changes
- Automated tests: 554 in September 2026.
- A safe rewrite: when I rewrote how leads come in, I compared the new code with the old one, real production emails included: 95 checks, 0 differences.
Bulk WhatsApp that resumes
- In batches: campaigns go out in batches that pick up where they stopped if something fails.
- Within Meta’s limits: sending respects Meta’s limits and waits longer between retries.
- No double sends: each batch is locked while it is being sent, and the lock expires on its own.