Cold Leads

Leads in Make.com prüfen, bevor sie eine Instantly-Kampagne erreichen

Für wen
Make.com-Nutzer, die kalte E-Mails mit Instantly versenden
Das Problem
Nie geprüfte Adressen landen direkt in einer Versandkampagne. Die ungültigen bouncen, und Bounces gehen zulasten der Postfächer, die die Kampagne versenden.
Die Lösung
Setzen Sie eine Cold-Leads-Prüfung zwischen Trigger und Instantly: eine HTTP-Anfrage pro Lead, einen Filter, der nur gültige Ergebnisse durchlässt, und eine zweite HTTP-Anfrage, die den Lead mit der Instantly API v2 Ihrer Kampagne hinzufügt.
Was Sie bekommen
Ein laufendes Make-Szenario: neuer Lead, Cold-Leads-Prüfung, Filter, Lead in der Instantly-Kampagne. Leads, die den Filter nicht passieren, bleiben dort stehen oder landen in einem Sheet zur manuellen Prüfung.

Adressen, IDs und Ergebnisse in den Beispielen sind illustrativ. example.com ist für Dokumentation reserviert, eine echte Prüfung dieser Adressen liefert daher invalid.

Die Codebeispiele sind in allen Sprachen gleich, ihre Kommentare sind auf Englisch.

Bevor Sie beginnen

  • Ein geheimer Cold-Leads-Schlüssel (sk_…) aus Einstellungen → API-Schlüssel. Die API ist Teil des Business-Tarifs.
  • Ein Instantly-API-v2-Schlüssel mit einem Scope, der Leads anlegen darf (leads:create, leads:all, all:create oder all:all). Erstellen Sie ihn in Instantly unter Settings → Integrations → API Keys; er wird nur einmal angezeigt. Ihr Instantly-Workspace braucht einen bezahlten Tarif mit API-Zugang.
  • Die ID der Instantly-Kampagne. GET https://api.instantly.ai/api/v2/campaigns listet Kampagnen mit ihren IDs auf (dafür ist der Scope campaigns:read nötig).
  • Ein Sheet mit Kopfzeile und den Spalten email, first_name, last_name und company. Watch New Rows in Make stoppt an einer leeren Zeile, halten Sie die Daten also lückenlos.

Das Szenario bauen

  1. Google Sheets → Watch New Rows: Wählen Sie die Tabelle (Spreadsheet) und das Blatt (Sheet).
  2. HTTP → Make a request (die HTTP-App, Version 4). Authentication type: API key. Fügen Sie unter Credentials einen Schlüssel hinzu: Key = Ihr sk_-Schlüssel, API key placement = In the header, API key parameter name = x-api-key. URL: https://coldleads.app/api/v1/verify. Method: POST. Body content type: application/JSON. Body input method: JSON string. Body content: das JSON unten, mit der aus Schritt 1 gemappten E-Mail-Adresse. Parse response: Yes. Setzen Sie unter Advanced settings Return error if HTTP request fails auf Yes und Timeout auf 30 Sekunden.
  3. Klicken Sie auf den Schraubenschlüssel an der Verbindung nach dem Cold-Leads-Modul und wählen Sie Set up a filter. Label: Nur gültige. Condition: status aus den Antwortdaten des Cold-Leads-Moduls, Text operators: Equal to, Wert valid.
  4. Noch einmal HTTP → Make a request, diesmal für Instantly. Authentication type: API key; fügen Sie einen Schlüssel hinzu mit Key = Bearer, gefolgt von einem Leerzeichen und Ihrem Instantly-API-Schlüssel, API key placement = In the header, API key parameter name = Authorization. URL: https://api.instantly.ai/api/v2/leads. Method: POST. Body content type: application/JSON, JSON string, Parse response: Yes, Return error if HTTP request fails: Yes.
  5. Führen Sie das Szenario einmal mit einer Testzeile aus, prüfen Sie die Ausgaben beider Module und planen Sie es dann zeitgesteuert ein.
Cold-Leads-Modul, Body content
{
  "email": "{{map the e-mail field of the trigger here}}",
  "timeout_ms": 10000
}
Instantly-Modul, Body content
{
  "campaign": "your-instantly-campaign-id",
  "email": "{{map email from the Cold Leads module}}",
  "first_name": "{{map from the trigger}}",
  "last_name": "{{map from the trigger}}",
  "company_name": "{{map from the trigger}}",
  "skip_if_in_workspace": true
}

Ersetzen Sie jeden Platzhalter, indem Sie in das Feld klicken und den Eintrag im Mapping-Panel von Make wählen. Verwenden Sie nur Feldnamen aus der Dokumentation von Instantly; campaign und email braucht Instantly, um einen Lead einer Kampagne hinzuzufügen. skip_if_in_workspace auf true überspringt Leads, die bereits in Ihrem Instantly-Workspace existieren.

Wie streng der Filter sein soll

FilterWas durchkommtAbwägung
status Equal to validAdressen, die ein Mailserver akzeptiert hat (Grund ok), und Adressen, deren Domain E-Mails annimmt, deren Postfach aber nicht geprüft wurde (Grund smtp_unreachable)Mehr Leads kommen durch; manche sind unbestätigt.
status Equal to valid und score greater than or equal to 80 (ein numerischer Operator)Nur Adressen, die ein Mailserver akzeptiert hat: valid-Ergebnisse haben den Score 97, bei Rollenadressen 80, wenn das Postfach bestätigt wurde, und 75 bzw. 65, wenn es nicht geprüft wurdeWeniger Leads; nichts kommt durch, solange der SMTP-Schritt für eine Domain nicht laufen kann.

Um riskante Leads zu behalten, statt sie zu verwerfen, fügen Sie nach dem Cold-Leads-Modul einen Router ein: Eine Route mit dem Filter oben führt zu Instantly, eine zweite Route mit status Equal to risky führt zu Google Sheets → Add a Row in einem Sheet zur manuellen Prüfung.

Beide Anfragen im Terminal testen

Wenn ein Modul fehlschlägt, senden Sie dieselbe Anfrage mit curl. So sehen Sie die genaue Antwort, einschließlich Fehlercodes von Cold Leads wie bad_api_key, api_not_in_plan oder no_credits.

bash
# 1) the Cold Leads request the first HTTP module sends (1 credit)
curl -s https://coldleads.app/api/v1/verify \
  -H "x-api-key: $COLDLEADS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"anna@example.com","timeout_ms":10000}'

# 2) the Instantly request the second HTTP module sends, for a lead that passed the filter
curl -s https://api.instantly.ai/api/v2/leads \
  -H "Authorization: Bearer $INSTANTLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"campaign":"your-instantly-campaign-id","email":"anna@example.com","first_name":"Anna","last_name":"Novak","company_name":"Acme","skip_if_in_workspace":true}'

Fehler und Wiederholungen

  • Mit Return error if HTTP request fails auf Yes stoppt ein 401 oder 403 (Schlüssel oder Tarif), ein 402 no_credits oder ein 429 den Lauf am Modul, statt einen Fehler-Body an den nächsten Schritt weiterzugeben.
  • Cold Leads erlaubt 120 Anfragen pro Minute und Schlüssel und antwortet bei Überschreitung mit 429 rate_limited und Retry-After: 60. Wenn andere Tools den Schlüssel mitnutzen, aktivieren Sie Store incomplete executions in den Szenario-Einstellungen und fügen Sie dem Cold-Leads-Modul einen Error-Handler Retry hinzu (Rechtsklick auf das Modul, Add error handler).
  • Make hat seine Error-Handler am 26. Mai 2026 umbenannt: Break heißt jetzt Retry und Ignore heißt jetzt Skip. Die vollständige Liste lautet Skip, Retry, Resume, Commit und Rollback.
  • Instantly erlaubt bis zu 100 Anfragen pro Sekunde und 6.000 pro Minute und Workspace, geteilt von allen API-Schlüsseln, und antwortet darüber mit 429.

Limits und Kosten

  • 1 Cold-Leads-Credit pro geprüftem Lead, unabhängig vom Ergebnis und auch für Ergebnisse aus dem 30-Tage-Cache.
  • timeout_ms 10000 hält jede Prüfung unter etwa 10 Sekunden; ist das Budget aufgebraucht, lautet das Ergebnis risky mit dem Grund timeout und bleibt daher am Filter hängen.
  • Der Business-Tarif kostet $99 im Monat und enthält die API und 10.000 Credits im Monat; zusätzliche Pakete zu 1.000 Credits kosten $5.
  • Make und Instantly rechnen ihre eigene Nutzung über Ihre dortigen Tarife ab.

FAQ

Gibt es eine eingebaute Cold-Leads-Integration für Make oder Instantly?

Nein. Das Szenario stellt zwei einfache HTTP-Anfragen mit Ihren eigenen Schlüsseln: eine an die Cold-Leads-API und eine an die Instantly-API. Zwischen den beiden Diensten wird nichts geteilt außer dem, was das Szenario sendet.

Was passiert mit Leads, die den Filter nicht passieren?

Sie bleiben am Filter stehen und erreichen Instantly nie. Fügen Sie einen Router mit einer zweiten Route hinzu, wenn riskante oder ungültige Leads in ein Sheet zur manuellen Prüfung geschrieben werden sollen.

Kann ich das Legacy-HTTP-Modul verwenden?

Ja. Das Legacy-Modul Make a request (HTTP-Version 3) nimmt dieselben Werte in seinen Feldern URL, Method, Headers (x-api-key oder Authorization), Raw-JSON-Body und Parse response auf.

Warum hat ein gültiger Lead den Grund smtp_unreachable?

Die Adresse hat die Syntax- und MX-Prüfung bestanden, aber Cold Leads konnte den Mailserver des Empfängers nicht per SMTP erreichen, das Postfach selbst wurde also nicht geprüft. Nutzen Sie den strengeren Filter, wenn Sie nur bestätigte Postfächer wollen.