n8n CRM Enrichment: The Complete Setup Guide

Sylvain Charmet · Co-founder, Enrich-CRM
Created September 16, 2026

n8n CRM enrichment explained: how to auto-fill company and contact data in any n8n workflow, with HTTP Request node setup and real automation examples.

On this page

If your n8n workflows move leads between forms, your CRM, and Slack, there's a good chance half the records that pass through are missing a company size, a verified email, or a job title. n8n CRM enrichment closes that gap: instead of asking a rep to fill in the blanks, a node in your workflow calls an enrichment API and writes the missing fields back automatically, in the same run.

This matters more than it sounds. A lead-routing workflow that can't tell a 5-person startup from a 5,000-person enterprise routes everyone to the same queue. A workflow that fires a Slack alert on "new signup" but has no firmographic data attached gives your SDR nothing to open the conversation with. Enrichment is what turns a raw form submission into something a sales team can actually act on.

This guide walks through how to set up n8n CRM enrichment step by step, where it fits in common workflows, and what to watch for around data freshness and GDPR when you're piping company and contact data through an automation tool. For the broader picture of enriching records inside your CRM, this article is one piece of that setup — here we focus specifically on the n8n layer.

What Is n8n CRM Enrichment?

n8n CRM enrichment is the practice of calling a data enrichment API from an n8n workflow — usually via the HTTP Request node — to automatically add firmographic data (industry, size, revenue), contact details (verified email, job title), or intent signals to a record before it reaches your CRM.

Where Enrichment Fits in an n8n Workflow

Most teams don't build a single "enrichment workflow." They insert an enrichment step inside workflows they already have. A few common patterns:

  • Form submission → enrichment → CRM. A Typeform or webhook trigger captures an email address; before creating the CRM record, an HTTP Request node enriches the company and contact, so the record lands complete on the first write.
  • CSV import → enrichment → CRM update. A scheduled workflow reads a CSV (uploaded leads, a trade show list, a partner file), enriches each row, and pushes the result into HubSpot, Salesforce, or Pipedrive via their respective nodes.
  • CRM trigger → enrichment → Slack alert. When a deal or contact is created in the CRM, n8n pulls the record, enriches it, and posts a formatted card to a sales Slack channel with the missing context filled in.
  • Job-change monitoring. A scheduled workflow re-checks existing contacts on a cadence and flags anyone who has changed job or company, so account owners get notified before a champion goes cold.

In every case, the enrichment step is the same building block: send an identifier (email, domain, or full name + company), get back structured data, and map it to the fields your CRM expects.

How to Set Up Enrichment in n8n (Step by Step)

Here's the general setup, which applies to Enrich-CRM or any REST-based enrichment provider:

  1. Get your API key. Sign up for an enrichment tool and generate an API key from your account settings. Enrich-CRM's free plan includes 100 credits/month with no credit card required, which is enough to test a full workflow before committing to anything.
  2. Add an HTTP Request node at the point in your workflow where you have an email address, domain, or company name available.
  3. Configure the request. Set the method to POST (or GET, depending on the endpoint), point it at the enrichment API's URL, and add your API key as a header (Authorization: Bearer <your_key>) or query parameter, per the provider's documentation.
  4. Pass the identifier. Map the field from the previous node — typically {{$json.email}} or {{$json.domain}} — into the request body.
  5. Map the response. Use a Set or Edit Fields node after the HTTP Request node to extract the fields you need (company size, industry, verified email, job title, phone) and rename them to match your CRM's schema.
  6. Send to your CRM. Connect the enriched output to your CRM node (HubSpot, Salesforce, Pipedrive) or wherever the record needs to go next.
  7. Handle errors. Add an IF node or a Continue-on-Fail setting on the HTTP Request node so a single failed lookup (bad email, unknown domain) doesn't stop the whole workflow.

For teams that don't want to build the HTTP Request node from scratch, Enrich-CRM also ships a dedicated n8n integration with pre-built actions for company enrichment, contact enrichment, and email verification, so you can drop a node in instead of configuring raw endpoints.

Real-Time vs. Static Enrichment in Automation Workflows

This distinction matters more in an automation context than almost anywhere else. A workflow that runs continuously (webhook-triggered, or on a daily schedule) is only as good as the freshness of the data it pulls each time it runs.

Many enrichment providers still serve data from a static database that gets refreshed on their own schedule — meaning a job title or company headcount your workflow pulls today could already be several months stale, without any way to know it. Enrich-CRM enriches with a live web lookup at the moment your workflow calls the API, which matters specifically for automation: a job-change detection workflow that runs weekly needs current data every single run, not a cached snapshot from the provider's last crawl.

Example: Enriching New HubSpot Contacts via n8n

A typical setup:

  1. Trigger: HubSpot node, "New Contact Created."
  2. HTTP Request node calling the enrichment API with the contact's email.
  3. Set node mapping the response: company_industry, company_size, company_revenue, job_title, verified_phone.
  4. HubSpot node, "Update Contact," writing the mapped fields back to the same contact's properties.
  5. Optional: IF node checking company_size > 200 to route enterprise leads to a different Slack channel than SMB leads.

This runs automatically on every new contact and means your sales team never opens a HubSpot record with blank firmographic fields.

GDPR and Data Handling in Automated Enrichment

Because n8n workflows can run unattended and at volume, it's worth being deliberate about where enriched data is processed and stored. If you're enriching EU contacts, check that your provider processes data on EU servers and can point to a documented legal basis (typically legitimate interest for B2B contact enrichment). Enrich-CRM processes data on EU servers based in Paris, which keeps enrichment workflows aligned with GDPR without extra configuration on your end.

It's also good practice to log which workflow runs enriched which records — n8n's execution history does this natively — so you can audit or roll back if a mapping error sends bad data into your CRM at scale.

Enrich-CRM vs. Building Your Own Scraper in n8n

Some teams try to build enrichment logic with n8n's HTML Extract or Code nodes, scraping LinkedIn or company websites directly. This tends to break quickly: pages change layout, scraping at volume runs into rate limits and legal grey areas, and there's no structured schema to map into your CRM. A dedicated enrichment API gives you consistent JSON output, doesn't put you at risk of ToS violations from scraping, and includes the pieces that are genuinely hard to source yourself — verified emails, direct phone numbers, and job-change detection.

FAQ

What data can I pull into n8n through enrichment? With Enrich-CRM, you can enrich 250+ company data points (industry, size, revenue, tech stack, location) and 50+ contact data points (verified email, direct phone, job title, LinkedIn) directly through the API or the dedicated n8n integration.

Do I need a paid plan to test n8n CRM enrichment? No. Enrich-CRM's free plan includes 100 credits per month with no credit card required, which is enough to build and test a full n8n workflow before deciding on a paid plan starting at 29€/month.

Does n8n have a native enrichment node, or do I need the HTTP Request node? It depends on the provider. Enrich-CRM offers a dedicated n8n integration with pre-built actions, so you don't have to configure raw HTTP Request calls — though the HTTP Request node approach works with any REST API if you prefer full control.

Can I enrich data in n8n without connecting a CRM at all? Yes. Enrichment in n8n doesn't require a CRM node in the workflow — you can enrich a CSV, a Google Sheet, or any dataset passing through n8n and write the output wherever you need it, including back to a file or a database.

How does n8n CRM enrichment handle job changes? If your workflow includes job-change detection, it flags contacts who have moved to a new role or company since the last enrichment, so you can trigger a re-engagement workflow or notify the account owner automatically.

Get Started

If you want to add enrichment to an n8n workflow this week, the fastest path is to sign up for the free plan — 100 credits, no credit card — and connect either the HTTP Request node or the dedicated n8n integration to your first workflow.

We use cookies

We use essential cookies for the site to work, and optional analytics cookies to improve your experience. See our Cookie Policy.

Cookie preferences

Choose which cookies you allow. Your preference is stored for 6 months and can be changed at any time. Read our Cookie Policy for full details.

Essential cookies

Always active

Required for the site to function. Cannot be disabled. Includes session cookies, consent storage, and routing cookies (Cloudflare).

intercom-id-* intercom-sessions-* cookieconsent_status cfmrk_cic

Analytics cookies

Help us improve the site

Used to measure traffic and understand how visitors use the site (Google Analytics, PostHog). No advertising use.

_ga _gid _hjid ajs_anonymous_id __hstc hubspotutk _gac_*