Start / n8n-Workflow-Vorlagen / Automatisieren Sie die Ticketerstellung in Syncro aus eingehenden Dialpad-Anrufen

Automatisieren Sie die Ticketerstellung in Syncro aus eingehenden Dialpad-Anrufen

Dialpad to Syncro

Dieser Workflow erfasst eingehende Anrufe von Dialpad über einen Webhook, sucht nach passenden Kunden in Syncro und erstellt oder aktualisiert Support-Tickets basierend auf Kontakt- oder Kundendaten.

Webhook21 KnotenGeschäftsprozesseSyncroDialpadCRM

Über diesen Workflow

Dialpad zu Syncro Integrations-Workflow-Analyse

Diese n8n Workflow-Vorlage mit dem Titel "Dialpad zu Syncro" wurde entwickelt, um die Integration zwischen Dialpad (einem cloudbasierten Geschäftstelefonsystem) und Syncro (einer IT-Service-Management-Plattform für MSPs) zu automatisieren. Sie ermöglicht es Unternehmen, automatisch Support-Tickets in Syncro zu erstellen oder zu aktualisieren, wenn ein eingehender Anruf über Dialpad eingeht, basierend auf der Anruferidentifikation. Der Workflow gleicht Kunden oder Kontakte intelligent anhand ihrer Telefonnummer ab und protokolliert relevante Daten in Google Sheets zur Nachverfolgung und Berichterstattung.


Was der Workflow tut

Die Hauptfunktion dieses Workflows ist:

  • Abhören eingehender Webhook-Ereignisse von Dialpad (ausgelöst durch eingehende Anrufe)
  • Identifizieren des Anrufers durch Suche in der Syncro-Datenbank anhand der Telefonnummer des Anrufers
  • Ermitteln, ob der Anrufer ein bekannter Kontakt oder Kunde ist
  • Prüfen, ob bereits ein offenes Ticket mit dem Kontakt verknüpft ist
  • Entweder ein neues Ticket erstellen oder einen Kommentar zu einem bestehenden Ticket hinzufügen
  • Protokollieren des Anrufs und der entsprechenden Ticketinformationen in Google Sheets zu Audit- und Analysezwecken

Diese Automatisierung optimiert die Kundenservice-Abläufe, indem sichergestellt wird, dass jeder eingehende Anruf einen nachvollziehbaren Service-Datensatz auslöst, wodurch manuelle Eingaben reduziert und die Reaktionszeiten verbessert werden.


Hauptmerkmale und Fähigkeiten

  1. Webhook-ausgelöste Ausführung

    • Lauscht auf Echtzeit-POST-Anfragen von Dialpad, wodurch er ereignisgesteuert und reaktionsschnell ist.
  2. Dynamische Kunden-/Kontaktzuordnung

    • Verwendet die Telefonnummer des Anrufers (bereinigt von Formatierungen wie +, führender 1 oder 0), um die Syncro-API abzufragen.
    • Verarbeitet sowohl einzelne Kontakte als auch Kunden auf Unternehmensebene.
  3. Bedingte Logikverzweigung

    • Verwendet mehrere IF-Knoten, um Entscheidungen zu treffen basierend auf:
      • Anrufrichtung (inbound)
      • Länge der Suchergebnisse (ob 1 Treffer existiert)
      • Vorhandensein offener Tickets
  4. Ticketverwaltungsautomatisierung

    • Erstellt neue Tickets, wenn keine offenen vorhanden sind
    • Aktualisiert bestehende offene Tickets mit Anrufdetails, anstatt Duplikate zu erstellen
  5. Datenanreicherung & Transformation

    • Extrahiert strukturierte Daten aus rohen API-Antworten mithilfe von Function-Knoten
    • Formatiert dynamische Nachrichten mit vollständigen Namen, Telefonnummern und Geschäftsnamen
  6. Externe Protokollierung über Google Sheets

    • Erfasst jede Aktion (Ticketerstellung/-aktualisierung) in Google Sheets mit:
      • Anruf-ID
      • Ticket-ID
    • Nützlich für Audit-, Abrechnungs- oder Leistungsverfolgungszwecke
  7. Umgebungskonfiguration

    • Zentralisiert die Konfiguration (wie Basis-URL und Benutzer-ID) mithilfe eines EnvVariables Set-Knotens zur einfacheren Wartung.
  8. Fehlertoleranz & Fallback-Pfade

    • Enthält NoOp (No Operation) Knoten als Fallback-Pfade, um zu verhindern, dass die Ausführung aufgrund fehlender Daten abbricht.

Hauptknoten und ihre Zwecke

Knotenname Typ Zweck
Webhook Webhook Trigger Empfängt POST-Payload von Dialpad bei einem eingehenden Anruf
IF (Direction Check) IF Condition Stellt sicher, dass nur inbound-Anrufe fortgesetzt werden; ignoriert ausgehende/interne
EnvVariables Set Node Speichert Umgebungskonstanten wie die Syncro-Basis-URL und die Standard-Benutzer-ID
GetCustomer HTTP Request Fragt die Syncro-Such-API mit der bereinigten Anrufernummer ab
Contacts Function Node Analysiert die API-Antwort, um Kontakt-Datensätze zu extrahieren
Customers Function Node Analysiert die API-Antwort, um Kunden- (Unternehmens-) Datensätze zu extrahieren
IFContacts / IFCustomers IF Conditions Prüft, ob genau ein Kontakt oder Kunde gefunden wurde
GetTicket HTTP Request Sucht nach offenen Tickets, die mit dem identifizierten Kontakt verknüpft sind
IFMoreThanOne IF Condition Ermittelt, ob ein offenes Ticket existiert (Länge > 0), und entscheidet dann, ob aktualisiert oder erstellt werden soll
UpdateTicket HTTP Request Fügt einen versteckten Kommentar zu einem bestehenden Ticket hinzu, der den Anruf vermerkt
CreateTicket / CreateTicketForCustomer HTTP Request Erstellt ein neues Ticket unter einem Kontakt oder Kunden
Set Nodes (ForGoogle)* Set Node Bereitet strukturierte Daten (Anruf-ID + Ticket-ID) für die Protokollierung vor
**Google Sheets * ** Google Sheets Node Hängt Protokolleinträge an eine Tabelle zur Nachverfolgung an
**NoOp * ** No Operation Node Dient als Dummy-Ausgabe, um Fälle zu behandeln, in denen keine Aktion ausgeführt wird

Anwendungsfälle und Vorteile

✅ Anwendungsfälle

  • MSPs (Managed Service Provider): Verfolgen Sie Kundeninteraktionen automatisch, ohne dass Agenten nach jedem Anruf manuell Tickets erstellen müssen.
  • Help Desks: Verbessern Sie die Effizienz der Erstantwort, indem Sie den Kontext des Anrufers vor dem Gespräch vorab ausfüllen.
  • Vertriebs- & Supportteams: Führen Sie detaillierte Protokolle aller eingehenden Kommunikationen, die direkt mit CRM-ähnlichen Datensätzen in Syncro verknüpft sind.
  • Compliance & Auditing: Führen Sie unveränderliche Protokolle in Google Sheets, die Anrufe mit Serviceaktivitäten verknüpfen.

✅ Vorteile

  • Reduziert manuelle Arbeit: Beseitigt die Notwendigkeit, Kunden und offene Tickets manuell nachzuschlagen.
  • Verhindert doppelte Tickets: Intelligente Logik vermeidet eine Überladung des Systems.
  • Verbessert die Verantwortlichkeit: Jeder Anruf hinterlässt einen digitalen Fußabdruck.
  • Erhöht die kontextbezogene Wahrnehmung: Agenten können aktuelle Aktivitäten sehen, bevor sie Anrufe entgegennehmen oder zurückrufen.
  • Skalierbar & konfigurierbar: Kann um SMS-, Voicemail- oder E-Mail-Integrationen erweitert werden.

Schritt-für-Schritt-Workflow-Logik

  1. Trigger: Eingehender Anruf erkannt

    • Dialpad sendet eine POST-Anfrage an den Webhook-Endpunkt /moezdialpad.
    • Payload enthält die Anrufernummer (external_number), Anruf-ID und Richtung.
  2. Filter: Nur eingehende Anrufe verarbeiten

    • Der erste IF-Knoten prüft, ob direction === 'inbound'.
    • Wenn falsch, wird zu NoOp2 (tut nichts) weitergeleitet.
    • Wenn wahr, wird zum nächsten Schritt fortgefahren.
  3. Umgebungsvariablen laden

    • Der EnvVariables-Knoten injiziert:
      • syncro_baseurl: Basis-URL für die Syncro-API
      • Andere statische Werte, die später verwendet werden (z. B. Benutzer-ID)
  4. Syncro nach Anrufer durchsuchen

    • GetCustomer führt eine HTTP-GET-Anfrage an:
      {{syncro_baseurl}}/api/v1/search?query={cleaned_phone}
      
    • Die Telefonnummer wird mit .replace() bereinigt, um +, führende 1 oder 0 zu entfernen.
  5. Ergebnisse in Kontakte und Kunden aufteilen

    • Zwei parallele Function-Knoten (Contacts und Customers) analysieren das Suchergebnis-JSON:
      • Filtern von Einträgen, bei denen _index === 'contacts' oder 'customers'
      • Extrahieren von Schlüsselfeldern: Name, ID, customer_id, phones
    • Ausgaben sind Arrays von übereinstimmenden Kontakten/Kunden
  6. Auf genau eine Übereinstimmung prüfen

    • IFContacts: Wenn genau ein Kontakt gefunden wurde → weiter zur Ticketprüfung
    • IFCustomers: Wenn genau ein Kunde gefunden wurde → weiter zur Erstellung eines Tickets auf Kundenebene
    • Andernfalls Weiterleitung zu NoOp/NoOp1 (keine Aktion ausgeführt)
  7. Auf offene Tickets prüfen (pro Kontakt)

    • Wenn ein Kontakt gefunden wurde, fragt GetTicket ab:
      /api/v1/tickets?contact_id=X&status=Not%20Closed
      
    • Gibt eine Liste offener Tickets für diesen Kontakt zurück
  8. Entscheiden: Ticket aktualisieren oder erstellen?

    • IFMoreThanOne wertet aus:
      • Gibt es mindestens ein offenes Ticket?
    • Wenn JA → zu UpdateTicket
    • Wenn NEIN → zu CreateTicket
  9. Bestehendes Ticket aktualisieren

    • UpdateTicket postet einen Kommentar zum ersten offenen Ticket:
      • Betreff: "Telefonanruf von John Doe (+1234567890)"
      • Text: "John Doe hat angerufen."
      • Versteckt: true (interne Notiz)
      • Zugewiesen an Standardbenutzer
    • Bereitet dann Daten vor und protokolliert sie über ForGoogle → Google Sheets
  10. Neues Ticket erstellen

    • Wenn kein offenes Ticket vorhanden ist:
      • CreateTicket erstellt ein neues mit:
        • Kunden-ID und Kontakt-ID des übereinstimmenden Kontakts
        • Dynamischer Betreffzeile
        • Status: "In Progress"
        • Zugewiesen an Standardbenutzer
    • Protokolliert dann über ForGoogle1 → Google Sheets1
  11. Kunden-Fallback behandeln

    • Wenn kein Kontakt, aber ein Kunde gefunden wurde:
      • CreateTicketForCustomer erstellt ein Ticket auf Organisationsebene
      • Enthält den Geschäftsnamen im Betreff
      • Protokolliert über ForGoogle2 → Google Sheets2
  12. Protokollierung in Google Sheets

    • Alle erfolgreichen Aktionen (Aktualisierung/Erstellung) führen zum Anhängen einer Zeile:
      • Spalte A: Anruf-ID
      • Spalte B: Ticket-ID
    • Drei separate Zweige stellen sicher, dass alle Pfade ordnungsgemäß protokolliert werden

Zusammenfassung

Dieser Dialpad zu Syncro Workflow veranschaulicht, wie n8n Kommunikationsplattformen mit Service-Management-Systemen durch intelligente Automatisierung verbinden kann. Durch die Kombination von Webhooks, bedingter Logik, API-Integrationen und externer Protokollierung liefert er eine robuste Lösung zur Verbesserung von Kundenservice-Workflows – stellt sicher, dass kein Anruf unbeachtet bleibt und jede Interaktion zu besseren Support-Ergebnissen beiträgt.

So geht’s: JSON herunterladen und in n8n „Aus Datei importieren“ wählen.