B2B Prospecting Automation with Lusha and n8n

B2B-Akquise automatisieren mit Lusha und n8n

🇬🇧 English

This article contains affiliate links. If you buy through them, we may earn a commission at no extra cost to you.

B2B Prospecting Automation: Enrich Leads and Push to Your CRM with Lusha and n8n

Manual prospecting is one of the biggest time drains in B2B sales. Copying names from LinkedIn, hunting for email addresses, verifying phone numbers, and then entering everything into a CRM by hand — it's slow, error-prone, and pulls your team away from actual selling. The good news: with the right automation stack, you can eliminate almost all of that friction.

This guide shows you how to build a workflow that pulls prospect data, enriches it with verified B2B contact details from Lusha — including GDPR-compliant email addresses and direct dials — and then pushes the finished records straight into your CRM, all orchestrated by n8n.

What You Need Before You Start

  • A Lusha account with API access (available on paid plans)
  • n8n — self-hosted or via n8n Cloud
  • A CRM with an API — HubSpot, Pipedrive, Salesforce, or any CRM n8n supports natively
  • A source list of target companies or LinkedIn URLs (CSV, Google Sheet, or Airtable table)

Why Lusha for Lead Enrichment?

Lusha is a B2B data provider that gives sales teams access to verified contact and company information — direct phone numbers, business email addresses, job titles, and firmographic data. Crucially for European teams, Lusha operates with a GDPR-compliant data model, meaning the data it surfaces is sourced and processed in accordance with applicable privacy regulations.

Instead of your SDRs spending hours researching each contact manually, Lusha's API lets you retrieve that data programmatically in seconds. Combined with n8n's workflow automation, every new prospect in your pipeline can be enriched and CRM-ready within moments of being identified.

The Workflow Architecture

Here's the high-level flow you'll build in n8n:

  1. Trigger — A schedule trigger runs the workflow (e.g., every morning at 8:00), or a webhook fires when a new row is added to a Google Sheet.
  2. Read source data — The workflow reads a list of target prospects (name + company, or LinkedIn URL) from a Google Sheet, Airtable, or Notion database.
  3. Call the Lusha API — For each prospect, an HTTP Request node calls Lusha's Person or Company API to retrieve verified contact data.
  4. Transform and validate — A Function node cleans the response, handles missing fields, and formats the data to match your CRM's schema.
  5. Push to CRM — A native n8n node (HubSpot, Pipedrive, Salesforce, etc.) creates or updates the contact record in your CRM.
  6. Log results — Optionally write enrichment results back to your source sheet so you always know what was processed.

Step-by-Step: Building the n8n Workflow

Step 1 — Set Up the Trigger

In n8n, add a Schedule Trigger node and configure it to run daily or at whatever cadence matches your prospecting rhythm. If you want real-time enrichment, use a Webhook trigger and call it from your lead capture form or LinkedIn scraper output instead.

Step 2 — Read Your Prospect List

Add a Google Sheets node (or Airtable / Notion node) set to Read Rows. Your sheet should have at minimum: first_name, last_name, company_name. A LinkedIn profile URL column is optional but improves Lusha's match rate significantly.

Step 3 — Enrich Each Lead via Lusha API

Add an HTTP Request node configured as follows:

  • Method: POST
  • URL: https://api.lusha.com/person
  • Authentication: Header Auth — Key: api_key, Value: your Lusha API key
  • Body (JSON): pass firstName, lastName, and company from the previous node using n8n expressions

Lusha will return a JSON object with available email addresses, phone numbers, job title, LinkedIn URL, and company details. Use a Split In Batches node upstream if your list is large, to respect Lusha's rate limits.

Step 4 — Transform the Data

Add a Code node (JavaScript) to extract the fields you care about and handle cases where Lusha returns no match:


const item = $input.first().json;
const emails = item.emails || [];
const phones = item.phones || [];

return [{
 json: {
 email: emails[0]?.email || null,
 phone: phones[0]?.number || null,
 title: item.jobTitle || null,
 company: item.company?.name || null,
 linkedin: item.linkedInUrl || null,
 enriched: emails.length > 0
 }
}];

Step 5 — Push to Your CRM

Add your CRM node — for example HubSpot → Create/Update Contact. Map the fields from the previous step. Use an IF node before this step to skip records where enriched is false, so you don't push empty contacts into your CRM.

Step 6 — Log Back to the Source Sheet

Add a final Google Sheets → Update Row node to write an enriched_at timestamp and a crm_id back to your source sheet. This prevents duplicate processing on the next run.

Handling Errors and Edge Cases

  • Rate limits: Lusha's API has request limits per minute. Use n8n's Split In Batches node with a Wait node (e.g., 1 second between batches of 10) to stay within limits.
  • No match found: Always handle the case where Lusha returns an empty result. Route these records to a separate "needs manual review" sheet rather than dropping them silently.
  • Duplicate contacts: Use your CRM's upsert capability (create if not exists, update if found) based on email or LinkedIn URL as the unique key.
  • GDPR compliance: Only enrich contacts who represent a legitimate business interest and are reachable in a B2B context. Lusha's data is sourced with GDPR compliance in mind, but your outreach process must be too.

What This Workflow Saves You

A typical SDR spends 20–30 minutes researching and manually entering a single contact. At 50 leads per week, that's 25 hours of manual work — roughly one full work week every month per rep. With this n8n + Lusha workflow running automatically, that same batch of 50 leads can be enriched and pushed to your CRM in under two minutes.

Extending the Workflow

  • Add a Slack notification node to alert your sales team when high-value accounts (e.g., companies with 500+ employees) are enriched.
  • Connect an email automation tool to trigger a personalized outreach sequence as soon as the contact hits your CRM.
  • Use n8n's AI nodes to generate a personalised opening line for each prospect based on their job title and company.
  • Add a LinkedIn enrichment step using a secondary data source to fill gaps where Lusha has no match.

Summary

Combining Lusha's verified B2B contact data with n8n's flexible workflow automation gives you a prospecting pipeline that runs itself. Your sales team wakes up to a CRM full of enriched, ready-to-contact leads — without anyone having to copy-paste a single row. The workflow is fully customisable, works with any CRM n8n supports, and can scale from 10 leads a day to thousands without touching the configuration.

If you want to stop wasting time on manual lead research, you can build this exact enrichment workflow via n8n — including 400+ integrations and a free self-hosting option — to push verified, CRM-ready B2B contacts to your pipeline automatically.

🇩🇪 Deutsch

Dieser Artikel enthält Affiliate-Links (Werbung). Kaufst du darüber, erhalten wir ggf. eine Provision – für dich ohne Mehrkosten.

B2B-Akquise automatisieren: Leads anreichern und ins CRM übertragen mit Lusha und n8n

Manuelle Akquise ist einer der größten Zeitfresser im B2B-Vertrieb. LinkedIn-Profile durchsuchen, E-Mail-Adressen recherchieren, Telefonnummern verifizieren und alles von Hand ins CRM eingeben — das kostet Stunden, die dein Team besser mit echten Verkaufsgesprächen verbringen könnte. Die gute Nachricht: Mit dem richtigen Automatisierungs-Stack lässt sich dieser Aufwand nahezu vollständig eliminieren.

Diese Anleitung zeigt dir, wie du einen Workflow baust, der Prospektdaten einliest, sie mit verifizierten B2B-Kontaktdaten von Lusha anreichert — DSGVO-konform, mit direkten Durchwahlen und geschäftlichen E-Mail-Adressen — und die fertigen Datensätze anschließend automatisch in dein CRM überträgt. Die Orchestrierung übernimmt dabei n8n.

Was du vorab benötigst

  • Ein Lusha-Konto mit API-Zugang (ab kostenpflichtigen Tarifen verfügbar)
  • n8n — selbst gehostet oder als n8n Cloud
  • Ein CRM mit API — HubSpot, Pipedrive, Salesforce oder ein anderes von n8n nativ unterstütztes System
  • Eine Quellliste mit Zielunternehmen oder LinkedIn-URLs (CSV, Google Sheet oder Airtable-Tabelle)

Warum Lusha für die Lead-Anreicherung?

Lusha ist ein B2B-Datenanbieter, der Vertriebsteams Zugang zu verifizierten Kontakt- und Unternehmensdaten verschafft: direkte Telefonnummern, geschäftliche E-Mail-Adressen, Berufsbezeichnungen und firmografische Daten. Besonders relevant für europäische Teams: Lusha arbeitet mit einem DSGVO-konformen Datenmodell — die bereitgestellten Daten werden gemäß den geltenden Datenschutzvorschriften erhoben und verarbeitet.

Statt dass deine SDRs jeden Kontakt stundenlang manuell recherchieren, liefert die Lusha-API diese Informationen innerhalb von Sekunden programmatisch. Kombiniert mit n8n's Workflow-Automatisierung ist jeder neue Prospect in deiner Pipeline innerhalb weniger Augenblicke angereichert und CRM-bereit.

Die Workflow-Architektur

So sieht der grundlegende Ablauf aus, den du in n8n aufbauen wirst:

  1. Trigger — Ein Schedule-Trigger startet den Workflow (z. B. täglich um 8:00 Uhr), oder ein Webhook feuert, sobald eine neue Zeile in ein Google Sheet eingetragen wird.
  2. Quelldaten einlesen — Der Workflow liest eine Liste von Zielkontakten (Name + Unternehmen oder LinkedIn-URL) aus einem Google Sheet, Airtable oder einer Notion-Datenbank.
  3. Lusha-API aufrufen — Für jeden Prospect ruft ein HTTP-Request-Node die Lusha Person- oder Company-API auf und holt verifizierte Kontaktdaten ab.
  4. Daten transformieren und validieren — Ein Code-Node bereinigt die Antwort, behandelt fehlende Felder und formatiert die Daten passend zum Schema deines CRMs.
  5. Ins CRM übertragen — Ein nativer n8n-Node (HubSpot, Pipedrive, Salesforce usw.) legt den Kontaktdatensatz im CRM an oder aktualisiert ihn.
  6. Ergebnisse protokollieren — Optional werden die Anreicherungsergebnisse in die Quelltabelle zurückgeschrieben, damit du jederzeit weißt, was bereits verarbeitet wurde.

Schritt für Schritt: Den n8n-Workflow aufbauen

Schritt 1 — Trigger einrichten

Füge in n8n einen Schedule-Trigger-Node hinzu und konfiguriere ihn so, dass er täglich oder im gewünschten Rhythmus läuft. Wenn du eine Echtzeit-Anreicherung möchtest, verwende stattdessen einen Webhook-Trigger und ruf ihn direkt aus deinem Lead-Capture-Formular oder dem Output deines LinkedIn-Scrapers auf.

Schritt 2 — Prospektliste einlesen

Füge einen Google Sheets-Node (oder Airtable / Notion) mit der Aktion Rows lesen hinzu. Deine Tabelle sollte mindestens folgende Spalten enthalten: first_name, last_name, company_name. Eine LinkedIn-URL-Spalte ist optional, verbessert aber die Trefferquote von Lusha deutlich.

Schritt 3 — Leads über die Lusha-API anreichern

Füge einen HTTP-Request-Node mit folgender Konfiguration hinzu:

  • Methode: POST
  • URL: https://api.lusha.com/person
  • Authentifizierung: Header Auth — Key: api_key, Value: dein Lusha-API-Schlüssel
  • Body (JSON): firstName, lastName und company aus dem vorherigen Node per n8n-Ausdruck übergeben

Lusha gibt ein JSON-Objekt mit verfügbaren E-Mail-Adressen, Telefonnummern, Berufsbezeichnung, LinkedIn-URL und Unternehmensdaten zurück. Verwende bei größeren Listen einen Split In Batches-Node, um die Rate-Limits von Lusha einzuhalten.

Schritt 4 — Daten transformieren

Füge einen Code-Node (JavaScript) hinzu, um die relevanten Felder zu extrahieren und Fälle zu behandeln, in denen Lusha keinen Treffer zurückliefert:


const item = $input.first().json;
const emails = item.emails || [];
const phones = item.phones || [];

return [{
 json: {
 email: emails[0]?.email || null,
 phone: phones[0]?.number || null,
 title: item.jobTitle || null,
 company: item.company?.name || null,
 linkedin: item.linkedInUrl || null,
 enriched: emails.length > 0
 }
}];

Schritt 5 — Ins CRM übertragen

Füge deinen CRM-Node hinzu — zum Beispiel HubSpot → Kontakt erstellen/aktualisieren. Mappe die Felder aus dem vorherigen Schritt. Verwende einen IF-Node davor, um Datensätze zu überspringen, bei denen enriched den Wert false hat, damit keine leeren Kontakte ins CRM gelangen.

Schritt 6 — Zurück in die Quelltabelle schreiben

Füge einen abschließenden Google Sheets → Zeile aktualisieren-Node hinzu, der einen enriched_at-Zeitstempel und eine crm_id in deine Quelltabelle schreibt. So vermeidest du doppelte Verarbeitung beim nächsten Durchlauf.

Fehlerbehandlung und Sonderfälle

  • Rate-Limits: Die Lusha-API hat Anfragelimits pro Minute. Nutze n8n's Split In Batches-Node kombiniert mit einem Wait-Node (z. B. 1 Sekunde zwischen Batches von 10), um innerhalb der Limits zu bleiben.
  • Kein Treffer gefunden: Behandle immer den Fall, dass Lusha kein Ergebnis zurückgibt. Leite diese Datensätze in ein separates „Manuelle Prüfung"-Sheet um, anstatt sie still zu verwerfen.
  • Duplikate im CRM: Nutze die Upsert-Funktion deines CRMs (anlegen falls nicht vorhanden, aktualisieren falls gefunden) auf Basis von E-Mail oder LinkedIn-URL als eindeutigem Schlüssel.
  • DSGVO-Konformität: Reichere nur Kontakte an, für die ein berechtigtes geschäftliches Interesse besteht und die im B2B-Kontext erreichbar sind. Lushas Daten werden DSGVO-konform erhoben — dein Outreach-Prozess muss es aber ebenfalls sein.

Was dieser Workflow dir einspart

Ein typischer SDR verbringt 20–30 Minuten damit, einen einzelnen Kontakt zu recherchieren und manuell einzupflegen. Bei 50 Leads pro Woche sind das 25 Stunden manuelle Arbeit — fast eine vollständige Arbeitswoche pro Monat und Mitarbeiter. Mit diesem n8n- und Lusha-Workflow lässt sich dieselbe Menge in unter zwei Minuten anreichern und ins CRM übertragen.

Den Workflow erweitern

  • Füge einen Slack-Benachrichtigungs-Node hinzu, der dein Vertriebsteam informiert, sobald hochwertige Accounts (z. B. Unternehmen mit 500+ Mitarbeitern) angereichert wurden.
  • Verbinde ein E-Mail-Automatisierungstool, das eine personalisierte Outreach-Sequenz startet, sobald der Kontakt im CRM landet.
  • Nutze n8n's KI-Nodes, um basierend auf Berufsbezeichnung und Unternehmen automatisch eine personalisierte Eröffnungszeile für jeden Prospect zu generieren.
  • Ergänze einen LinkedIn-Anreicherungsschritt über eine sekundäre Datenquelle, um Lücken zu schließen, wenn Lusha keinen Treffer liefert.

Zusammenfassung

Die Kombination aus Lushas verifizierten B2B-Kontaktdaten und n8n's flexibler Workflow-Automatisierung ergibt eine Akquise-Pipeline, die sich selbst betreibt. Dein Vertriebsteam startet in einen Arbeitstag mit einem CRM voller angereicherter, kontaktierbarer Leads — ohne dass jemand eine einzige Zeile kopieren und einfügen musste. Der Workflow ist vollständig anpassbar, funktioniert mit jedem von n8n unterstützten CRM und skaliert problemlos von 10 Leads täglich auf Tausende.

Wenn du aufhören möchtest, Zeit mit manueller Lead-Recherche zu verschwenden, kannst du über n8n genau diesen Anreicherungs-Workflow aufbauen — inklusive 400+ Integrationen und einer kostenlosen Self-Hosting-Option — und verifizierte, CRM-bereite B2B-Kontakte automatisch in deine Pipeline übertragen.