Zoho CRM, Zoho Books, DataPrep und Flow: Tutorial zur API-Integration für Lead-, Incident- und ERP-Prozesse

  • Beitrags-Autor:

Praxis-Guide: Zoho über die Grenzen hinaus integrieren – Vom ERP-Export bis zur Incident-Kommunikation

Einleitung

Das Zoho-Ökosystem ist mächtig, doch seine wahre Stärke entfaltet es erst, wenn Du die einzelnen Anwendungen intelligent miteinander und mit externen Systemen verbindest. Viele Unternehmen stehen vor der Herausforderung, dass Daten in Silos existieren – sei es zwischen Zoho-Apps oder in der Anbindung an spezialisierte Software wie ERP-Systeme oder B2B-Lead-Datenbanken. Dieser Artikel zeigt Dir anhand eines realen Szenarios, wie Du solche Hürden überwindest. Wir behandeln keine theoretischen Konzepte, sondern konkrete, praxisnahe Lösungen, die Du direkt umsetzen kannst. Es geht darum, manuelle, fehleranfällige Prozesse durch clevere Automatisierungen zu ersetzen und so die Effizienz und Datenqualität in Deinem Unternehmen signifikant zu steigern. Wir tauchen tief in den Tech-Stack ein und zeigen, wie APIs, Webhooks und Zoho-interne Tools wie Deluge-Skripte den entscheidenden Unterschied machen.

Das Praxisbeispiel: Ein Tech-Unternehmen skaliert seine Prozesse

Stell Dir ein wachsendes B2B-Unternehmen im Bereich der kritischen Infrastruktur vor, das beispielsweise Rechenzentren oder Energieanlagen betreibt. Die Komplexität der Abläufe nimmt zu und manuelle Prozesse werden zum Flaschenhals. Konkret kämpft das Unternehmen mit drei zentralen Herausforderungen:

  • Ineffiziente Incident-Kommunikation: Bei einer technischen Störung müssen betroffene Kunden schnell und zuverlässig informiert werden. Aktuell ist unklar, ob für jeden Kunden die richtigen Notfallkontakte im Zoho CRM hinterlegt sind, was im Ernstfall zu kritischen Verzögerungen führt.
  • Manueller Datenexport: Rechnungsdaten aus Zoho Books müssen in das ERP-System, beispielsweise Microsoft Dynamics 365 Business Central (früher Navision), übertragen werden. Der Standard-Export im DATEV-Format liefert Einzelpositionen, das ERP-System benötigt aber eine aggregierte Gesamtsumme pro Rechnung. Der aktuelle Workaround über manuelle Excel-Bearbeitung ist zeitaufwendig und fehleranfällig.
  • Suboptimale Lead-Erfassung: Eine B2B-Intelligenz-Plattform wie Dealfront liefert wertvolle Leads. Die Standard-Integration legt diese jedoch als „Kontakte“ im CRM an, anstatt als „Leads“. Dies unterbricht den etablierten Sales-Prozess und erfordert manuelle Korrekturen.

Zusätzlich besteht ein Compliance-Risiko, da eine veraltete, nicht GoBD-konforme Version von Zoho Books genutzt wird.

Schritt-für-Schritt zur Lösung: Die Automatisierungs-Toolbox

Wir gehen diese Herausforderungen nun nacheinander an und bauen eine robuste, automatisierte Lösung mit einer Kombination aus Zoho-Apps und externen APIs.

1. Automatisierte Incident-Kommunikation: Nie wieder den falschen Ansprechpartner informieren

Ziel: Sicherstellen, dass für jeden aktiven Kunden mindestens ein Notfallkontakt im CRM hinterlegt ist, sobald die erste Rechnung erstellt wird.

Tech-Stack: Zoho CRM, Zoho Books, Deluge Scripting

Schritt 1: Datenstruktur im CRM vorbereiten
Füge im Modul „Kontakte“ ein neues Auswahlfeld oder eine Checkbox hinzu, z.B. „Kontaktrolle“ mit der Option „Technischer Ansprechpartner / Notfallkontakt“. Dies ermöglicht eine klare Kennzeichnung der relevanten Personen.

Schritt 2: Eine Custom Function in Zoho CRM erstellen
Wir benötigen eine Funktion, die prüft, ob für einen bestimmten Kunden (Account) ein solcher Kontakt existiert. Gehe in Deinem CRM zu Einstellungen > Automatisierung > Aktionen > Benutzerdefinierte Funktionen und erstelle eine neue Funktion.


// Funktion: checkEmergencyContact
// Beschreibung: Prüft, ob für einen gegebenen Account ein Notfallkontakt existiert.
// Parameter: accountId (String) - Die ID des zu prüfenden Accounts.
// Rückgabewert: Boolean (true, wenn Kontakt existiert, sonst false)

bool checkEmergencyContact(string accountId)
{
    // Hole alle Kontakte, die mit der Account-ID verknüpft sind
    relatedContacts = zoho.crm.getRelatedRecords("Contacts", "Accounts", accountId.toLong());
    
    // Iteriere durch die gefundenen Kontakte
    for each contact in relatedContacts
    {
        // Prüfe, ob das Feld "Kontaktrolle" den Wert "Technischer Ansprechpartner" enthält
        // Passe 'Kontaktrolle' und 'Technischer_Ansprechpartner' an deine API-Namen an!
        if(contact.get("Kontaktrolle") != null && contact.get("Kontaktrolle").contains("Technischer Ansprechpartner"))
        {
            // Ein passender Kontakt wurde gefunden, wir können die Prüfung beenden
            return true;
        }
    }
    
    // Kein passender Kontakt gefunden
    return false;
}

Schritt 3: Einen Workflow einrichten
Nun erstellen wir einen Workflow, der diese Funktion nutzt. Gehe zu Einstellungen > Automatisierung > Workflow-Regeln.

  • Modul: Wähle das Modul „Rechnungen“ (dieses ist sichtbar, wenn Du Zoho Books integriert hast).
  • Auslöser: Wähle „Bei einer Datensatzaktion“ und „Erstellen“. Der Workflow wird also bei jeder neuen Rechnung ausgeführt.
  • Bedingung: Du kannst hier filtern, z.B. nur bei der ersten Rechnung eines Kunden. Eine einfache Bedingung wäre „Rechnungsstatus ist nicht Entwurf“.
  • Aktion: Wähle „Funktion aufrufen“. Hier wählst Du die eben erstellte Funktion checkEmergencyContact aus und übergibst die Account-ID der Rechnung als Argument.
  • Folgeaktion (Bedingte Aktion): Wenn die Funktion false zurückgibt, erstelle eine „Aufgabe“ für den zuständigen Account Manager mit dem Betreff „Prüfung: Notfallkontakt für Kunde [Kundenname] fehlt“ und einer klaren Beschreibung.

Damit hast Du einen automatisierten Kontrollmechanismus geschaffen, der sicherstellt, dass Deine Kommunikationsdaten für Incidents immer auf dem neuesten Stand sind.

2. ERP-Datenexport optimieren: Von Zoho Books zu Microsoft Dynamics 365

Ziel: Einen CSV-Export aus Zoho Books so transformieren, dass er ohne manuelle Bearbeitung direkt in ein ERP-System wie MS Dynamics 365 importiert werden kann.

Tech-Stack: Zoho Books, Zoho DataPrep

Zoho DataPrep ist ein leistungsstarkes Werkzeug zur Datenvorbereitung und -transformation, das genau für solche Anwendungsfälle konzipiert wurde.

Schritt 1: Daten aus Zoho Books exportieren
Exportiere den gewünschten Rechnungsbericht aus Zoho Books als CSV-Datei. Wähle einen Bericht, der alle benötigten Felder enthält (Rechnungsnummer, Datum, Kundennummer, Positionspreis etc.).

Schritt 2: Datenquelle in Zoho DataPrep einrichten
Importiere die CSV-Datei in Zoho DataPrep als neue Datenquelle. DataPrep analysiert die Datei automatisch und zeigt Dir eine Vorschau der Daten und Spaltentypen an.

Schritt 3: Transformationsregeln anwenden
Das ist das Herzstück der Lösung. Du kannst nun eine Kette von Bereinigungsschritten, ein sogenanntes „Rule Set“, erstellen:

  1. Gruppieren: Nutze die Funktion „Group by“, um die Daten nach der Rechnungsnummer zu gruppieren.
  2. Aggregieren: Wende auf die gruppierten Daten eine Aggregationsfunktion an. Wähle die Spalte mit den Positionspreisen aus und wähle die Funktion „Sum“, um die Gesamtsumme pro Rechnung zu berechnen.
  3. Spalten bearbeiten: Benenne Spalten um, ändere das Datenformat (z.B. für Datumswerte) oder entferne nicht benötigte Spalten, um exakt die Struktur zu erhalten, die Dein ERP-System erwartet.
  4. Regelsatz speichern: Speichere diese Abfolge von Schritten als wiederverwendbaren Regelsatz.

Schritt 4: Transformierte Daten exportieren
Nachdem Du die Transformationen angewendet hast, exportierst Du das Ergebnis als neue, saubere CSV-Datei. Dieser Prozess, der früher manuell Minuten oder Stunden dauerte, ist nun auf wenige Klicks reduziert. Bei jedem neuen Export aus Zoho Books kannst Du einfach denselben Regelsatz in DataPrep anwenden.

3. Lead-Erfassung per API: Dealfront-Daten direkt ins CRM

Ziel: Daten von Dealfront automatisch als „Lead“ im Zoho CRM anlegen, anstatt als „Kontakt“.

Tech-Stack: Zoho CRM, Zoho Flow, Dealfront API/Webhooks

Anstatt die Standard-Integration zu nutzen, bauen wir einen eigenen Workflow mit Zoho Flow, das als Brücke zwischen den beiden Systemen dient.

Schritt 1: Webhook in Dealfront konfigurieren
Die meisten B2B-Plattformen bieten Webhooks an. Ein Webhook ist eine URL, die aufgerufen wird, wenn ein bestimmtes Ereignis eintritt (z.B. „Neuer Lead identifiziert“). Erstelle einen neuen Flow in Zoho Flow und wähle als Trigger „Webhook“. Flow generiert Dir eine einzigartige URL, die Du in Dealfront hinterlegst.

Schritt 2: Den Flow in Zoho Flow bauen
Der Flow wird nun jedes Mal gestartet, wenn Dealfront Daten an die Webhook-URL sendet.

  1. Trigger: Webhook (ist bereits konfiguriert). Die von Dealfront gesendeten Daten (Firmenname, Website, etc.) stehen als Variablen zur Verfügung.
  2. Aktion: Wähle die Aktion „Benutzerdefinierte Funktion“ (Deluge) oder direkt die Zoho CRM Aktion „Create Record“.
  3. Konfiguration der Aktion:
    • Modul: Wähle `Leads`.
    • Daten-Mapping: Weise die Daten aus dem Webhook den entsprechenden Feldern im Leads-Modul zu. Zum Beispiel: `last_name` (Lead) <- `company_name` (Webhook), `Website` (Lead) <- `domain` (Webhook), etc.

Code-Beispiel: Lead-Erstellung via Deluge in Zoho Flow
Wenn Du mehr Logik benötigst (z.B. Duplikatsprüfung), ist eine Custom Function besser geeignet.


// Daten vom Webhook-Trigger entgegennehmen
companyName = input.company_name;
website = input.domain;
city = input.city;

// Prüfen, ob bereits ein Lead mit dieser Website existiert
potentialDuplicates = zoho.crm.searchRecords("Leads", "(Website:equals:" + website + ")");
if(potentialDuplicates.size() == 0)
{
    // Kein Duplikat gefunden, neuen Lead erstellen
    leadMap = Map();
    leadMap.put("Last_Name", companyName); // "Nachname" ist ein Pflichtfeld, wir nutzen den Firmennamen
    leadMap.put("Company", companyName);
    leadMap.put("Website", website);
    leadMap.put("City", city);
    leadMap.put("Lead_Source", "Dealfront (API)");
    
    // API-Aufruf zum Erstellen des Leads
    createResponse = zoho.crm.createRecord("Leads", leadMap);
    info createResponse;
}
else
{
    // Duplikat gefunden, ggf. eine Benachrichtigung senden oder den Vorgang protokollieren
    info "Duplicate lead detected for website: " + website;
}

Mit diesem maßgeschneiderten Workflow stellst Du sicher, dass neue Leads sauber im richtigen Modul landen und Dein Vertriebsprozess nicht gestört wird.

Tipps und Best Practices

  • GoBD-Konformität ernst nehmen: Wenn Du auf dem deutschen Markt tätig bist, ist die Nutzung der deutschen Version von Zoho Books unerlässlich. Die wichtigste Änderung ist die Unveränderbarkeit von abgeschlossenen Rechnungen, die nur noch über Gutschriften oder Stornorechnungen korrigiert werden können. Dies ist eine zentrale Anforderung der „Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern, Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff“.
  • Sicherheit und Benutzerfreundlichkeit: Ein überladenes CRM-Interface führt zu Fehlern. Nutze in Zoho CRM die Layouts und Layout-Regeln. Erstelle unterschiedliche Layouts für verschiedene Rollen (z.B. Vertrieb, Support, Management) und zeige jedem Nutzer nur die Felder an, die er wirklich braucht. Überprüfe regelmäßig Deine Rollen und Berechtigungen nach dem Prinzip der geringsten Rechte (Principle of Least Privilege), um versehentliche Datenlecks zu vermeiden.
  • Richtig skalieren: Für einfache Automatisierungen innerhalb einer App sind Workflows ideal. Sobald mehrere Apps oder externe Dienste beteiligt sind, ist Zoho Flow die bessere Wahl. Für hochkomplexe, rechenintensive Aufgaben oder wenn Du eine eigene Microservice-Architektur aufbauen möchtest, solltest Du einen Blick auf Zoho Catalyst werfen, die Serverless-Plattform von Zoho.

Fazit: Mehr als die Summe seiner Teile

Die wahre Kraft von Zoho liegt nicht in den einzelnen Apps, sondern in ihrer Fähigkeit, als vernetztes Betriebssystem für Dein Unternehmen zu fungieren. Wie dieses Praxisbeispiel zeigt, lassen sich durch den gezielten Einsatz von APIs, Webhooks und den richtigen Zoho-Werkzeugen auch komplexe, unternehmenskritische Prozesse automatisieren und absichern. Die Integration mit externen Systemen wie Microsoft Dynamics 365 oder Dealfront ist kein Hindernis, sondern eine Chance, Deine Datenflüsse zu vereinheitlichen.

Die Investition in die Konzeption und Umsetzung solcher Integrationen zahlt sich schnell aus – durch weniger manuelle Arbeit, höhere Datenqualität und robustere, skalierbare Prozesse. Du lernst dabei, Dein System nicht nur zu nutzen, sondern es aktiv zu gestalten und an die einzigartigen Bedürfnisse Deines Unternehmens anzupassen.

Verwendete Zoho Apps in diesem Guide: