Richten Sie einen AI Voice Agent für ausgehende Anrufe ein, der in HubSpot erstellte Leads qualifiziert und sie mithilfe von HubSpot AI Actions automatisch aktualisiert. Dieser Artikel erläutert, wie Sie den Agenten erstellen, mit HubSpot verbinden und den Arbeitsablauf einrichten, der den ausgehenden Anruf auslöst.
Hinweis: In diesem Artikel verwenden wir ein Beispiel mit ACME, einem SaaS-Unternehmen mit einem von HubSpot unterstützten Formular für eingehende Leads auf seiner Website. Anstatt jeden neuen Lead manuell anzurufen und zu qualifizieren, möchte ACME dies automatisch von einem AI Voice Agent erledigen lassen. Größere Kunden werden in Echtzeit an Vertriebsmitarbeiter weitergeleitet, während kleinere Kunden vom Agenten qualifiziert und zur Nachverfolgung durch das Vertriebsteam protokolliert werden. Der Agent ruft außerdem den HubSpot-Kontaktdatensatz des Leads ab und aktualisiert das Feld für die Lifecycle-Phase, um anzugeben, dass die Qualifizierung abgeschlossen wurde.
Mit dieser Konfiguration können Sie Leads direkt bei ihrem Eingang qualifizieren. So erreichen vielversprechende Leads Ihre Vertriebsmitarbeiter schneller, solange ihr Interesse noch aktuell ist. Dies beschleunigt Ihren Vertriebszyklus, verbessert die Konversionsraten von Leads zu Demos und sorgt für eine übersichtlichere Pipeline, da unqualifizierte Leads herausgefiltert werden, bevor sie Ihre Vertriebsmitarbeiter erreichen. Dadurch kann sich Ihr Team auf den Verkauf konzentrieren, statt jeden eingehenden Lead manuell zu kontaktieren und zu qualifizieren.
Funktionsweise
Diese Einrichtung lässt sich an praktisch jedes Szenario anpassen. Ein typischer Anrufablauf sieht im ACME-Beispiel jedoch wie folgt aus:
- Ein neuer Lead sendet ein von HubSpot unterstütztes Formular auf der Website ab, wodurch ein Kontaktdatensatz erstellt wird.
- Das Absenden des Formulars löst einen HubSpot-Workflow aus, der den Kontaktdatensatz aufnimmt und über den AI Voice Agent einen ausgehenden Anruf startet.
- Der Agent stellt eine Verbindung mit dem Lead her, löst die Aktion Kontakt abrufen aus, um den Kontaktdatensatz abzurufen, und beginnt mit der Qualifizierung. Dabei verweist er während des gesamten Gesprächs auf Kontaktfelder im Format
{{variable}}, unter anderem auf die Anzahl der vom Lead benötigten Lizenzen. - Wenn der Lead 15 oder mehr Nutzer hat, löst der Agent die Aktion Kontakt aktualisieren aus, um die Eigenschaft für die Lifecycle-Phase zu aktualisieren, und leitet den Anruf anschließend sofort an einen verfügbaren Vertriebsmitarbeiter weiter.
- Wenn der Lead 14 oder weniger Nutzer hat, löst der Agent die Aktion Kontakt aktualisieren aus, um die Eigenschaft für die Lifecycle-Phase zu aktualisieren. Anschließend informiert er den Anrufer, dass sich das Vertriebsteam in Kürze melden wird, bevor er den Anruf höflich beendet.
Voraussetzungen
In diesem Leitfaden wird davon ausgegangen, dass Folgendes bereits eingerichtet ist:
- Sie verfügen über ein aktives HubSpot-Konto mit einem Webformular zur Lead-Erfassung.
- Beim Absenden des Formulars wird in HubSpot ein Kontaktdatensatz erstellt, und die Standardfelder firstname, lastname, phone und email des Kontaktobjekts werden ausgefüllt.
- Die Eigenschaft für die Lifecycle-Phase ist im Kontaktobjekt vorhanden und kann über die AI Action „Kontakt aktualisieren“ aktualisiert werden.
- Im Aircall Dashboard ist eine aktive HubSpot-Integration eingerichtet.
- Das Feld contact_phone muss im E.164-Format vorliegen, zum Beispiel +14155551234.
Schritt 1: Aircall-API-Schlüssel und Basic-Auth-Token erstellen
Erstellen Sie vor dem Einrichten Ihres AI Voice Agent einen API-Schlüssel in Aircall. Der HubSpot-Workflow verwendet ihn zur Authentifizierung seiner Anfrage beim Auslösen des ausgehenden Anrufs. Da HubSpot die Anmeldedaten als Basic-Auth-Token und nicht als unverarbeitetes Paar aus API-ID und Token erwartet, müssen Sie diese zunächst kombinieren und codieren.
Schritte
- Gehen Sie im Aircall Dashboard über das linke Navigationsmenü zu Integrationen > API-Schlüssel.
- Klicken Sie auf API-Schlüssel generieren und geben Sie dem neuen Schlüssel einen Namen.
- Kopieren Sie Ihre API-ID und Ihr API-Token und kombinieren Sie sie zu einer einzigen Zeichenfolge:
API_ID:API_Token(keine Leerzeichen, Doppelpunkt als Trennzeichen). -
Codieren Sie das Ergebnis mit einer der folgenden Methoden in Base64:
Browser-Tool: Fügen Sie die kombinierte Zeichenfolge in ein Tool zur Base64-Codierung ein.
Terminal (macOS/Linux):
echo -n "YOUR_API_ID:YOUR_API_TOKEN" | base64Windows PowerShell:
[Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("YOUR_API_ID:YOUR_API_TOKEN")) - Das Ergebnis ist eine Zeichenfolge wie
YWJjMTIzOnRlc3R0b2tlbg==. Kopieren Sie sie und bewahren Sie sie an einem sicheren Ort auf. Sie benötigen sie in Schritt 5.
Schritt 2: AI Actions aktivieren
Aktivieren Sie AI Actions für die jeweilige HubSpot-Integration, mit der Sie Ihren AI Voice Agent verbinden möchten. Im ACME-Beispiel bedeutet dies, Kontakt abrufen und Kontakt aktualisieren zu aktivieren.
Schritte
- Kehren Sie im Aircall Dashboard zur API-Startseite zurück.
- Suchen Sie Ihre vorhandene HubSpot-Integration und wählen Sie sie aus.
- Klicken Sie in der oberen Navigationsleiste auf die Registerkarte AI Actions.
- Aktivieren Sie unter AI Voice Agent die Optionen Kontakt aktualisieren und Kontakt abrufen.
Schritt 3: AI Voice Agent erstellen und konfigurieren
Erstellen Sie Ihren Agenten.
Schritte
- Gehen Sie über das linke Navigationsmenü zu AI Agents > AI Voice Agents.
- Klicken Sie auf AI Voice Agent erstellen und wählen Sie Ausgehende Anrufe aus.
Nach dem Erstellen muss der Agent konfiguriert werden. Die folgenden Abschnitte entsprechen der Reihenfolge im linken Navigationsmenü des Editors für AI Agents und erläutern die jeweilige Funktion im ACME-Anwendungsfall.
Weitere Hilfe zu diesen Konfigurationsschritten finden Sie unter „AI Voice Agent konfigurieren“.
Rufnummern-Zuweisung, Agentenprofil und Unternehmensdaten
- Rufnummern-Zuweisung: die Rufnummer, über die der Agent den Anruf nach dem Auslösen tätigt.
- Agentenprofil: legt die grundlegende Identität des Agenten fest.
- Unternehmensdaten: legt fest, wie der Agent Ihr Unternehmen bezeichnet.
Wissensdatenbank
In der Wissensdatenbank stellen Sie die Informationen bereit, die der Agent zur Beantwortung von Fragen der Anrufenden verwendet.
Tipp: Fügen Sie für diesen Anwendungsfall eine kompakte Wissensquelle hinzu, falls potenzielle Kunden Fragen zu Ihrem Unternehmen haben. Für eine optimale Leistung sollten Sie nicht versuchen, alles abzudecken. Beschränken Sie sich auf die am häufigsten gestellten Fragen zu den Themen, die in dieser Phase des Vertriebszyklus am relevantesten sind. Eine Überlastung der Wissensdatenbank kann die Antworten verlangsamen und deren Genauigkeit beeinträchtigen.
Anrufskript: Begrüßungs- und Abschiedsnachrichten
Die Begrüßungs- und Abschiedsnachrichten legen fest, was Anrufende zu Beginn und am Ende eines Anrufs hören.
Der Agent kann seine Begrüßung mithilfe dynamischer Variablen personalisieren, die aus Ihrem HubSpot-Kontaktdatensatz ausgefüllt werden. Alle über Ihr Formular erfassten Angaben werden einer entsprechenden Eigenschaft im Kontaktdatensatz zugeordnet – unabhängig davon, ob es sich um ein Standardfeld wie Vorname oder eine von Ihnen erstellte benutzerdefinierte Eigenschaft handelt. Jede dieser Eigenschaften kann an die Kontext-Nutzlast übergeben und im Skript des Agenten als {{variable}} referenziert werden. Wenn Sie beispielsweise den Vornamen der Eigenschaft firstname zuordnen, können Sie {{firstname}} in der Begrüßung verwenden: „Hallo {{firstname}}, ich habe gesehen, dass dein Formular für {{company}} eingegangen ist ...“.
Für den ACME-Anwendungsfall ist folgende Begrüßung konfiguriert:
Hallo {{firstname}}, hier ist der KI-Assistent von ACME. Ich habe gesehen, dass dein Formular für {{company}} eingegangen ist. Hast du ein paar Minuten Zeit, damit ich dir einige kurze Fragen stellen kann?Hinweis: Damit der Agent die Variable während des Anrufs tatsächlich erkennt, muss sie ausdrücklich in der Kontext-Nutzlast der benutzerdefinierten Code-Aktion übergeben werden. Dies wird später in diesem Artikel erläutert. Sie ist nicht automatisch verfügbar, nur weil sie im Kontaktdatensatz vorhanden ist.
Gesprächsrichtlinien
Mit Gesprächsrichtlinien können Sie festlegen, wie der Agent ein Gespräch führt. Sie können den Ton verfeinern, Antworten auf bestimmte Formulierungen definieren und festlegen, wie er mit Sonderfällen umgeht. Hier legen Sie auch die Wenn-dann-Logik fest, die autonome Entscheidungen ermöglicht und Ihrem Agenten die Fähigkeit gibt, innerhalb der von Ihnen gesetzten Grenzen Schlussfolgerungen zu ziehen.
Für den ACME-Anwendungsfall wird in den Gesprächsrichtlinien eine Wenn-dann-Logik eingerichtet, die den Agenten abhängig davon steuert, ob der potenzielle Kunde den Schwellenwert von 15 Nutzern erreicht. Ist dies der Fall, leitet der Agent den Anruf an einen Vertriebsmitarbeiter weiter. Andernfalls schließt der Agent die Qualifizierung selbst ab und teilt dem potenziellen Kunden mit, dass sich in Kürze ein Vertriebsmitarbeiter melden wird.
## SCHWELLENWERT FÜR DIE QUALIFIZIERUNGSWEITERLEITUNG
- Leiten Sie Anrufende immer weiter, wenn sie auf die Aufnahmefrage „Wie viele Personen in Ihrem Team würden dies nutzen?“ mit 15 oder mehr antworten
- Fahren Sie andernfalls mit den Aufnahmefragen fort, bis die Qualifizierung abgeschlossen ist, informieren Sie den Kunden, dass sich in Kürze ein Vertriebsmitarbeiter bei ihm melden wird, und beenden Sie den Anruf.
- Erklären Sie dem Anrufenden unter keinen Umständen den Schwellenwert
Tipp: Sie können diese Gesprächsrichtlinien um weitere unternehmensspezifische Formulierungen, Anpassungen des Tons oder allgemeine Verhaltensanweisungen für Ihren Anwendungsfall ergänzen.
Arbeitsablauf für ausgehende Anrufe
- Webhook-URL: die eindeutige Agenten-ID Ihres AI Voice Agent. Kopieren Sie sie und speichern Sie sie zusammen mit dem in Schritt 1 erstellten Basic-Auth-Code. Sie wird im HubSpot-Arbeitsablauf verwendet.
- Wenn Voicemail erkannt wird: Legen Sie fest, wie Ihr Agent reagiert, wenn er den ausgehenden Anruf startet und die Voicemail erreicht. Wählen Sie für diesen Anwendungsfall Auflegen.
Anrufweiterleitungsregeln
Anrufweiterleitungsregeln legen fest, ob, wann und an wen ein Anruf weitergeleitet wird.
Für den ACME-Anwendungsfall sollte der Anruf nur dann an das Vertriebsteam weitergeleitet werden, wenn der potenzielle Kunde ein bestimmtes Kriterium erfüllt: 15 oder mehr Nutzer. Diese Wenn-dann-Logik ist bereits in den Gesprächsrichtlinien enthalten, wird hier jedoch verstärkt und verfeinert:
- Weiterleitungsrolle = Team
- Kontaktdaten = Vertrieb
- Auslösebedingung = Die Antwort auf „Wie viele Personen in Ihrem Team würden dies ungefähr nutzen?“ ist größer oder gleich 15
- Weiterleitungsnachricht = „Ich verbinde Sie mit unserem Vertriebsteam. Einen Moment.“
Zufluss
Unter Aufnahmefragen konfigurieren Sie die Qualifizierungsfragen, die der Agent dem potenziellen Kunden stellt, einschließlich der Schwellenwertfrage, anhand derer entschieden wird, ob der Anruf weitergeleitet wird.
Tipp: Stellen Sie höchstens fünf Aufnahmefragen. Zu viele Fragen können das Gespräch verlängern und Anrufende frustrieren. Beschränken Sie sich daher auf die Informationen, die Ihr Team in dieser Phase des Vertriebszyklus tatsächlich benötigt. Fragen Sie außerdem nichts erneut ab, was bereits über das Formular erfasst wurde.
Wenn ein Anruf weitergeleitet wird, werden die Aufnahmefragen als Kontext an den empfangenden Mitarbeiter übermittelt und nach Ende des Anrufs in strukturierter Form im Anrufprotokoll in HubSpot und Aircall Workspace gespeichert.
Für den ACME-Anwendungsfall lauten die Aufnahmefragen:
- Welches Hauptproblem möchten Sie mit einem solchen Tool lösen?
- Haben Sie einen ungefähren Zeitrahmen für Ihre Entscheidung im Sinn?
- Treffen Sie die endgültige Entscheidung darüber oder sind weitere Personen beteiligt?
- Wie viele Personen in Ihrem Team würden dies ungefähr nutzen?
KI-Aktionen
Fügen Sie Ihrem AI Voice Agent die KI-Aktionen hinzu.
Schritte
- Navigieren Sie im linken Navigationsmenü des KI-Agenten zu KI-Aktionen.
- Klicken Sie auf Aktion hinzufügen.
- Öffnen Sie im Seitenbereich die Dropdown-Liste und wählen Sie HubSpot > Kontakt abrufen. Klicken Sie auf Aktion speichern. Wiederholen Sie dies für HubSpot > Kontakt aktualisieren.
Gesprächsrichtlinien für KI-Aktionen
Hier legen Sie fest, wann der Agent die einzelnen Aktionen verwenden soll und was er anschließend sagen oder tun soll.
Für den Anwendungsfall von ACME ruft Kontakt abrufen den durch die Formularübermittlung erstellten Kontakt ab und Kontakt aktualisieren aktualisiert die Eigenschaft der Lifecycle-Phase. Da dieser Anruf der Lead-Qualifizierung dient, aktualisiert ACME die Lifecycle-Phase auf Vom Vertrieb qualifizierter Lead (interner Wert: salesqualifiedlead). Auf welchen Wert Sie diese Phase aktualisieren, hängt davon ab, ob Sie standardmäßige oder benutzerdefinierte Lifecycle-Phasen verwenden und welchen Punkt im Vertriebszyklus dieser Anruf darstellt. Ersetzen Sie salesqualifiedlead durch den für Ihren eigenen Anwendungsfall relevanten Wert.
##Kontakt abrufen
- Sobald der Anrufer bestätigt hat, dass ihm Fragen gestellt werden dürfen, verwenden Sie „Kontakt abrufen“ mit der {{phone}}-Nummer des Anrufers aus dem Kontext
- Fragen Sie: „Nur zur Bestätigung: Ist {{phone}} die Rufnummer, die wir für Sie gespeichert haben?“ und lassen Sie dies mit Ja oder Nein bestätigen. Lesen Sie sie im E164-Format vor
- Falls JA – Identität bestätigt. Speichern Sie die contactId zur Verwendung in späteren Aktionen und fahren Sie mit den Aufnahmefragen fort.
- Falls NEIN – fragen Sie den Anrufer nach seiner E-Mail-Adresse und versuchen Sie erneut, „Kontakt abrufen“ zu verwenden. Wenn der Datensatz gefunden wird, ist die Identität bestätigt. Speichern Sie die contactId zur Verwendung in späteren Aktionen und fahren Sie mit den Aufnahmefragen fort.
- Wenn der Kontaktdatensatz weiterhin nicht abgerufen werden kann, entschuldigen Sie sich und sagen Sie zum Anrufer: „Ich kann Ihren Kontaktdatensatz in unserem System nicht abrufen. Jemand aus unserem Vertriebsteam wird sich so bald wie möglich über die Angaben bei Ihnen melden, die Sie in Ihrem Formular gemacht haben.“ Beenden Sie dann den Anruf.
##Kontakt aktualisieren
- Sobald der Anrufer die Qualifizierungsfrage (Anzahl an Nutzer:innen) beantwortet hat, verwenden Sie „Kontakt aktualisieren“ mit der zuvor gespeicherten contactId, um lifecyclestage auf „salesqualifiedlead“ zu aktualisieren.
- „Kontakt aktualisieren“ sollte immer ausgelöst werden, bevor der Anruf zu einer Weiterleitung oder Verabschiedung verzweigt, damit die Lifecycle-Phase unabhängig vom Ergebnis aktualisiert wird.
Schritt 4: Testen Sie Ihren Agenten zur Lead-Qualifizierung
Nachdem alles konfiguriert wurde und bevor Sie mit der Einrichtung von HubSpot fortfahren, testen Sie Ihren Agenten gründlich über den Bereich Testanruf auf der rechten Seite des Agenteneditors. Damit wird ein echtes Anruferlebnis simuliert, ohne Anrufaktivitäten für Ihr Team zu erfassen oder Aktivitäten in HubSpot auszulösen.
Testen Sie drei Szenarien, um zu prüfen, ob sich der Agent wie erwartet verhält:
- Idealer Ablauf: Rufen Sie als Lead mit 15 oder mehr Nutzern an und prüfen Sie, ob der Agent Sie an einen Vertriebsmitarbeiter weiterleitet (die Weiterleitung erfolgt nicht tatsächlich, da es sich um einen simulierten Anruf handelt). Rufen Sie anschließend als Lead mit weniger als 15 Nutzern an und prüfen Sie, ob der Agent die Qualifizierung selbst abschließt und Ihnen mitteilt, dass sich ein Vertriebsmitarbeiter bei Ihnen melden wird.
- Unklarer Ablauf: Geben Sie auf die Frage nach Ihrer Anzahl an Nutzer:innen eine vage oder unsichere Antwort (zum Beispiel „Ich bin mir noch nicht sicher“) und beobachten Sie, wie der Agent mit dieser Unklarheit umgeht, ob er eine klärende Frage stellt oder eine Annahme trifft.
- Problematischer Ablauf: Konfrontieren Sie den Agenten mit schwierigen Bedingungen, indem Sie ihn etwa mitten in einer Antwort unterbrechen, widersprüchliche Angaben zur Anzahl an Nutzer:innen machen oder ihn auffordern, etwas außerhalb seines Aufgabenbereichs zu tun (zum Beispiel „Buchen Sie mir trotzdem einfach eine Demo“). Prüfen Sie, ob er angemessen damit umgeht, anstatt falsche Informationen zu geben.
Wenn unerwartete Ergebnisse auftreten, ermitteln Sie das Problem, nehmen Sie die erforderlichen Anpassungen vor und wiederholen Sie den Test, bis Sie sicher sind, dass der Agent für die Qualifizierung von Leads bereit ist.
Schritt 5: Erstellen Sie Ihren HubSpot-Arbeitsablauf und die benutzerdefinierte Codeaktion
Konfigurieren Sie als Nächstes die HubSpot-Seite, indem Sie einen Arbeitsablauf erstellen, der den ausgehenden Anruf des AI Voice Agent auslöst.
Schritte
- Navigieren Sie in HubSpot zu Automatisierung > Arbeitsabläufe.
- Klicken Sie auf Arbeitsablauf erstellen > Von Grund auf neu.
Aufnahmeauslöser
Verwenden Sie für den Aufnahmeauslöser zwei Optionen: die manuelle Aufnahme, ein praktisches Testwerkzeug, mit dem Sie den Arbeitsablauf ausführen können, ohne jedes Mal das tatsächliche Lead-Formular zu übermitteln, und die reale Bedingung, die Interessenten durch die Übermittlung des jeweiligen Lead-Formulars erfüllen.
Schritte
- Wählen Sie beim Aufnahmeauslöser Manuell auslösen > Kontakt > Speichern und fortfahren.
- Klicken Sie erneut auf den Aufnahmeauslöser und wählen Sie unter ODER die Option Wenn ein Ereignis eintritt.
- Suchen Sie unter Kriterien hinzufügen nach Formularübermittlung und wählen Sie diese Option aus.
- Formularübermittlung wurde zu einem beliebigen Zeitpunkt beliebig oft abgeschlossen wird standardmäßig hinzugefügt.
- Klicken Sie auf + Kriterien hinzufügen und wählen Sie Formularname.
- Legen Sie Formularname = ist eines von = [Ihr Formular zur Lead-Erfassung] fest.
- Klicken Sie auf Speichern.
Erneute Aufnahme
Hinweis: Lassen Sie die erneute Aufnahme für diesen Arbeitsablauf deaktiviert, da jeder Lead pro Formularübermittlung nur einmal qualifiziert werden sollte. Wenn Sie sie aktivieren, könnten doppelte ausgehende Anrufe ausgelöst werden, falls jemand das Formular mehrmals übermittelt. Wenn Sie unbeantwortete Anrufe bearbeiten möchten, protokolliert Aircall das Anrufergebnis in HubSpot. Erwägen Sie daher einen separaten Arbeitsablauf zur Nachverfolgung, der dieses Ergebnis nutzt, um den Anruf nach einer Verzögerung erneut auszulösen, anstatt sich hier auf die erneute Aufnahme zu verlassen.
Benutzerdefinierte Codeaktion
Schritte
- Klicken Sie unter Ihrem Aufnahmetrigger auf +, um eine Aktion hinzuzufügen.
- Suchen Sie nach Benutzerdefinierter Code und wählen Sie diese Option aus.
- Wählen Sie Node.js 18.x als Sprache aus.
- Klicken Sie unter Geheimnisse auf Geheimnis auswählen > Neues Geheimnis hinzufügen.
- Name des Geheimnisses:
AIRCALL_BASIC_AUTH(stellen Sie sicher, dass er keine Leerzeichen enthält). - Wert des Geheimnisses: Fügen Sie die Base64-Zeichenfolge aus Schritt 1 ein.
- Speichern Sie das Geheimnis und kehren Sie zur Aktion zurück.
- Wählen Sie in der Aktion im Dropdown-Menü
AIRCALL_BASIC_AUTHaus. Es wird als Chip angezeigt.
In den Code aufzunehmende Eigenschaft
Klicken Sie für jedes Feld, das der AI Voice Agent zur Qualifizierung und Personalisierung des Anrufs benötigt, auf Eigenschaft hinzufügen. Wählen Sie jeweils die HubSpot-Eigenschaft aus, aus der die Daten abgerufen werden sollen, und weisen Sie ihr einen Variablennamen zu. Diesen Namen verwenden Sie, um im Code auf den Wert zu verweisen (zum Beispiel event.inputFields['firstname']).
Jede {{variable}}, die Sie bereits in der Begrüßung und den Gesprächsrichtlinien des Agenten verwendet haben, muss hier mit einem übereinstimmenden Variablennamen aufgenommen werden. Andernfalls kann der Agent während des Anrufs nicht darauf zugreifen.
Für den ACME-Anwendungsfall zur Lead-Qualifizierung und für die meisten standardmäßigen Qualifizierungsfälle sollte diese Liste kurz bleiben. Der Agent benötigt nur genügend Kontext, um die Begrüßung zu personalisieren und die Identität des Anrufers zu bestätigen:
| HubSpot-Eigenschaft | Variablenname | Warum sie benötigt wird |
|---|---|---|
| Vorname (firstname) | firstname | Personalisiert die Begrüßung des Agenten |
| Nachname (lastname) | lastname | Personalisiert die Begrüßung des Agenten |
| Rufnummer (phone) | phone | Wird über „Kontakt abrufen“ mit dem Anrufer bestätigt |
| Unternehmensname (company) | company | Personalisiert das Skript des Agenten |
| E-Mail-Adresse (email) | Alternative Kennung, wenn die Rufnummer nicht bestätigt wird | |
| Datensatz-ID (hs_object_id) | hs_object_id | Wird verwendet, um doppelte Anrufe zu verhindern und den Datensatz für CRM-Aktionen zu identifizieren |
Hinweis: Die Datensatz-ID (hs_object_id) ist die interne numerische ID von HubSpot für den Kontaktdatensatz. Sie wird als idempotency_key verwendet, um doppelte Anrufe zu verhindern, und als Kontextvariable hubspot_contact_id, damit die Aktionen „Kontakt abrufen“ und „Kontakt aktualisieren“ des Agenten während des gesamten Anrufs auf den richtigen Datensatz verweisen.
Code einfügen
Markieren Sie im Code-Editor alles und ersetzen Sie es durch die folgende Vorlage. Aktualisieren Sie nach dem Einfügen die folgenden Platzhalter:
| Platzhalter | Ersetzen durch |
|---|---|
| YOUR_AGENT_ID | Die ID des KI-Agenten aus der Webhook-URL, die Sie in Schritt 3 kopiert haben (zum Beispiel 01KS46D6J80BCRWG5KCBHJVKSC) |
| YOUR_PREFIX | Eine kurze Kennung für diesen Arbeitsablauf (zum Beispiel acme-qualification) |
const axios = require('axios');
exports.main = async (event, callback) => {
// Pull contact fields from HubSpot
const firstname = event.inputFields['firstname'];
const lastname = event.inputFields['lastname'];
const phone = event.inputFields['phone'];
const company = event.inputFields['company'];
const email = event.inputFields['email'];
const hs_contact_id = event.inputFields['hs_object_id'];
// Auth and endpoint
const basicAuth = process.env.AIRCALL_BASIC_AUTH;
const agentUrl = 'https://api.aircall.io/v1/outbound-calls/agents/YOUR_AGENT_ID';
try {
const response = await axios.post(
agentUrl,
{
contact_phone: phone,
idempotency_key: `acme-qualification-${hs_contact_id}`, // unique per workflow + contact
context: {
firstname: firstname,
lastname: lastname,
company: company,
email: email,
hubspot_contact_id: String(hs_contact_id)
},
expiration_seconds: 600 // call attempt expires after 10 minutes if it can't connect
},
{
headers: {
Authorization: `Basic ${basicAuth}`,
'Content-Type': 'application/json'
}
}
);
callback({ outputFields: { aircall_status: String(response.status), aircall_message: 'Call triggered successfully' } });
} catch (error) {
const status = error.response?.status || 500;
const body = JSON.stringify(error.response?.data) || 'No response body';
callback({ outputFields: { aircall_status: String(status), aircall_message: `Error: ${error.message} | ${body}` } });
}
};
Achtung: Die Zeilen event.inputFields und context payload im Code müssen mit den Variablenfeldern übereinstimmen, die Sie unter „In den Code aufzunehmende Eigenschaft“ konfiguriert haben. Diese sollten wiederum mit den Variablen übereinstimmen, die in der Begrüßung und den Gesprächsrichtlinien Ihres AI Voice Agent verwendet werden.
Datenausgaben
Fügen Sie unter Datenausgaben zwei Ausgaben hinzu. Diese haben keinen Einfluss darauf, ob der Anruf ausgelöst wird. Sie werden zur Fehlerbehebung im Verlauf des HubSpot-Arbeitsablaufs angezeigt.
- Ausgabename =
aircall_status. Typ = Zeichenfolge. - Ausgabename =
aircall_message. Typ = Zeichenfolge.
Ihr fertiggestellter Arbeitsablauf sollte wie folgt aussehen:
Schritt 6: Benutzerdefinierte Codeaktion und Arbeitsablauf testen
Bevor Sie diesen Arbeitsablauf für echte Leads aktivieren, testen Sie ihn vollständig. Dadurch werden drei Dinge bestätigt: HubSpot kann sich erfolgreich bei Aircall authentifizieren, der ausgehende Anruf wird tatsächlich ausgelöst und der Agent erhält den richtigen Kontext, um das Gespräch wie vorgesehen zu führen. Wenn Sie den Test jetzt mit einem Testkontakt durchführen, erkennen Sie Authentifizierungsprobleme, Formatierungsfehler oder nicht übereinstimmende Variablen, bevor sie sich auf einen echten potenziellen Kunden auswirken.
Schritte
- Klicken Sie in der Aktion „Benutzerdefinierter Code“ auf Testen.
- Wählen Sie einen Kontaktdatensatz mit einer Rufnummer aus. Verwenden Sie für diesen ersten Test sich selbst oder einen internen Testkontakt, keinen echten Interessenten.
- Prüfen Sie nach der Ausführung den Abschnitt Datenausgaben.
-
aircall_status= 200 bedeutet, dass der Vorgang erfolgreich war. Der Agent ruft die Rufnummer Ihres Testkontakts an und führt das Skript aus. - Wenn der Status nicht 200 lautet, finden Sie hier häufige Fehler und deren Behebung vor dem nächsten Test:
| Fehler | Ursache | Behebung |
|---|---|---|
| 409, Agent für ausgehende Anrufe hat keine Rufnummer | Dem Agent ist in Aircall keine Rufnummer zugewiesen | Dashboard > AI Voice Agents > [Agent] > Rufnummer verbinden |
| 401, nicht autorisiert | Falsches oder abgelaufenes Basic-Auth-Token | `ID:TOKEN neu generieren |
| 400, contact_phone ungültig | Rufnummer liegt nicht im E.164-Format vor | Telefoneigenschaft in HubSpot normalisieren |
| 404, nicht gefunden | Die Agent-ID in der URL ist im Konto nicht vorhanden | Webhook-URL erneut kopieren unter Dashboard > AI Voice Agents > [Agent] > Arbeitsablauf für ausgehende Anrufe |
| Anruf wird ausgelöst, aber dem Agent fehlt der Kontext | Kontextschlüssel im Code stimmen nicht mit den {{variable}}-Namen im Skript überein | Groß- und Kleinschreibung sowie Schreibweise prüfen. Beispielsweise muss firstname im Code mit {{firstname}} im Skript übereinstimmen |
| Doppelte Anrufe bei demselben Kontakt | idempotency_key ist nicht eindeutig | Sicherstellen, dass idempotency_key sowohl das Präfix des Arbeitsablaufs als auch hs_contact_id enthält |
Aktivierung des Arbeitsablaufs
Klicken Sie nach Abschluss der Tests auf Überprüfen und aktivieren. Wenn Sie gefragt werden: „Möchten Sie Kontakte aufnehmen, die derzeit die Aufnahmekriterien erfüllen?“, wählen Sie Nein, nur Kontakte aufnehmen, die die Aufnahmekriterien erfüllen, nachdem der Arbeitsablauf aktiviert wurde.
Ihr Arbeitsablauf und Ihr AI Voice Agent sind jetzt aktiv.
Best Practices
- Halten Sie die Wissensdatenbank schlank und konzentrieren Sie sich auf die Fragen, die in dieser Phase des Vertriebszyklus am relevantesten sind, anstatt alles abdecken zu wollen.
- Beschränken Sie die Aufnahmefragen auf höchstens fünf und fragen Sie nichts erneut ab, was bereits im Lead-Formular erfasst wurde.
- Lassen Sie die erneute Aufnahme deaktiviert, damit jeder Lead pro Formularübermittlung nur einmal qualifiziert wird.
- Testen Sie den AI Voice Agent über den Bereich „Testanruf“, bevor Sie mit der HubSpot-Einrichtung fortfahren. Testen Sie anschließend den vollständigen HubSpot-Arbeitsablauf von Anfang bis Ende mit einem Testkontakt, bevor Sie ihn für echte Leads aktivieren.
- Stellen Sie sicher, dass jede
{{variable}}, die in der Begrüßung und den Gesprächsrichtlinien des Agent verwendet wird, auch unter „In den Code einzuschließende Eigenschaft“ konfiguriert ist und die Variablennamen übereinstimmen. - Stellen Sie sicher, dass der idempotency_key sowohl das Präfix des Arbeitsablaufs als auch die Datensatz-ID des Kontakts enthält, um doppelte ausgehende Anrufe zu verhindern.
Häufig gestellte Fragen
Kann der AI Voice Agent HubSpot-Datensätze aktualisieren, ohne den Anruf weiterzuleiten?
Ja. Die Aktion „Kontakt aktualisieren“ wird ausgeführt, bevor der Anruf entweder zur Weiterleitung oder zur Verabschiedung verzweigt. Daher wird die Lifecycle-Phase unabhängig vom Ergebnis aktualisiert.
Was geschieht, wenn der AI Voice Agent die Identität des Anrufers nicht bestätigen kann?
Er fragt nach der E-Mail-Adresse des Anrufers und versucht erneut, die Aktion „Kontakt abrufen“ auszuführen. Wenn der Kontaktdatensatz weiterhin nicht abgerufen werden kann, entschuldigt er sich, informiert den Anrufer darüber, dass sich ein Mitglied des Vertriebsteams anhand der Angaben aus dem Formular melden wird, und beendet den Anruf.
Warum muss die Rufnummer im E.164-Format vorliegen?
Das Feld contact_phone muss im E.164-Format vorliegen (zum Beispiel +14155551234), damit der ausgehende Anruf korrekt ausgelöst wird. Andernfalls gibt der Arbeitsablauf einen 400-Fehler zurück und Sie müssen die Telefoneigenschaft in HubSpot normalisieren.
Warum sollte die erneute Aufnahme für diesen Arbeitsablauf deaktiviert bleiben?
Wenn die erneute Aufnahme aktiviert wird, könnten doppelte ausgehende Anrufe ausgelöst werden, falls ein Lead das Formular mehr als einmal absendet. Wenn Sie Anrufe ohne Antwort verarbeiten müssen, verwenden Sie einen separaten Folge-Arbeitsablauf, der auf dem an HubSpot zurückgemeldeten Anrufergebnis basiert, anstatt sich auf die erneute Aufnahme zu verlassen.
Was muss ich tun, wenn ich die Anzahl an Nutzer:innen ändern möchte, die für eine Weiterleitung an den Vertrieb erforderlich ist?
Aktualisieren Sie die Auslösebedingung sowohl in den Gesprächsrichtlinien als auch in den Anrufweiterleitungsregeln entsprechend Ihrem eigenen Schwellenwert, damit das Verhalten des Agent und die Weiterleitungslogik aufeinander abgestimmt bleiben.
Kann ich den Arbeitsablauf testen, ohne das eigentliche Lead-Formular abzusenden?
Ja. Verwenden Sie beim Aufnahmeauslöser die Option zur manuellen Aufnahme. Damit können Sie den Arbeitsablauf ausführen, ohne das Formular bei jedem Test absenden zu müssen.