Open in
ThunderPhone mit n8n verwenden
Installieren Sie den ThunderPhone-Node für n8n, verbinden Sie einen Server-API-Schlüssel und erstellen Sie einen Workflow, der bei jedem Anrufende ausgeführt wird.
n8n ist ein Tool zur Workflow-Automatisierung. Das ThunderPhone-Paket für n8n fügt zwei Knoten hinzu:
- ThunderPhone Trigger startet einen Workflow, wenn ein Anruf endet (Anruf abgeschlossen) oder ein Anrufbewertungslauf abgeschlossen ist (Anruf bewertet).
- ThunderPhone tätigt ausgehende Anrufe, fügt Kontakte zu Kampagnen hinzu und startet sie, ruft Anrufe mit Transkript und Aufzeichnung ab und listet Ihre Agenten und Telefonnummern auf.
Es handelt sich um einen verifizierten Community-Knoten, der unter ThunderPhone auf n8n aufgeführt ist.
Knoten installieren
Klicken Sie im n8n-Editor auf +, um das Knoten-Panel zu öffnen, und suchen Sie nach ThunderPhone. Ein Instanzinhaber muss möglicherweise verifizierte Knoten einrichten, bevor andere Benutzer sie hinzufügen können.
Bei selbst gehostetem n8n können Sie die Installation auch über den Paketnamen
vornehmen: Öffnen Sie Einstellungen > Community-Knoten und installieren Sie n8n-nodes-thunderphone. Prüfen Sie die Risiken von Community-Knoten und die Richtlinien Ihrer Instanz,
bevor Sie die Installation vornehmen.
Server-API-Schlüssel erstellen
- Registerkarte „Schlüssel“ öffnen
Gehen Sie in ThunderPhone zu Organisation → Schlüssel und klicken Sie auf Schlüssel erstellen.
- Benennen
Verwenden Sie einen Namen, der angibt, wo sich der Schlüssel befindet, beispielsweise „n8n“.
- Jetzt kopieren
Das vollständige Geheimnis
sk_live_...wird einmal angezeigt. Kopieren Sie es, bevor Sie den Dialog schließen.
Nur ein Administrator oder Inhaber kann den Schlüssel erstellen, und ThunderPhone behandelt Anfragen mit diesem Schlüssel so, als kämen sie von dieser Person. Der Trigger und die Kampagnen- Vorgänge erfordern, dass diese Person die Rolle als Administrator oder Inhaber behält. Server-API-Schlüssel erstellen behandelt Rotation und Widerruf.
Anmeldedaten in n8n hinzufügen
- Erstellen Sie in n8n Anmeldedaten vom Typ ThunderPhone API.
- Fügen Sie den Schlüssel in API-Schlüssel ein.
- Speichern Sie ihn und führen Sie den Anmeldedatentest aus. Der Test liest einen Anruf aus Ihrer
Organisation mit
GET /v1/calls?limit=1.
Erstellen Sie einen ersten Workflow
Dieser Workflow fügt jedes Mal, wenn ein Anruf endet, eine Zeile zu einem Google Sheet hinzu.
- Trigger hinzufügen
Fügen Sie ThunderPhone Trigger hinzu, wählen Sie Ihre ThunderPhone-API-Anmeldedaten aus und setzen Sie Event auf Call Completed.
- Anruf abrufen
Fügen Sie einen ThunderPhone-Knoten hinzu. Setzen Sie Resource auf Call, Operation auf Get und Call ID auf den Ausdruck
{{ $json.data.call_id }}. Die Ausgabe ist der Anrufdatensatz einschließlichtranscriptsundrecording_url, einem kurzzeitig gültigen Link, dernullist, wenn der Anruf keine Aufzeichnung hat. - Zeile anhängen
Fügen Sie einen Google-Sheets-Knoten hinzu, der eine Zeile anhängt, und ordnen Sie die gewünschten Spalten aus der Ausgabe von Get Call zu (siehe Tabelle unten).
- Workflow aktivieren
Speichern und aktivieren Sie den Workflow. Der Trigger registriert seine Production URL als Webhook- Endpunkt in Ihrer ThunderPhone-Organisation. Das Deaktivieren des Workflows löscht diesen Endpunkt.
- Testen
Öffnen Sie einen Agenten im Builder, klicken Sie auf Talk und beenden Sie den Anruf. Builder- Testanrufe werden als
web.completezugestellt, einem der beiden Ereignisse hinter Call Completed, sodass der Workflow ausgeführt wird und eine Zeile erscheint.
Nützliche Spalten:
| Spalte | Ausdruck |
|---|---|
| Anruf-ID | {{ $json.call_id }} |
| Richtung | {{ $json.direction }} |
| Von | {{ $json.from_number }} |
| An | {{ $json.to_number }} |
| Gestartet | {{ $json.start_time }} |
| Dauer (s) | {{ $json.duration_seconds }} |
| Status | {{ $json.status }} |
| Grund für Beendigung | {{ $json.end_reason }} |
| Anruflink | https://app.thunderphone.com/dashboard/call-history/{{ $json.call_id }} |
Der Anruflink öffnet den Anruf im ThunderPhone-Dashboard für Mitglieder Ihrer Organisation mit Transkript und Aufzeichnung, sodass das Sheet keines von beiden speichern muss.
Um das Transkript dennoch hinzuzufügen, ordnen Sie
{{ $json.transcripts.filter(t => typeof t.content === 'string').map(t => t.role + ': ' + t.content).join('\n') }} zu.
Die Aufzeichnungs-URL läuft ab. Speichern Sie daher die Anruf-ID und führen Sie Get Call erneut aus,
wenn Sie einen neuen Link benötigen. Anruftranskripte, Zusammenfassungen und Aufzeichnungen können
personenbezogene Daten oder Gesundheitsdaten enthalten. Senden Sie sie nur an Apps, die Ihre
Organisation für diese Daten verwenden darf, bei Gesundheitsdaten im Rahmen eines BAA, und
bewahren Sie nur die benötigten Felder auf.
Der Trigger gibt das vollständige Ereignis aus: type, event_id und data. Siehe
telephony.complete / web.complete und
call.graded für alle Felder. Die Zustellung erfolgt mindestens einmal,
und event_id bleibt bei Wiederholungen desselben Ereignisses gleich. Prüfen Sie sie daher vor
einem Schritt, der nicht wiederholt werden darf.
Ausgehende Anrufe sicher tätigen
Ausgehenden Anruf tätigen (Ressource Ausgehender Anruf, Vorgang Tätigen) erfordert:
| Feld | Bedeutung |
|---|---|
| Agentenname oder -ID | Ein gespeicherter Agent. Die Auswahlliste führt Ihre Agenten auf. |
| Name oder ID der Telefonnummer | Die Absendernummer. Die Auswahlliste führt nur Nummern auf, die für ausgehende Anrufe aktiviert sind. |
| Zielnummer | Zielnummer im E.164-Format, z. B. +14155552671. |
| Variablen | JSON-Objekt mit Werten für Platzhalter im Agenten-Prompt. |
| Idempotenzschlüssel | Eine stabile ID aus dem übergeordneten Datensatz oder Ereignis. Erforderlich. |
Ordnen Sie den Idempotenzschlüssel einer ID aus dem Auslöser des Durchlaufs zu, beispielsweise
einer CRM-Datensatz-ID oder der event_id des Triggers. Der Node sendet
n8n:<node ID>:<your value>, daher gilt:
- Ein automatischer Wiederholungsversuch oder Ausführung wiederholen sendet denselben Schlüssel, und
ThunderPhone gibt den ursprünglichen Anruf mit
idempotent_replay: truezurück, statt erneut zu wählen. - Zwei ThunderPhone-Nodes, die denselben Datensatz erhalten, senden unterschiedliche Schlüssel.
- Ein leerer Wert schlägt fehl, bevor eine Anfrage gesendet wird.
Vermeiden Sie Zeitstempel, Zufallswerte sowie n8n-Ausführungs- oder Workflow-IDs. Ein neuer Wert bei einem Wiederholungsversuch tätigt einen zweiten echten Anruf. Der gesamte Schlüssel darf höchstens 128 Zeichen lang sein. Die Wiederverwendung eines Schlüssels mit einem anderen Agenten, einer anderen Nummer oder anderen Variablen schlägt mit einem Konflikt fehl.
Kampagnen. Kontakte hinzufügen (Ressource Kampagne) fügt Kontakte zu einer
Entwurfskampagne hinzu. Es erfordert eine Kampagnen-ID und ein JSON-Array mit Kontakten. Jeder Kontakt
benötigt phone_number; andere Schlüssel werden zu Anrufvariablen. Der Node schlägt fehl, wenn
jeder Kontakt abgelehnt wird, und setzt partial_success: true, wenn nur einige abgelehnt werden. Starten
erfordert die Bestätigung per Kontrollkästchen, dass die Kampagne echte Anrufe tätigt und ThunderPhone-
Guthaben ausgibt. Siehe Ausgehende Kampagnen.
Bevor ein Workflow Anrufe startet:
- Wenn ThunderPhone Ihre Organisation auffordert zu bestätigen, dass ihre ausgehenden Anrufe dem TCPA und anderen Anrufgesetzen entsprechen, muss ein Administrator diese Bestätigung zuerst im Dashboard hinterlegen.
- Die Absendernummer muss für ausgehende Anrufe aktiviert sein. Telefonnummern, die Sie von Ihrem eigenen Anbieter einbringen, können nach der Verifizierung verwendet werden. ThunderPhone- Nummern sind zunächst nur für eingehende Anrufe verfügbar und können für ausgehende Nutzung freigegeben werden: Ein Administrator beantragt dies auf der Seite Telefonnummern. Siehe Telefonnummer erhalten.
- Ihre Organisation ist dafür verantwortlich, für jeden Anruf die Einwilligung zu haben und die geltenden Anrufgesetze einzuhalten. Siehe Gesetze für ausgehende Anrufe.
Beispiel-Workflows
- CRM-Kontakte zu einer Kampagne. Fügen Sie CRM-Kontakte zu einer ThunderPhone- Entwurfskampagne hinzu und starten Sie die Kampagne, sobald jemand die Liste genehmigt.
- Abgeschlossener Anruf zum Kundendatensatz. Wenn ein Anruf abgeschlossen ist, führen Sie Anruf abrufen aus und speichern Sie Transkript und Aufzeichnungslink im passenden Kundendatensatz.
- Niedrige Bewertungen zur Überprüfung. Wenn ein Anruf bewertet wurde, filtern Sie nach
{{ $json.data.grade.score }}und leiten Sie niedrig bewertete Anrufe mit der Anruf-ID und den Bewertungsdetails an eine Überprüfungswarteschlange weiter. Ein Anruf kann mehr als einmal bewertet werden, und jeder abgeschlossene Bewertungsdurchlauf löst den Trigger aus. Behalten Sie daher für jede Anruf-ID nur den neuesten Wert fürgraded_at.
Anruftranskripte, Zusammenfassungen und Aufzeichnungen können personenbezogene Daten oder Gesundheitsdaten enthalten. Senden Sie sie nur an Apps, die Ihre Organisation für diese Daten verwenden darf, bei Gesundheitsdaten im Rahmen eines BAA, und bewahren Sie nur die benötigten Felder auf.