Du betrachtest gerade Zoho Flow, Zoho DataPrep und externe APIs im Lead-Management automatisieren – Tutorial

Zoho Flow, Zoho DataPrep und externe APIs im Lead-Management automatisieren – Tutorial

  • Beitrags-Autor:

Beyond the Basics: Intelligente Prozessautomatisierung mit Zoho Flow, DataPrep und externen APIs

Das Zoho-Ökosystem ist weit mehr als nur eine Sammlung einzelner Apps. Seine wahre Stärke entfaltet sich, wenn Du die Anwendungen intelligent miteinander und mit externen Diensten verbindest. Viele Unternehmen nutzen ihre Software-Tools jedoch isoliert, was zu Datensilos, manuellen Prozessen und Ineffizienzen führt. In diesem Artikel zeigen wir Dir an einem konkreten Praxisbeispiel, wie Du durch die Kombination von Zoho Flow, Zoho CRM und Zoho DataPrep einen durchgängigen, automatisierten und intelligenten Prozess aufbaust – von der Web-Anfrage bis zum qualitativ hochwertigen Datensatz. Wir tauchen tief in die technischen Details ein, werfen einen Blick auf Custom Functions in Deluge und zeigen, wie Du mit externen APIs wie Lead Forensics und sogar KI-Tools wie ChatGPT Deine Prozesse auf das nächste Level hebst.

Praxisbeispiel: Vom Webformular zum qualifizierten Lead – Ein durchgängiger Prozess

Stell Dir ein typisches Szenario in einem mittelständischen B2B-Unternehmen vor: Anfragen kommen über verschiedene Formulare auf der WordPress-Website herein. Einige sind für den Newsletter, andere allgemeine Kontaktanfragen. Die Herausforderungen sind vielfältig:

  • Manuelle Sortierung: Jede Anfrage muss manuell geprüft und dem richtigen Team oder der richtigen Kampagne zugeordnet werden.
  • Schlechte Datenqualität: Oft kommen Test-Anfragen, unvollständige Daten oder Nachrichten ohne konkreten Inhalt an, die wertvolle Zeit des Vertriebs binden.
  • Dubletten: Bestehende Kunden oder Leads füllen erneut ein Formular aus und erzeugen Duplikate im CRM-System.
  • Datenanreicherung: Anfragen von Diensten wie Lead Forensics liefern wertvolle Informationen, müssen aber mühsam mit bestehenden CRM-Daten abgeglichen werden.
  • Inkonsistente Stammdaten: Über Jahre gewachsene Kontaktdaten enthalten unterschiedliche Formate für Telefonnummern, Adressen und andere wichtige Felder.

Das Ziel ist es, diesen gesamten Prozess zu automatisieren, die Datenqualität proaktiv zu verbessern und dem Vertrieb nur noch relevante, qualifizierte und angereicherte Leads zur Verfügung zu stellen.

Schritt-für-Schritt-Anleitung zur Lösung

Wir bauen eine Lösung, die diese Herausforderungen systematisch angeht. Als zentrale Schaltstelle für die Echtzeit-Automatisierung dient uns Zoho Flow.

Teil 1: Intelligente Lead-Erfassung mit Zoho Flow und WordPress

Der erste Schritt ist, die Daten zuverlässig von Deiner Website in das Zoho-Ökosystem zu bekommen. Anstatt auf unsichere E-Mail-Parser zu setzen, nutzen wir einen Webhook, den die meisten modernen WordPress-Formular-Plugins (z.B. Contact Form 7, Gravity Forms, Fluent Forms) unterstützen.

  1. Webhook in Zoho Flow einrichten: Erstelle einen neuen Flow und wähle als Trigger „Webhook“. Zoho Flow generiert Dir eine eindeutige URL. Diese hinterlegst Du in Deinem WordPress-Formular-Plugin als Ziel für die übermittelten Daten.
  2. Anfragen filtern und routen: Nicht jede Anfrage ist gleich. In unserem Beispiel gibt es ein Newsletter-Formular und ein allgemeines Kontaktformular. Anstatt zwei separate Webhooks zu verwenden, kannst Du mit einem einzigen arbeiten und die Logik direkt in Zoho Flow abbilden. Füge direkt nach dem Trigger eine „Decision“ (Entscheidung) ein.

    Beispiel-Logik: IF "Subject" CONTAINS "Newsletter" THEN ... ELSE ...

    So kannst Du Newsletter-Anmeldungen direkt an Zoho Campaigns weiterleiten (wo sie im Double-Opt-in-Prozess landen) und alle anderen Anfragen in den CRM-Lead-Prozess schicken.
  3. Vorqualifizierung direkt im Flow: Jetzt kommt die Intelligenz ins Spiel. Bevor Du einen Lead im CRM erstellst, prüfst Du die Qualität der Anfrage.
    • Test-Anfragen ignorieren: Füge eine weitere Decision hinzu, um interne Tests herauszufiltern. IF "Message" CONTAINS "Test" THEN STOP FLOW. Das spart API-Aufrufe und hält Dein CRM sauber.
    • Leere Anfragen nachqualifizieren: Was passiert, wenn jemand das Formular ausfüllt, aber keine Nachricht hinterlässt? Anstatt einen nutzlosen Lead zu erstellen, sendest Du eine automatisierte E-Mail (z.B. über Zoho ZeptoMail oder den integrierten Mail-Connector) zurück: „Vielen Dank für Ihr Interesse! Womit können wir Ihnen helfen?“. Das ist eine smarte Methode, um aus einer unklaren Anfrage einen qualifizierten Dialog zu starten.

Teil 2: Dublettenprüfung und Anreicherung mit Custom Functions

Wenn eine qualifizierte Anfrage ankommt, willst Du keine Dubletten im CRM erstellen. Dies ist ein perfekter Anwendungsfall für eine Custom Function in Deluge, der Skriptsprache von Zoho.

  1. Custom Function in Zoho Flow erstellen: Füge eine „Custom Function“-Aktion zu Deinem Flow hinzu. Hier kannst Du eigenen Deluge-Code schreiben, der mit dem Zoho CRM kommuniziert.
  2. Bestehenden Kontakt suchen: Die Funktion nimmt die E-Mail-Adresse aus dem Webhook-Payload entgegen und durchsucht damit das Kontakt-Modul im CRM.
  3. Logik implementieren: Wenn ein Kontakt gefunden wird, gibt die Funktion die ID des Kontakts zurück. Wenn nicht, wird ein neuer Kontakt erstellt und dessen neue ID zurückgegeben. Der Flow kann dann mit dieser ID weiterarbeiten.

Besonders interessant wird es bei der Integration von Diensten wie Lead Forensics, die Firmen identifizieren, die Deine Website besuchen. Hier ist die E-Mail-Adresse oft nicht vorhanden oder generisch (z.B. info@…). Eine einfache Dublettenprüfung reicht nicht aus. Hier kann eine erweiterte Custom Function, eventuell sogar mit Unterstützung von ChatGPT für die Logik-Erstellung, helfen. Aber Vorsicht: KI-generierter Code muss immer verstanden und sorgfältig geprüft werden!

Ein typischer Fehler, den auch eine KI machen kann, ist die Verwendung falscher Syntax. Im folgenden Beispiel siehst Du eine korrigierte Deluge-Funktion zur Suche nach Kontakten. Der springende Punkt ist, dass `searchRecords` in Deluge für eine „contains“-Suche die `equals`-Syntax verwendet – ein Detail, das man kennen muss.


// Custom Function to Find or Create a Contact in Zoho CRM
// Input: contactEmail (String), contactCompany (String), contactLastName (String)

// 1. Search for an existing contact by email
search_criteria = "(Email:equals:" + contactEmail + ")";
existing_contact = zoho.crm.searchRecords("Contacts", search_criteria);

// 2. Check if a contact was found
if (existing_contact.size() > 0)
{
    // Contact found, return the existing contact's ID
    contact_id = existing_contact.get(0).get("id");
    info "Contact found with ID: " + contact_id;
    return contact_id;
}
else
{
    // 3. No contact found, create a new one
    contact_map = Map();
    contact_map.put("Last_Name", contactLastName);
    contact_map.put("Email", contactEmail);
    contact_map.put("Account_Name", contactCompany);
    
    create_response = zoho.crm.createRecord("Contacts", contact_map);
    
    // 4. Return the new contact's ID
    if (create_response.containKey("id"))
    {
        new_contact_id = create_response.get("id");
        info "New contact created with ID: " + new_contact_id;
        return new_contact_id;
    }
    else
    {
        // Handle potential error
        info "Error creating contact: " + create_response;
        return null;
    }
}

Tipp: Um die Trefferqualität zu verbessern, kannst Du eine Liste von Freemail-Provider-Domains (gmail.com, web.de etc.) in Deine Funktion einbauen und Suchen mit diesen Domains anders behandeln oder ignorieren.

Teil 3: Datenhygiene als Fundament – Stammdatenbereinigung mit Zoho DataPrep

Automatisierung ist nur so gut wie die zugrundeliegenden Daten. Hier kommt Zoho DataPrep ins Spiel. Es ist das perfekte Werkzeug für die Bereinigung, Transformation und Zusammenführung großer Datenmengen im Batch-Verfahren.

Stell Dir vor, Du möchtest alle Telefonnummern in ein einheitliches internationales Format bringen oder fehlende Mobilnummern aus einem anderen Feld ergänzen.

  1. Datenquelle verbinden: Verbinde Zoho DataPrep direkt mit Deinem Zoho CRM oder lade einen CSV-Export Deiner Kontakte als Quelle hoch.
  2. Transformations-Pipeline erstellen: DataPrep arbeitet mit „Rulesets“ oder Pipelines. Jeder Schritt in der Pipeline ist eine Transformation.
    • Formatierung mit Regex: Nutze die „Replace“-Funktion mit regulären Ausdrücken (Regex), um Leerzeichen, Klammern und Sonderzeichen aus Telefonnummern zu entfernen und einen einheitlichen Ländercode voranzustellen.
    • Bedingte Logik mit Formeln: Erstelle eine neue benutzerdefinierte Spalte mit einer Formel, um Felder zu konsolidieren. Die Syntax ähnelt Deluge oder Excel-Formeln.

      Beispiel: Eine neue Spalte „Haupttelefonnummer“ erstellen.

      IF(ISBLANK([Telefon]), [Mobil], [Telefon])

      Diese Formel prüft, ob das Feld „Telefon“ leer ist. Wenn ja, nimmt sie den Wert aus dem Feld „Mobil“, ansonsten den Wert aus „Telefon“.

  3. Daten aus verschiedenen Quellen zusammenführen: Ein weiterer mächtiger Anwendungsfall ist das Zusammenführen von Daten. Nehmen wir an, Deine Double-Opt-in-Informationen liegen in einer separaten Tabelle aus Zoho Forms. In DataPrep kannst Du beide Datenquellen (CRM-Kontakte und Forms-Export) laden und über eine „Join“-Operation verbinden. Als Schlüssel dient die E-Mail-Adresse. So kannst Du ein zentrales „Einwilligungs“-Feld in Deinem CRM-Datensatz befüllen.

Tipps und Best Practices

  • Die „Test-an-Einem“-Strategie in DataPrep: Bevor Du eine komplexe Transformations-Pipeline auf tausende Datensätze anwendest, setze am Anfang der Pipeline einen Filter auf einen einzigen Testdatensatz (z.B. Deinen eigenen Kontakt, gefiltert nach Deiner E-Mail). So kannst Du jeden Schritt sicher und live überprüfen. Funktioniert alles, entfernst Du den Filter und lässt die Pipeline über alle Daten laufen.
  • KI als Co-Pilot, nicht als Pilot: Tools wie ChatGPT sind exzellent, um erste Entwürfe für Code (Deluge, Regex) oder komplexe Formeln zu erstellen. Vertraue den Ergebnissen aber niemals blind. Du musst den generierten Code verstehen, validieren und an die spezifischen Gegebenheiten von Zoho anpassen.
  • Iterativ vorgehen: Versuche nicht, den perfekten, allumfassenden Prozess auf einmal zu bauen. Beginne mit einem einfachen Flow, teste ihn und füge dann schrittweise weitere Logik und Integrationen hinzu.
  • Das große Ganze im Blick behalten: Saubere und strukturierte Daten sind die Voraussetzung für den nächsten logischen Schritt: aussagekräftige Auswertungen. Mit den bereinigten Daten aus DataPrep kannst Du in Zoho Analytics aussagekräftige Dashboards erstellen, die Dir einen 360-Grad-Blick auf Deine Kunden ermöglichen, indem Du Daten aus CRM, Zoho Books und Zoho Projects miteinander verknüpfst.

Fazit

Die wahre Magie des Zoho-Ökosystems liegt in seiner Konnektivität. Indem Du Werkzeuge wie Zoho Flow für die Echtzeit-Orchestrierung, Custom Functions für maßgeschneiderte Logik und Zoho DataPrep für die grundlegende Datenhygiene kombinierst, schaffst Du robuste, intelligente und skalierbare Prozesse. Du sparst nicht nur enorm viel manuelle Arbeit, sondern steigerst auch die Qualität Deiner Daten fundamental. Dies ermöglicht Deinem Team, sich auf das zu konzentrieren, was wirklich zählt: die Beziehung zu Euren Kunden.

Verwendete Zoho Apps in diesem Szenario: