← All projects
n8n

From a messy email to a lead in the CRM

Every inquiry from Idealista, Fotocasa or the website lands clean, classified and deduplicated in the CRM within seconds — without touching the inbox.

Stack
n8nEmail parsingEspoCRMDedupe

What it solves

When someone asks about a property on Idealista, Fotocasa or the website form, that interest first arrives as an email — mixed in with newsletters and automated alerts. Reviewing it by hand and copying the data into the CRM is slow, and every minute of delay is an opportunity going cold.

How it’s built

The entire process happens in seconds, with no human involvement:

  1. The system watches the inbox and triggers the moment a new email arrives.
  2. It identifies which portal it came from, extracts name, phone, email and message, and tells apart an inquiry from a missed call.
  3. It automatically discards newsletters and automated emails that aren’t real inquiries.
  4. It routes the case as a new lead or a missed call, as appropriate.
  5. It checks whether that contact already exists in the CRM — by phone, email or name: if it exists, it adds a note instead of duplicating it; if it’s new, it creates the lead or the pending call task.

Why it’s interesting

The valuable part isn’t parsing emails — it’s the anti-duplication logic: the same prospect writing from two different portals ends up as a single contact with history, not as two leads that two salespeople call twice. The result: every real inquiry reaches the CRM clean, classified and deduplicated within seconds — without hiring anyone else or paying for an expensive CRM license. The same logic as a paid platform, built with open-source and low-cost tools.

The workflow, in the open

The full workflow is published on GitHub: you can download it, import it into your own n8n and see exactly how it’s built, node by node → email-a-lead-crm.json