So registrieren Sie einen HubSpot-Kontakt automatisch für eine Dux-Soup-Kampagne
Dieses Tutorial führt Sie durch die Einrichtung eines HubSpot-Workflows, um automatisch eine Dux-Soup-Aktion „Enroll“ (Anmelden) für einen bestimmten Kontakt auszulösen. Dieser Prozess verwendet eine benutzerdefinierte Code-Aktion in HubSpot, um sicher mit der Dux-Soup-API zu kommunizieren.
Anwendungsfälle:
- Kombinieren Sie E-Mail mit LinkedIn für eine Multi-Channel-Kommunikation im Workflow.
- Personen automatisch in eine HubSpot-Sequenz und eine Dux-Soup-Kampagne aufnehmen
- Wenn zu einem neuen Segment, einer neuen Lead-Phase oder einem neuen Deal hinzugefügt, dann automatisch auf LinkedIn kontaktieren
- Wenn jemand ein Formular auf Ihrer Website ausfüllt, soll ihm eine Kontaktanfrage oder eine Direktnachricht gesendet werden (vielen Dank für Ihre Kontaktaufnahme und den Download, wir würden uns freuen, mit Ihnen in Kontakt zu treten).
Voraussetzungen
Bevor Sie beginnen, stellen Sie bitte sicher, dass Sie über Folgendes verfügen:
- Ein HubSpot -Konto mit Zugriff auf Workflows (HubSpot Pro-Stufe oder höher).
- Eine Dux-Soup Turbo- oder Dux-Soup Cloud -Lizenz (erforderlich für den API-Zugriff).
- Der Dux-Soup HubSpot Connector wird über Dux-Dash installiert (So installieren Sie).

- Ein HubSpot-Kontakt, dessen LinkedIn-Profilfeld mit dem entsprechenden LinkedIn-Profil ausgefüllt ist (z. B. https://www.linkedin.com/in/username/) im Feld „LinkedIn-Profil“ angegeben hat, NICHT die LinkedIn-URL oder etwas anderes.

Schritt 1: Erstellen Sie Ihre Kampagne in Dux-Soup
Zunächst müssen Sie in Dux-Soup die Kampagne erstellen, für die Sie Kontakte anmelden möchten.
- Gehen Sie zu Ihrem Dux-Dash.
- Klicken Sie auf „Neue Kampagne“ und geben Sie ihr einen einprägsamen Namen (z. B. „visit-hs“).
- Fügen Sie die gewünschten Schritte zur Kampagne hinzu (z. B. einen Profilbesuch, eine Kontaktanfrage usw.).
- Klicken Sie auf [SPEICHERN].
- Es ist wichtig, die Kampagnen-ID zu kopieren. Die ID sollte genau so kopiert werden, wie sie benannt ist, zum Beispiel „visit-hs“. Bitte beachten Sie den folgenden Screenshot.

Schritt 2: Holen Sie sich Ihre Dux-Soup-API-Anmeldedaten
Sie benötigen Ihre eindeutige Benutzer-ID und Ihren API-Schlüssel, um Ihre Anfragen zu authentifizieren.
- Gehen Sie im Dux-Dash zur Registerkarte „Optionen“.
Klicken Sie auf die Dux-Soup-Erweiterung und dann auf das Zahnrad-Symbol.

- Klicken Sie auf die Registerkarte „Verbinden “.
- Scrollen Sie nach unten zum Abschnitt „Dux-Soup-Fernbedienung “.
- Kopieren Sie Ihre Benutzer-ID und Ihren Schlüssel. Bewahren Sie diese an einem sicheren Ort auf.

Wenn die Registerkarte „Verbinden“ nicht angezeigt wird, aktivieren Sie den Expertenmodus und versuchen Sie es erneut (Lesen Sie hier mehr dazu).
Schritt 3: Erstellen Sie den HubSpot-Workflow
Gehen Sie zu HubSpot, um den Workflow zu erstellen, der die Aktion auslöst.
- Navigieren Sie in HubSpot zu „Automatisierung“ > „Workflows“.
- Klicken Sie auf „Workflow erstellen“ > „Von Grund auf neu“.
- Wählen Sie „Kontaktbasiert“ und klicken Sie auf „Weiter“.
- Richten Sie Ihr AnmeldungsauslöserDies ist das Ereignis, das die Automatisierung auslöst.
- Manuell ausgelöst (dies ist gut für die Verbindung mit anderen Workflows)
- Wenn eine neue Person eine Sequenz beendet
- Wenn eine neue Person zu einer Segmentliste hinzugefügt wird
- Das von uns verwendete Beispiel wird manuell ausgelöst, d. h. es wird ausgelöst, wenn wir manuell einen Kontakt zum Workflow hinzufügen.
- Klicken Sie auf das Symbol „+“, um eine Aktion hinzuzufügen.
Schritt 4: Konfigurieren Sie die benutzerdefinierte Code-Aktion.
Fügen Sie eine Aktion „Benutzerdefinierter Code“ hinzu und konfigurieren Sie diese sicher.
- Scrollen Sie im Bereich „Aktion auswählen“ nach unten zu „Datenoperationen“ und wählen Sie „Benutzerdefinierter Code“ aus.
- Konfigurieren Sie auf der linken Seite Folgendes:
- In der „Geheimnisse“ Abschnitt, klicken Sie auf „Wähle ein Geheimnis“ > "Geheimnis hinzufügen" und geben Sie Ihre Dux-Soup ein API Schlüssel.
- Beispiel: SCOTT_WRIGHT_DUX_SOUP_API_KEY
- Fügen Sie den API-Schlüssel ein, den Sie in Schritt 2 aus der Registerkarte „Dux-Soup Connect“ unter „Optionen“ kopiert haben. In der Regel handelt es sich dabei um eine Zeichenfolge aus Zahlen und Buchstaben.
- Klicken Sie erneut auf „Geheimnis hinzufügen”.

- Ordnen Sie die LinkedIn-Eigenschaft zu. Dadurch wird dem Code mitgeteilt, welches HubSpot-Feld die LinkedIn-URL des Kontakts enthält.
- Klicken Sie im Abschnitt „In den Code aufzunehmen Eigenschaften“ auf „Eigenschaft hinzufügen“.
- Schlüssel: ds_liprofile
- Eigenschaft: Klicken Sie auf „Eigenschaft auswählen” und wählen Sie Ihre HubSpot-Kontakteigenschaft aus, in der die LinkedIn-Profil-URL gespeichert ist. Dies muss das Feld sein, das die Profil-URL enthält. Verwenden Sie keine anderen Felder wie „LinkedIn-URL”, wenn diese nicht die richtige Datenquelle sind.
- LinkedIn-Profil (Groß-/Kleinschreibung beachten, NICHT LinkedIn-Profil-URL oder LinkedIn-URL).
- Bestätigen Sie, dass dort „ds_liprofile“ steht (siehe unten).

Schritt 5: Fügen Sie den benutzerdefinierten Code hinzu
- Stellen Sie sicher, dass im Hauptfeld „Code“ die „Sprache“ auf Node.js 18.x eingestellt ist.
- Löschen Sie den gesamten Platzhaltercode in dem Feld.
- Kopieren Sie das gesamte Skript unten und fügen Sie es ein.
- Stellen Sie sicher, dass Sie die vertraulichen Schlüsselnamen durch die unten von Ihnen erstellten ersetzen.
- Achten Sie auch darauf, den Namen der Kampagne, die Sie verwenden möchten, zu ersetzen.
// Import the required libraries. 'axios' is for making HTTP requests, 'crypto' is for the signature.
const axios = require('axios');
const crypto = require('crypto');
exports.main = async (event, callback) => {
// --- 1. Get your Secrets ---
// These names MUST exactly match the Secrets you created in Step 4.
const apiKey = process.env.SCOTT_WRIGHT_DUX_SOUP_API_KEY;
const userId = process.env.SCOTT_WRIGHT_DUX_SOUP_USER_ID;
// --- 2. Get your Contact's LinkedIn URL ---
// This 'ds_liprofile' MUST exactly match the Key you created in Step 4.
const profileUrl = event.inputFields['ds_liprofile'];
// Check if we have all the data we need
if (!profileUrl) {
console.error("LinkedIn Profile URL is missing.");
return callback({
outputFields: {
hs_execution_state: "FAILED",
status: "error",
message: "LinkedIn Profile URL is missing from contact."
}
});
}
// --- 4. Build the API Request (just like your script) ---
const apiUrl = `https://app.dux-soup.com/xapi/remote/control/${userId}/queue`;
const timestamp = Date.now();
// This payload format is based on your API Test Tool's cURL command.
const payload = {
targeturl: apiUrl,
userid: userId,
timestamp: timestamp,
params: {
profile: profileUrl,
force: true, // 'force' is included from your test tool setup
campaignid: "visit-hs" // <-- This MUST match your Campaign ID from Step 1.
},
command: "enroll"
};
// Convert the payload object to a JSON string
const payloadString = JSON.stringify(payload);
// --- 5. Generate the HMAC-SHA1 Signature ---
const hmac = crypto.createHmac('sha1', apiKey);
hmac.update(payloadString);
const signature = hmac.digest('base64');
// --- 6. Send the Request to Dux-Soup ---
try {
const response = await axios.post(apiUrl, payloadString, {
headers: {
'X-Dux-Signature': signature,
'Content-Type': 'application/json'
}
});
// Success! Send data back to HubSpot.
console.log("Successfully queued visit:", response.data);
callback({
outputFields: {
status: 'success',
message: JSON.stringify(response.data)
}
});
} catch (error) {
// Handle any errors
const errorMessage = error.response ? JSON.stringify(error.response.data) : error.message;
console.error("Error queuing visit:", errorMessage);
// Send error data back to HubSpot
callback({
outputFields: {
status: 'error',
message: errorMessage
}
});
}
};
Schritt 6: Endgültige Konfiguration und Test
- Passen Sie die Kampagnen-ID an: Suchen Sie in dem gerade eingefügten Code Zeile 47: campaignid: „visit-hs“. Ändern Sie „visit-hs“ in die genaue Kampagnen-ID, die Sie in Schritt 1 erstellt haben.
- Klicken Sie oben rechts im Aktionsfeld auf „Speichern “.
- Sie können nun im linken Bereich „Aktion testen“ auswählen, indem Sie einen Kontakt mit einer LinkedIn-Profil-URL auswählen.
- Wenn Sie zufrieden sind, klicken Sie auf „Überprüfen und veröffentlichen“, um Ihren Workflow zu aktivieren.
Fehlerbehebung
- „Mein Workflow zeigt „Erfolgreich“ an, aber es ist nichts passiert“ Die Dux-Soup-API funktioniert wie eine Warteschlange. „Erfolgreich“ bedeutet bei HubSpot, dass der Befehl erfolgreich gesendet wurde. Ihre Dux-Soup-Chrome-Erweiterung muss ausgeführt werden und Sie müssen bei LinkedIn angemeldet sein, damit der Befehl empfangen und ausgeführt werden kann. Überprüfen Sie Ihre Dux-Dash-Seite „Queued Activity“ , um zu sehen, welcher Befehl wartet.
- „Mein Testkontakt wird nicht registriert“ Wenn Sie einen Kontakt getestet haben (z. B. mit einer Besuchsaktion), kann Dux-Soup diesen Kontakt „sperren“ und verhindern, dass er registriert wird. Um dies zu beheben, gehen Sie zu Ihrem Dux-Dash-Trichterfluss, suchen Sie den Kontakt, klicken Sie auf das Kontrollkästchen neben seinem Namen und wählen Sie „Qualify Out“ (Ausqualifizieren). Dadurch wird der Kontakt zurückgesetzt und kann wieder registriert werden.
- Verwendung der „Standard“-Kampagne. Wie in Ihrem Dokument erwähnt, wird Dux-Soup den Kontakt automatisch in Ihre „Standard“-Kampagne aufnehmen, wenn Sie eine Kampagnen-ID senden, die in Ihrem Dux-Dash nicht vorhanden ist.
- Mit Dux-Soup können Sie nicht dieselbe Person für dieselbe Kampagne anmelden. Daher müssen Sie möglicherweise eine neue Kampagne für eine Person erstellen, wenn Sie mehrere Tests durchführen.
Anmerkungen
- Ein Workflow ist für einen Dux-Soup-Benutzer vorgesehen.
- Möchten Sie mehrere Dux-Benutzer? Erstellen Sie mehrere separate Workflows.
- Ein Workflow ist an eine bestimmte Kampagne für diesen Benutzer gebunden.
- Möchten Sie mehrere verschiedene Kampagnen für unterschiedliche Anwendungsfälle? Erstellen Sie separate HubSpot-Workflows für jede Dux-Soup-Kampagne für diesen Dux-Soup-Benutzer.
- Verwenden Sie eine Kampagne, und wenn Sie diese ändern möchten, passen Sie die Kampagne im Dux-Dash an. . Weitere Informationen zum Bearbeiten aktiver Kampagnen finden Sie hier.
- Möglicherweise möchten Sie Ihre Trigger in HubSpot auf „manuelle Registrierung” einstellen. Auf diese Weise können Sie sich ganz einfach aus anderen Bereichen von HubSpot, wie z. B. Segmenten (Listen), registrieren, indem Sie in der Segmentansicht von HubSpot auswählen, wen Sie möchten, und diese Personen dann im HubSpot-Workflow registrieren, der sie in die Dux-Soup-Kampagne aufnimmt.
- Verwenden Sie diesen HubSpot-Workflow, um andere Workflows in HubSpot für verschiedene Zwecke zu starten/stoppen oder auszulösen.
Bei Fragen zu diesem Arbeitsablauf wenden Sie sich bitte per E-Mail an Scott Wright, Vertriebsleiter bei Dux-Soup, unter scott@dux-soup.com.