Lösen Sie mit n8n eine benutzerdefinierte KI-Verbindungsanforderungsnachricht von Ihrem CRM an Dux-Soup aus.

Schwierigkeitsgrad: Fortgeschritten; einschließlich n8n, JavaScript, Zoho CRM API, Dux-Soup API und OpenAI API


Mit dieser n8n-Integration können Sie automatisch zufällige, halb-personalisierte LinkedIn-Verbindungsanfragen mit Dux-Soup versenden, sobald ein neues Lead-Ereignis im CRM auftritt.

In diesem Leitfaden verwenden wir Zoho CRM als Beispiel.


Schritt 1 – Erstellen Sie einen Webhook in n8n und verbinden Sie ihn mit Zoho CRM.


  1. Erstellen Sie einen Webhook-Knoten
  2. Setzen Sie die HTTP-Methode auf POST.
  3. Kopieren Sie die Webhook-URL.

  1. Fügen Sie nun die n8n-Webhook-URL in die Zoho-Webhook-Konfiguration ein.

Zoho → Einrichtung → Automatisierung → Webhooks → Webhook konfigurieren

Fügen Sie den Webhook ein, stellen Sie sicher, dass die Methode POST bleibt, wählen Sie das Modul „Leads“ aus und speichern Sie die Konfiguration.

  1. Der Webhook muss an eine Workflow-Regel angehängt sein, um ausgelöst zu werden.

Zoho → Automatisierung → Workflow-Regeln → Regel erstellen

Legen Sie eine Regel für die Erstellung eines Leads fest, mit der Bedingung, dass die LinkedIn-Profil-URL nicht leer ist. Wenn diese Bedingung erfüllt ist, sollte der Webhook ausgelöst werden.

Dies ist nur ein Beispiel; möglicherweise haben Sie einen anderen Feldnamen, der die LinkedIn-URL enthält.

  1. Kehren Sie zum n8n-Workflow zurück und klicken Sie auf „Auf Testereignis warten“.

Sie sollten die Ausgabefelder auf der rechten Seite sehen.


Schritt 2 – OpenAI-Nachrichtenerstellung


  1. Fügen Sie den Knoten „OpenAI Chat Model“ in n8n hinzu. Dieser Knoten gliedert sich in drei Komponenten:

    • Wenn ein Chat erstellt wird (Auslöser – für diesen Workflow nicht erforderlich)
    • Grundlegende LLM-Kette (hier geben Sie Ihre Nachrichtenaufforderung ein)
    • OpenAI (wo Sie Ihr API-Konto und Ihr Modell auswählen)

  1. Löschen Sie den Auslöser „Wenn Chat erstellt wird“ – wir verwenden stattdessen den Zoho Webhook als Auslöser.
  2. Verbinden Sie Webhook → Basic LLM Chain wie im Screenshot gezeigt.

  1. Öffnen Sie den Knoten „Basic LLM Chain “ und legen Sie Folgendes fest:

Quelle für Eingabeaufforderung → Unten definieren


Da OpenAI keine LinkedIn-URLs durchsuchen kann, darf es nur die von Ihnen bereitgestellten Daten verwenden – kein Profil-Scraping, kein Live-Lesen. Hier ist die empfohlene Eingabeaufforderung für die Automatisierung mit Dux-Soup-Platzhaltern:

Verfassen Sie eine einzigartige LinkedIn-Verbindungsnachricht für die Kontaktaufnahme unter Verwendung der unten aufgeführten Platzhalter. 
Die Platzhalter müssen GENAU und unverändert bleiben – ersetzen, umschreiben oder formatieren Sie sie nicht.

Erforderliche Platzhalter:
_FN_ (immer enthalten)
Wählen Sie zufällig EINEN der folgenden Platzhalter aus, jedoch nicht mehr als einen:
_CN_ / _TI_ / _IN_

Verwenden Sie den von Ihnen ausgewählten Platzhalter und formulieren Sie die Nachricht auf natürliche Weise darum herum.
Verwenden Sie niemals mehr als einen der Platzhalter (_CN_, _TI_, _IN_) in einer einzigen Nachricht.

Beispiel-Logik (NICHT direkt kopieren):
Bei Verwendung von _CN_ → „Hallo _FN_, ich freue mich, mit Menschen aus Unternehmen wie _CN_ in Kontakt zu treten.“
Bei Verwendung von _TI_ → „Hallo _FN_, es ist toll, Fachleute zu sehen, die als _TI_ arbeiten.“
Bei Verwendung von _IN_ → „Hallo _FN_, ich freue mich, Menschen in _IN_ kennenzulernen.“

Regeln:
– Maximal 280 Zeichen.
– Warmer, menschlicher und professioneller Ton – kein Verkauf oder Werben.
- Erfinden Sie KEINE Profilangaben. Wenn erforderliche Daten fehlen, schreiben Sie eine allgemeine, aber freundliche Nachricht.
- Die Nachricht muss natürlich klingen und darf sich nicht wiederholen.

Anforderung an die Variation:
Wählen Sie vor dem Schreiben stillschweigend einen zufälligen Stil-Seed von 1 bis 10 aus, um den Tonfall und die Satzstruktur zu variieren.
Verwenden Sie den Seed, um jedes Mal unterschiedliche Ergebnisse zu erzielen, indem Sie die Formulierung, den Rhythmus und die Einleitungssätze ändern.
Geben Sie den Stil nicht preis.

Tonwertzuordnung:
1–3 → prägnant & warm
4–6 → ausgefeilt & professionell
7–8 → etwas detaillierter
9–10 → freundlich & sympathisch

Generieren Sie nun die Nachricht mit _FN_ und GENAU EINEM Platzhalter, der aus (_CN_, _TI_, _IN_) ausgewählt wird.
  1. Wählen Sie Ihr Konto und Ihr Modell in der OpenAI-Komponente aus.

Damit dies funktioniert, benötigen Sie ein OpenAI-Guthaben oder eine verknüpfte Zahlungsmethode.

  1. Kehren Sie zur Komponente „Basic LLM Chain“ zurück und führen Sie den Testschritt aus. Die Meldung sollte auf der rechten Seite angezeigt werden.

Schritt 3 – Code-Knoten (HMAC + Nutzlast generieren)

  1. Fügen Sie nach der Basis-LLM-Kette einen Code-Knoten hinzu. In dieser Anleitung verwenden wir Code in JavaScript, aber Sie können dies auch in Python tun.

  1. Verwenden Sie diesen Code:
// 1. Read data from previous nodes

// From the Webhook node (Zoho payload)
const webhookData = $node["Webhook"].json;

// If Zoho sends the profile in the body as "url"
const profileUrl = webhookData.headers.url;   // <-- change 'url' if your field name is different

// From the Basic LLM Chain (your AI-written message)
const llmData = $node["Basic LLM Chain"].json;
const messageText = llmData.text || "$input.first().json.text";   // The message the AI wrote

// 2. Dux-Soup credentials
const apiKey = 'DUXAPIKEY';  //  your Dux-Soup API key here
const userId = 'DUXUSERID';  // your Dux-Soup userid

// 3. Build payload Dux-Soup expects
const payload = {
  targeturl: `https://app.dux-soup.com/xapi/remote/control/${userId}/queue`,
  userid: userId,
  timestamp: Date.now(),
  command: 'connect',              // or 'message'
  params: {
    profile: profileUrl,
    messagetext: messageText
  }
};

// 4. Sign payload with HMAC SHA1 (Base64)
const crypto = require('crypto');
const hmac = crypto
  .createHmac('sha1', apiKey)
  .update(JSON.stringify(payload))
  .digest('base64');

// 5. Return for HTTP Request node
return [
  {
    json: {
      payload,
      hmac,
      profileUrl,
      messageText,
    },
  },
];

Schritt 4 – HTTP-Anfrage-Knoten zu Dux-Soup


  1. Fügen Sie einen HTTP-Anforderungsknoten mit den folgenden Feldern hinzu:
Feld Wert
URL https://app.dux-soup.com/xapi/remote/control/<USER>/queue
Verfahren POST
Authentifizierung Keine
  1. Fügen Sie die folgenden Header hinzu:
Name Wert
Inhaltstyp anwendung/json
X-Dux-Signatur {{$json["hmac"]}}

  1. Fügen Sie den Request-Body hinzu (RAW JSON, nicht in Body: eingeschlossen):
{{$json["payload"]}}


  1. Führen Sie den Schritt aus. Die LinkedIn-Verbindungsanfrage wird nun automatisch in der Warteschlange „Dux-Soup Queued Activity” gespeichert.

Wichtige Hinweise

Stellen Sie sicher, dass Sie nach dem erfolgreichen Test zum Produktions-Webhook wechseln und Ihre CRM-Webhook-Einstellungen aktualisieren.

Der API-Schlüssel und die Fernsteuerungs-URL befinden sich in der Dux-Soup-Erweiterung → Optionen → Registerkarte „Verbinden“.