Guides
Automatisierung11. Juni 202614 Min. Lesezeit

Zapier Workflow zur Leadgenerierung für lokale Leads

Bauen Sie einen Zap, der lokale Betriebe und E-Mails findet und an Sheets oder HubSpot schreibt. Ehrlich zu Zapiers Poll-Grenzen, mit vollem Setup.

Ein Zapier-Zap mit Webhook-, Delay-, Poll- und Filter-Schritten, der lokale Business-Leads in eine Tabelle speist.

Wenn Sie einen Zapier-Workflow zur Leadgenerierung für lokale Business-Leads bauen, ist der Datenschritt der schwierige Teil: Betriebe, ihre Websites, Telefonnummern und Kontakt-E-Mails zu finden, ohne einen Scraper zu pflegen. biz collect gibt Zapier einen sauberen Weg mit Webhooks by Zapier. Eine Aktion POSTet einen Standort und Stichworte an /v1/search, Sie erhalten eine asynchrone job_id, dann prüft ein kurzes Warten-und-Pollen-Muster /v1/jobs/:id, bis das strukturierte JSON bereit ist. Dieser Guide baut einen funktionierenden Zap, der lokale Betriebe findet, deduplizierte E-Mails aus ihren Websites extrahiert und die Ergebnisse an Google Sheets oder HubSpot sendet. Er ist auch ehrlich dazu, wo sich Zapiers Poll-Modell von n8n und Make unterscheidet, weil dieser Unterschied prägt, wie Sie den Zap bauen.

Warum eine API für Leadgenerierung in Zapier nutzen?

Zapier ist die meistgenutzte No-Code-Automatisierungsplattform, mit Tausenden App-Integrationen, einem sauberen Trigger-und-Aktion-Modell und eingebauten Tools wie Webhooks, Delay, Formatter, Filter und Paths. Es ist hervorragend im Bewegen von Daten zwischen Apps. Aber lokale Leadgenerierung hat einen Datenbeschaffungs-Schritt, für den Zapier allein nicht gebaut ist, weil Zapier keine Browser-Automatisierung und keine native Schleife hat.

Ein Scraping-first-Ansatz in Zapier bedeutet, einen externen Scraping-Dienst aufzurufen, brüchiges HTML zu parsen und einen zweiten Scraper zu laufen, um E-Mails auf jeder Website zu finden. Das ist fragil und teuer zu pflegen. Der sauberere Ansatz ist, eine API aufzurufen, die bereits strukturierte Firmendaten mit E-Mails liefert, sodass der Zap nur die Ergebnisse routen muss. Vergleichen Sie noch Quellen, geht dieser Guide zu welche für lokale Daten gewinnt: die Places API, ein Scraper oder eine Firmendaten-API die Optionen durch.

biz collect ist für genau das ausgelegt. Es ist eine LLM-native Business-Contacts-API, gebaut für Agenten, Workflow-Tools, Skripte und CRM-Anreicherung. Sie rufen /api/v1/search mit Parametern wie location, keywords, radius_km und scrape_emails auf. Die API gibt einen eingereihten Job zurück. Sie pollen /api/v1/jobs/:id, bis er fertig ist, und nutzen dann die zurückgegebenen JSON-Datensätze im Rest des Zaps.

Das lässt Ihren Zap sich auf das Routing konzentrieren:

  • Eine Suche aus einem Formular, einem Zeitplan oder einem Webhook starten.
  • Strukturierte lokale Firmendaten von biz collect anfordern.
  • Auf den Async-Job warten, dann auf das Ergebnis pollen.
  • Zurückgegebene Betriebe in Zeilen oder Datensätze aufteilen.
  • Datensätze filtern und bereinigen.
  • Qualifizierte Leads an Google Sheets, HubSpot, Airtable oder eine andere App senden.

Für API-Details starten Sie mit den API-Docs, Integrationsbeispielen unter Integrationen und Plan-Limits unter Preise. Um den asynchronen Suchen-und-Pollen-Lebenszyklus vor dem Bauen zu sehen, führt die Seite wie biz collect funktioniert durch ihn. Zapiers eigene Dokumentation ist nützlich für die hier verwendeten Tools, besonders Webhooks by Zapier, Delay by Zapier und Formatter by Zapier.

Seien Sie ehrlich zu Zapiers Poll-Grenzen

Vor dem Bauen lohnt es sich zu verstehen, wie sich Zapier von n8n und Make unterscheidet, weil es das Design ändert.

  • Ein einzelner Zap-Lauf ist linear. Es gibt keine native "Schleife bis eine Bedingung wahr ist", wie n8ns Wait-und-Schleife oder Makes Repeater funktionieren. Jeder Zap-Lauf fliesst einmal von oben nach unten.
  • Delay by Zapier wartet, aber es schleift nicht. Sie können eine Verzögerung zwischen einem Request und einem Poll einfügen, aber ein einzelner Lauf gibt Ihnen einen einzelnen Poll. Um mehrmals zu pollen, retriggern Sie entweder den Zap oder nutzen Sub-Zaps und Loop-Helfer, was Komplexität hinzufügt.
  • Task-Limits zählen. Jeder ausgeführte Aktionsschritt zählt als Task gegen Ihren Plan, also verbraucht ein mehrstufiges Poll-Muster bei Volumen schnell Tasks.
  • Code by Zapier ist der Notausgang. Ein JavaScript- oder Python-Schritt kann in einem Schritt fetchen, warten und erneut pollen, was die Keine-Schleife-Grenze für moderate Jobs umgeht.

Die praktische Folge: Das sauberste Zapier-Design nutzt entweder (a) eine grosszügige einzelne Verzögerung, dimensioniert nach der üblichen Job-Dauer, dann pollt einmal, oder (b) einen Code-by-Zapier-Schritt, der in einer kurzen internen Schleife pollt. n8n und Make handhaben mehrfaches Pollen natürlicher; der Beitrag zum n8n-Workflow zur Leadgenerierung zeigt diese native Schleife zum Vergleich. Innerhalb von Zapier designen Sie um das lineare Modell herum, nicht gegen es.

Was dieser Zap baut

Der Zap in diesem Tutorial automatisiert lokale Leads vom Such-Request bis zur Zielausgabe, mit Standard-Zapier-Schritten und biz collect für die Firmensuche.

Der finale Zap sieht so aus:

  1. Ein Trigger startet den Zap aus einem Formular, Zeitplan oder Webhook.
  2. Eine Webhooks-by-Zapier-Aktion sendet einen POST an biz collect /api/v1/search.
  3. Die Antwort liefert eine job_id und den Status.
  4. Ein Delay-by-Zapier-Schritt wartet lange genug, damit der Job fertig wird.
  5. Eine zweite Webhooks-by-Zapier-Aktion ruft /api/v1/jobs/:id auf.
  6. Ein Filter prüft, ob der Status completed ist.
  7. Ein Formatter- oder Code-Schritt teilt die Betriebe auf und bereinigt sie.
  8. Eine Ziel-Aktion sendet Leads an Google Sheets, HubSpot oder eine andere App.

Sie können dasselbe Muster für einmaliges Prospecting, wiederkehrende Scans, Agentur-Lead-Listen oder CRM-Anreicherung anpassen, einschliesslich KI-Agenten-Workflows, die verifizierte lokale Firmenkontaktdaten brauchen.

Voraussetzungen

Vor dem Bauen brauchen Sie:

  • Ein Zapier-Konto auf einem Plan, der Multi-Step-Zaps enthält (erforderlich für Webhooks, Delay und Formatter).
  • Einen biz collect API-Key.
  • Ein Ziel wie Google Sheets oder HubSpot.
  • Eine klare Suchdefinition: Standort, Kategorie-Stichworte, Radius und ob E-Mails von Websites extrahiert werden sollen.

biz collect ist gratis zu starten mit 200 Startguthaben und ohne Kreditkarte. Das reicht, um den Zap zu bauen und zu testen, bevor Sie ihn auf einen Zeitplan setzen. Prüfen Sie Preise für aktuelle Limits.

Datenfluss und API-Form

biz collect nutzt einen Async-Job-Flow, weil lokale Firmensuche und Website-E-Mail-Extraktion länger dauern als ein normaler synchroner Request.

Der Basis-Request ist ein POST an:

https://bizcollect.dev/api/v1/search

Der Body enthält die Sucheingaben:

{
  "location": "Denver, CO",
  "keywords": ["roofing contractor", "roofer"],
  "radius_km": 25,
  "scrape_emails": true
}

Die Antwort enthält den Job-Identifikator. Der Zap braucht nur die job_id und den Status:

{
  "job_id": "job_123456",
  "status": "queued",
  "poll_url": "/api/v1/jobs/job_123456"
}

Dann pollt Zapier:

GET https://bizcollect.dev/api/v1/jobs/job_123456

Ist er fertig, enthält das Ergebnis strukturierte Datensätze:

{
  "job_id": "job_123456",
  "status": "completed",
  "businesses": [
    {
      "name": "Example Roofing Co",
      "address": "500 Market St, Denver, CO 80202",
      "phone": "+1 303-555-0101",
      "website": "https://exampleroofing.com",
      "emails": ["office@exampleroofing.com", "info@exampleroofing.com"]
    }
  ]
}

Der Vertrag ist stabil: Suche starten, job_id erhalten, den Job-Endpunkt pollen, dann strukturiertes JSON verarbeiten. Für das massgebliche Schema nutzen Sie die OpenAPI-Referenz in den biz collect Docs.

Schritt 1: Den Trigger wählen

Wählen Sie den Trigger, der zu Ihrem Anwendungsfall passt:

  • Schedule by Zapier für wiederkehrendes Prospecting, etwa jeden Montagmorgen.
  • Google Forms, Typeform oder Webhook, wenn eine Person oder ein anderes System eine Suche übermittelt.
  • Manueller Test-Trigger beim Bauen.

Für eine erste Version nutzen Sie einen Schedule-Trigger oder ein Formular und übergeben Standort, Stichworte und Radius an den Such-Schritt. Soll ein anderes Tool Suchen starten, nutzen Sie einen Catch-Hook-Trigger (Webhooks by Zapier) und senden:

{
  "location": "Vienna, Austria",
  "keywords": ["dental clinic", "dentist"],
  "radius_km": 10,
  "scrape_emails": true
}

Halten Sie den ersten Zap einfach, bestätigen Sie die Antwortform, dann mappen Sie dynamische Felder.

Schritt 2: An /api/v1/search mit Webhooks by Zapier POSTen

Fügen Sie eine Webhooks by Zapier-Aktion hinzu und wählen Sie das Custom Request-Aktionsereignis. Nennen Sie es Start biz collect Search.

Konfigurieren Sie es:

  • Method: POST
  • URL: https://bizcollect.dev/api/v1/search
  • Data Pass-Through: off
  • Data: der JSON-Body
  • Headers: Autorisierung und Content Type

Setzen Sie die Header:

Authorization: Bearer YOUR_BIZCOLLECT_API_KEY
Content-Type: application/json

Setzen Sie die Daten (mappen Sie Trigger-Felder, wo Sie sie haben):

{
  "location": "{{location}}",
  "keywords": ["{{keyword_one}}", "{{keyword_two}}"],
  "radius_km": 20,
  "scrape_emails": true
}

Nutzen Sie das Custom Request-Ereignis statt POST, damit Sie den rohen JSON-Body und die Header exakt kontrollieren. Gibt Ihr Trigger Stichworte als einzelnen kommagetrennten String, laufen Sie ihn zuerst durch einen Formatter-"Split Text"-Schritt und bauen das Array neu auf, weil die API klare Stichwort-Eingaben erwartet.

Nach diesem Schritt haben Sie eine job_id und status. Scheitert er, prüfen Sie API-Key, Body und aktuelle Limits unter Preise.

Schritt 3: Vor dem Pollen verzögern

Fügen Sie einen Delay by Zapier-Schritt, Delay For, nach der Such-Aktion hinzu. Nennen Sie ihn Wait Before Polling.

Setzen Sie eine Verzögerung, die lang genug ist, dass der Job beim Pollen üblicherweise fertig ist. E-Mail-Extraktion verlangt, dass die API Firmenwebsites besucht, Seiten parst und Adressen dedupliziert, also fängt eine zu kurze Verzögerung mit dem einzelnen Poll einen noch laufenden Job. Weil ein Basis-Zap nur einmal pollt, dimensionieren Sie diese Verzögerung grosszügig:

  • Kleine Anreicherungs-Jobs: 1 bis 2 Minuten.
  • Typische E-Mail-Extraktions-Suchen: 2 bis 5 Minuten.
  • Grosse, breite Suchen: 5 Minuten oder mehr.

Delay by Zapier kann Minuten, Stunden oder Tage warten, also liegt eine mehrminütige Pause gut in seinem Bereich. Diese einzelne grosszügige Verzögerung ist der einfachste, task-effizienteste Weg, mit Zapiers linearem Modell zu arbeiten. Brauchen Sie echtes mehrfaches Pollen, siehe die Code-by-Zapier-Alternative unten.

Schritt 4: /api/v1/jobs/:id pollen

Fügen Sie eine zweite Webhooks by Zapier-Aktion hinzu, wieder Custom Request. Nennen Sie sie Poll biz collect Job.

Konfigurieren Sie sie:

  • Method: GET
  • URL: https://bizcollect.dev/api/v1/jobs/{{job_id}}, wobei Sie die job_id aus Schritt 2 mappen
  • Headers: derselbe Autorisierungs-Header

Header:

Authorization: Bearer YOUR_BIZCOLLECT_API_KEY

Die Antwort enthält den aktuellen Job-Status. Der nächste Schritt verzweigt darauf.

Optional: Code by Zapier für echtes mehrfaches Pollen

Ist ein einzelner verzögerter Poll für Ihre Suchgrössen nicht zuverlässig genug, ersetzen Sie das Delay und den Poll-Webhook durch einen Code by Zapier-Schritt, der in einer kurzen internen Schleife pollt. Das hält alles in einem Zap-Lauf und nutzt einen Task statt mehrerer:

// Code by Zapier (JavaScript). inputData.job_id and inputData.api_key are mapped in.
const base = "https://bizcollect.dev/api/v1/jobs/";
const headers = { Authorization: `Bearer ${inputData.api_key}` };

let data = null;
for (let attempt = 0; attempt < 12; attempt++) {
  const res = await fetch(base + inputData.job_id, { headers });
  data = await res.json();
  if (data.status === "completed" || data.status === "failed") break;
  await new Promise((r) => setTimeout(r, 10000)); // wait 10s between polls
}

output = { status: data.status, businesses: data.businesses || [] };

Halten Sie die Schleife begrenzt (hier 12 Versuche à 10 Sekunden, etwa zwei Minuten), sodass der Schritt nie hängt. Code by Zapier hat ein eigenes Ausführungszeit-Limit, also bevorzugen Sie für sehr grosse Jobs das grosszügige Einzel-Delay-Muster oder laufen den Workflow in n8n oder Make, die nativ schleifen.

Schritt 5: Auf fertige Jobs filtern

Fügen Sie einen Filter by Zapier-Schritt hinzu. Fahren Sie nur fort, wenn:

status (Text) Exactly matches: completed

Das stoppt den Zap sauber, wenn ein Poll einen noch queued oder running gebliebenen Job fängt oder wenn er failed ist. Für die Produktion fügen Sie einen separaten Path oder eine Benachrichtigung für den failed-Fall hinzu, damit eine Person weiss, wann ein Job nicht fertig wurde, statt dass der Zap still stoppt.

Schritt 6: Die Betriebe aufteilen und bereinigen

Die fertige Antwort enthält ein Array von Betrieben. Zapier handhabt Arrays über einen Line-Item- oder Looping by Zapier-Ansatz, oder Sie flachen die Daten in einem Code- oder Formatter-Schritt ab.

Der zuverlässigste Ansatz für die meisten Nutzer ist ein kleiner Code by Zapier-Schritt, der ein Ausgabeobjekt pro Betrieb zurückgibt, was Zapier veranlasst, pro Datensatz einen nachgelagerten Lauf zu erstellen:

// Code by Zapier (JavaScript). inputData.businesses is mapped from the poll/Code step.
const businesses = JSON.parse(inputData.businesses || "[]");

return businesses.map((b) => ({
  name: b.name || "",
  address: b.address || "",
  phone: b.phone || "",
  website: b.website || "",
  primary_email: Array.isArray(b.emails) && b.emails.length ? b.emails[0] : "",
  all_emails: Array.isArray(b.emails) ? b.emails.join(", ") : "",
  email_count: Array.isArray(b.emails) ? b.emails.length : 0,
}));

Ein Array aus Code by Zapier zurückzugeben, fächert in einen Lauf pro Item für die folgenden Schritte auf, was genau das ist, was Sie vor dem Schreiben von Zeilen wollen.

Bevorzugen Sie keinen Code, nutzen Sie Formatter-Utilities, um die erste E-Mail zu ziehen und die Liste zu verbinden, dann einen Looping-Schritt über die Betriebe. So oder so fügen Sie nach dem Aufteilen einen Filter hinzu, bei dem primary_email nicht leer ist, wenn die Kampagne nur E-Mail ist. Behalten Sie Telefon-tragende Datensätze, wenn Anrufen auch ein Kanal ist, da die E-Mail-Abdeckung immer teilweise ist.

Schritt 7: Leads an Google Sheets senden

Google Sheets ist das einfachste erste Ziel. Fügen Sie nach dem Aufteilen eine Google Sheets: Create Spreadsheet Row-Aktion hinzu.

Empfohlene Spalten:

  • Search Job ID
  • Business Name
  • Address
  • Phone
  • Website
  • Primary Email
  • All Emails
  • Email Count
  • Created At

Mappen Sie die Ausgabefelder des Split-Schritts in diese Spalten. Für leichtes Dedupe nutzen Sie die Website-Domain oder die primäre E-Mail als eindeutigen Wert; da "Create Row" nur anhängt, fügen Sie vor dem Schreiben eine "Lookup Spreadsheet Row"-Prüfung hinzu, falls strenge Eindeutigkeit wichtig ist.

Schritt 8: Qualifizierte Leads an HubSpot senden

Für HubSpot nutzt der häufige Ablauf HubSpots Suchen-und-Erstellen-Aktionen:

  1. Eine Firma per Domain oder Website finden.
  2. Die Firma erstellen, wenn keine existiert.
  3. Existiert primary_email, einen Kontakt per E-Mail finden.
  4. Den Kontakt erstellen, wenn keiner existiert.
  5. Den Kontakt mit der Firma verknüpfen.

Halten Sie die erste Version konservativ. Erstellen Sie keine doppelten Kontakte, weil ein Betrieb mehrere E-Mails hat; starten Sie mit primary_email und speichern Sie die ganze Liste in einer benutzerdefinierten Eigenschaft oder Notiz. Ein nützliches Firmen-Mapping:

Name    -> Business Name
Domain  -> the website with https:// and www. stripped (use Formatter)
Phone   -> Phone
Website -> Website

Fügen Sie vor den Erstellen-Aktionen Validierung hinzu: Kontakte nur erstellen, wenn primary_email vorhanden ist, Firmen nur erstellen, wenn website oder phone existiert, und ein Quellenfeld wie biz collect Zapier plus Suchstandort und Stichworte als Kampagnenkontext ergänzen. Das macht das Berichten, welche Suchen Leads erzeugten, unkompliziert.

Empfohlenes Zap-Layout

Hier ist die komplette Schritt-Sequenz für eine praktische Version:

Trigger (Schedule / Form / Catch Hook)
  -> Webhooks (Custom Request POST): Start biz collect Search
  -> Delay For: Wait Before Polling        (or Code by Zapier: poll loop)
  -> Webhooks (Custom Request GET): Poll biz collect Job
  -> Filter: status is completed
  -> Code by Zapier: split + clean businesses   (fans out per record)
  -> Filter: primary_email is not empty (email-only campaigns)
  -> Google Sheets / HubSpot

Dieses Design respektiert Zapiers lineares Modell: eine grosszügige Verzögerung (oder eine begrenzte Code-Poll-Schleife) statt einer offenen Schleife, ein Filter zum Stoppen bei unfertigen Jobs und ein Fan-out-Split vor dem Schreiben. Sind Ihre Jobs gross oder wollen Sie natives mehrfaches Pollen, handhaben der Make.com-Workflow zur Leadgenerierung und der n8n-Workflow zur Leadgenerierung Schleifen natürlicher, und der Guide zu den besten Tools für lokale Leadgenerierung 2026 zeigt, wo jedes passt.

Loslegen

Der einfachste nützliche Zapier-Workflow zur Leadgenerierung besteht aus nur wenigen Schritten: Trigger, Webhooks POST, Delay, Webhooks GET, Filter, Split und Ausgabe. Der Wert kommt daraus, eine API zu nutzen, die strukturierte Firmendaten und verifizierte Website-E-Mails liefert, statt Zapier zu bitten, einen Scraper zu treiben, für den es nie gebaut wurde.

biz collect ist für genau dieses Muster gebaut: ein POST, um eine lokale Suche zu starten, asynchrones Pollen auf Fertigstellung, stabile JSON-Felder, OpenAPI-3.1-Docs und deduplizierte Kontakt-E-Mails, extrahiert aus Firmenwebsites. Es passt zu Zapier, Make, n8n, Skripten, LLM-Tools und CRM-Anreicherung.

Sie können gratis mit 200 Startguthaben und ohne Kreditkarte starten. Öffnen Sie die API-Docs, prüfen Sie die Integrationen, sehen Sie sich die Preise an und bauen Sie noch heute Ihren ersten automatisierten Zap für lokale Leads.

Häufige Fragen

Wie baue ich einen Workflow zur Leadgenerierung in Zapier?
Nutzen Sie Webhooks by Zapier (Custom Request POST), um eine Stadt und Stichworte an /v1/search zu senden, einen Delay-by-Zapier-Schritt zum Warten, ein zweites Webhooks-GET, um /v1/jobs/:id zu pollen, einen Filter auf status gleich completed, dann einen Split-Schritt und eine Google Sheets oder HubSpot-Aktion, um die Leads zu schreiben.
Kann Zapier eine Async-API wiederholt pollen?
Nicht nativ in einem Lauf. Ein einzelner Zap-Lauf ist linear ohne Schleife-bis-Schritt, also ist das einfachste Muster ein grosszügiges Delay, dimensioniert nach der Job-Dauer, dann ein einzelner Poll. Für echtes mehrfaches Pollen nutzen Sie einen Code-by-Zapier-Schritt, der in einer kurzen begrenzten Schleife fetcht, oder laufen den Workflow in n8n oder Make, die nativ schleifen.
Wie lang sollte das Delay vor dem Pollen von biz collect sein?
Dimensionieren Sie es nach dem Job. Kleine Anreicherungs-Jobs finishen in 1 bis 2 Minuten; typische E-Mail-Extraktions-Suchen in 2 bis 5 Minuten; grosse breite Suchen können länger dauern. Weil ein Basis-Zap einmal pollt, tendieren Sie zu einem längeren Delay, damit der Poll einen fertigen Job fängt.
Wie teile ich das Betriebe-Array in Zapier in separate Zeilen auf?
Geben Sie ein Array von Objekten aus einem Code-by-Zapier-Schritt zurück, was in einen Lauf pro Betrieb für die folgenden Schritte auffächert, oder nutzen Sie einen Looping-by-Zapier-Schritt über das Array. Dann mappen Sie die Pro-Betrieb-Felder in Ihre Google Sheets oder CRM-Aktion.
Funktioniert das auch mit Make oder n8n?
Ja. Die API nutzt Standard-HTTP-Requests, sodass dasselbe Muster Suchen-Pollen-Schreiben in Make und n8n funktioniert. Diese Tools schleifen natürlicher als Zapier, also ist mehrfaches Pollen dort einfacher, während Zapier durch seinen riesigen App-Katalog glänzt.
Gibt es einen Gratis-Tarif, um den Zap zu testen?
Ja. Sie erhalten 200 Startguthaben plus 20 Login-Guthaben pro Tag ohne Kreditkarte, was ausreicht, um den ganzen Zap zu bauen und zu validieren, bevor Sie ihn auf einen Zeitplan setzen.

Firmenkontakte im grossen Stil.

Starten Sie mit 200 Gratis-Credits und 20 weiteren pro Tag. Ohne Karte, ohne Setup.

Keine Kreditkarte nötig200 Startguthaben20 tägliche Login-Credits