Tutorial: Vertriebs-Lead-Balancing mit Zoho CRM, DataPrep, Deluge und Analytics

Vom SQL-Monolithen zur agilen Cloud-Lösung: Komplexe Vertriebslogik mit Zoho nachbauen
Viele etablierte Unternehmen sitzen auf einem wahren Schatz: über Jahre gewachsene, hochgradig individualisierte On-Premise-Systeme. Oft basieren diese auf robusten SQL-Datenbanken und sind perfekt auf die eigenen Prozesse zugeschnitten. Doch was passiert, wenn das interne Know-how zur Wartung und Weiterentwicklung dieser Systeme verloren geht? Plötzlich wird der einstige Wettbewerbsvorteil zum Klumpenrisiko. Ein Wechsel in die Cloud scheint unausweichlich, aber die Angst, die über Jahre optimierte Geschäftslogik zu verlieren, ist groß. Dieser Artikel zeigt Dir, wie Du eine solche Migration nicht nur meisterst, sondern die Chance nutzt, Deine Prozesse noch intelligenter und flexibler zu gestalten. Wir bauen eine komplexe, individuelle Logik zur Lead-Verteilung aus einem alten System mit dem Zoho-Ökosystem nach – praxisnah und ohne Marketing-Blabla.
Praxisbeispiel: Die intelligente Anruf-Maschine für den B2B-Vertrieb
Stell Dir ein mittelständisches Handelsunternehmen vor. Der Kern des Erfolgs ist ein schlagkräftiges Vertriebsteam, das täglich eine hohe Anzahl an Outbound-Anrufen tätigt. Das Unternehmen verlässt sich nicht auf Standard-CRM-Funktionen, sondern auf eine maßgeschneiderte Logik in seinem alten, SQL-basierten System. Diese Logik, nennen wir sie "Balancing", ist das Herzstück des Vertriebs.
Anstatt den Vertriebsmitarbeitern einfach eine Liste von Kontakten zu geben, stellt das System für jeden Mitarbeiter täglich eine dynamische Anrufliste zusammen. Diese Liste ist kein Zufallsprodukt, sondern folgt einer ausgeklügelten Regel: Sie mischt gezielt Kontakte unterschiedlichen "Alters". So erhält ein Mitarbeiter beispielsweise:
- 20 Kontakte, bei denen der letzte Anruf 3 Monate zurückliegt
- 15 Kontakte, bei denen der letzte Anruf 4 Monate zurückliegt
- 10 Reaktivierungs-Kontakte, die seit über 6 Monaten nicht mehr kontaktiert wurden
Dieser Mix sorgt für Abwechslung, hält die Motivation hoch und maximiert die Erfolgsquote. Das Problem: Der Entwickler, der dieses System einst gebaut hat, ist nicht mehr im Unternehmen. Niemand versteht die zugrundeliegende SQL-Logik im Detail. Das System ist eine Blackbox geworden. Die Geschäftsführung entscheidet sich für einen Wechsel zu einer modernen Cloud-Plattform, um wieder die Kontrolle zu erlangen und zukunftsfähig zu sein. Die größte Herausforderung: Wie kann diese einzigartige "Balancing"-Logik in einem Standardsystem wie Zoho abgebildet werden?
Schritt-für-Schritt-Anleitung: Migration und Neuaufbau der Logik
Ein "Big Bang"-Umzug, bei dem das alte System von heute auf morgen abgeschaltet wird, ist extrem riskant. Wir wählen stattdessen einen schrittweisen, kontrollierten Ansatz, der die Stärken des Zoho-Ökosystems ausspielt.
Phase 1: Daten-Synchronisation statt harter Migration
Im ersten Schritt lassen wir das alte System weiterlaufen, zapfen aber seine Daten an, um sie in Zoho zu spiegeln. So können wir die neue Logik parallel aufbauen und testen, ohne den laufenden Betrieb zu stören.
Schritt 1: SQL-Datenbanken mit Zoho verbinden
Hierfür ist Zoho DataPrep das Werkzeug der Wahl. DataPrep ist ein Self-Service-Tool zur Datenvorbereitung und -integration. Es kann sich mit einer Vielzahl von Quellen verbinden, darunter gängige SQL-Datenbanken wie MySQL, MS SQL Server oder PostgreSQL. Du richtest in DataPrep eine Verbindung zu Deinen lokalen SQL-Datenbanken (z.B. aus einem JTL-Wawi oder einem Combit-CRM) ein. Anschließend definierst Du, welche Tabellen (z.B. Kunden, Kontakte, Artikel) in welche Module in Zoho (z.B. Zoho CRM Accounts & Contacts, Zoho Inventory Items) synchronisiert werden sollen. Du kannst die Synchronisation planen, sodass beispielsweise jede Nacht die Daten aus dem Altsystem in Zoho aktualisiert werden. Dies gibt Dir eine konsistente, aktuelle Datenbasis in der Cloud, während das operative Geschäft im Altsystem weiterläuft.
Phase 2: Die Kernlogik mit Deluge neu erschaffen
Nun kommt der spannendste Teil: Wir bauen die "Balancing"-Logik mit Deluge, der Low-Code-Skriptsprache von Zoho, nach. Dies ist zu komplex für Standard-Workflows und erfordert eine Custom Function.
Schritt 2: Ein Custom Module für die Tagesplanung erstellen
Innerhalb von Zoho CRM erstellen wir ein neues, benutzerdefiniertes Modul, das wir "Tages-Anrufliste" nennen. Dieses Modul wird die täglichen, für jeden Mitarbeiter individuell generierten Anrufaufgaben enthalten. Wichtige Felder sind:
- Lookup-Feld zum zuständigen Mitarbeiter (User)
- Lookup-Feld zum zu kontaktierenden Kontakt (Contact)
- Status (z.B. Offen, Erledigt, Wiedervorlage)
- Notizfeld für das Anrufergebnis
Schritt 3: Das Deluge-Skript für die intelligente Zuteilung
Das Herzstück unserer Lösung ist eine geplante Funktion (Scheduled Function) in Zoho CRM, die wir mit Deluge schreiben. Diese Funktion läuft automatisch jeden Morgen, bevor der Arbeitstag beginnt (z.B. um 5:00 Uhr), und befüllt das Modul "Tages-Anrufliste". Das Skript folgt einer klaren Logik:
- Es holt sich eine Liste aller aktiven Vertriebsmitarbeiter.
- Für jeden Mitarbeiter werden nacheinander die verschiedenen Kontaktsegmente abgefragt (z.B. "letzter Kontakt vor 90-120 Tagen").
- Die Abfragen erfolgen mittels COQL (Zoho's Criteria Query Language), einer SQL-ähnlichen Abfragesprache, die sehr präzise Filterungen erlaubt.
- Die gefundenen Kontakte werden als neue Datensätze im Modul "Tages-Anrufliste" angelegt und dem jeweiligen Mitarbeiter zugewiesen.
Hier ist ein vereinfachtes, aber funktionierendes Beispiel für ein solches Deluge-Skript:
// Geplante Funktion, die täglich um 05:00 Uhr ausgeführt wird// 1. Hole alle aktiven Benutzer mit der Rolle "Vertrieb"activeUsersResponse = zoho.crm.getUsersByRole("Vertrieb");activeUsers = activeUsersResponse.get("users");// 2. Iteriere durch jeden Vertriebsmitarbeiterfor each user in activeUsers{userId = user.get("id");allContactsForToday = List();// 3. Definiere die Kriterien und hole die Kontakte für jedes Segment// Segment 1: 20 Kontakte, letzte Änderung vor 90-120 Tagencriteria_90 = "((Modified_Time between '" + zoho.currentdate.subDay(120) + "T00:00:01+01:00' and '" + zoho.currentdate.subDay(90) + "T23:59:59+01:00') and (Owner.id:equals:" + userId + "))";contacts_90 = zoho.crm.searchRecords("Contacts", criteria_90, 1, 20);if(contacts_90 != null){allContactsForToday.addAll(contacts_90);}// Segment 2: 15 Kontakte, letzte Änderung vor 121-180 Tagencriteria_121 = "((Modified_Time between '" + zoho.currentdate.subDay(180) + "T00:00:01+01:00' and '" + zoho.currentdate.subDay(121) + "T23:59:59+01:00') and (Owner.id:equals:" + userId + "))";contacts_121 = zoho.crm.searchRecords("Contacts", criteria_121, 1, 15);if(contacts_121 != null){allContactsForToday.addAll(contacts_121);}// 4. Erstelle die Datensätze in der "Tages-Anrufliste"// Wir verwenden eine Liste von Maps für einen Bulk-Insert, um API-Limits zu schonenrecordsToCreate = List();for each contact in allContactsForToday{recordMap = Map();recordMap.put("Name", contact.get("Full_Name") + " - " + zoho.currentdate.toString("dd-MM-yyyy"));recordMap.put("Zust_ndiger_Mitarbeiter", userId);recordMap.put("Zugeordneter_Kontakt", contact.get("id"));recordMap.put("Status", "Offen");recordsToCreate.add(recordMap);}// Erstelle bis zu 100 Datensätze auf einmalif(recordsToCreate.size() > 0){createResponse = zoho.crm.createRecord("Tages_Anruflisten", recordsToCreate);info createResponse;}}
Phase 3: Integration externer Systeme und Visualisierung
Ein Vorteil des Altsystems war oft die Visualisierung von Kennzahlen auf großen Monitoren im Büro. Auch das lässt sich modern und flexibel nachbilden.
Schritt 4: Dashboards anbinden via API oder Zoho Analytics
Du hast hier zwei hervorragende Möglichkeiten:
- Zoho Analytics: Der native und leistungsstärkste Weg. Du synchronisierst die Daten aus dem CRM-Modul "Tages-Anrufliste" mit wenigen Klicks in Zoho Analytics. Dort kannst Du beeindruckende Dashboards erstellen, die den Fortschritt jedes Mitarbeiters in Echtzeit anzeigen (z.B. "Anrufe heute", "Erfolgsquote"). Diese Dashboards können auf jedem Bildschirm mit einem Webbrowser angezeigt werden.
- REST API: Wenn Du ein bestehendes Business-Intelligence-Tool wie Microsoft Power BI oder Tableau weiterverwenden oder eine eigene Web-Anwendung bauen möchtest, kannst Du die Daten über die Zoho CRM REST API abrufen. Ein einfacher API-Aufruf genügt, um die benötigten Daten im JSON-Format zu erhalten.
Ein Beispiel für einen cURL-Aufruf, um alle erledigten Anrufe des heutigen Tages abzufragen:
curl "https://www.zohoapis.eu/crm/v2/Tages_Anruflisten/search?criteria=((Status:equals:Erledigt) and (Created_Time:equals:today))"-H "Authorization: Zoho-oauthtoken DEIN_OAUTH_TOKEN"
Tipps und Best Practices für komplexe Anforderungen
Bei einer solchen Migration stößt man oft auf weitere Herausforderungen, die im Altsystem über Jahre gelöst wurden. Hier ehrliche Einschätzungen und Lösungsansätze für typische Knackpunkte:
- Stücklisten / Produkt-Bundles: Die Anforderung, aus mehreren "Bianco-Artikeln" ein Verkaufs-Set zu erstellen, lässt sich hervorragend mit Zoho Inventory abbilden. Dort heißt diese Funktion "Composite Items" (kombinierte Artikel) und ermöglicht genau das: die Definition von Stücklisten, deren Komponenten automatisch vom Lager abgebucht werden, wenn das Set verkauft wird.
- Mehrere Preislisten pro Artikel: Zoho CRM und Zoho Books bieten mit "Price Books" (Preislisten) eine Standardlösung an. Du kannst verschiedene Preislisten (z.B. für Endkunden, Händler, Premium-Kunden) anlegen und diese einem Kunden zuweisen. Für hochgradig dynamische, kundenindividuelle Preisberechnungen pro Artikel kann es jedoch notwendig sein, die Preislogik in einer Custom Function mit Deluge oder in einer kleinen App mit Zoho Creator abzubilden, die den finalen Preis berechnet.
- Automatischer Bankabgleich: Dies ist ein in Europa oft genannter Schwachpunkt. Während die Anbindung an Zahlungsdienstleister wie Stripe oder PayPal exzellent ist, kann der direkte, vollautomatische Abgleich von Zahlungseingängen von klassischen deutschen Bankkonten via HBCI/FinTS in Zoho Books manchmal lückenhaft sein. Hier lohnt es sich, den Einsatz von Drittanbieter-Connectoren über Zoho Flow zu prüfen oder Prozesse so umzustellen, dass sie stärker auf integrierte Zahlungsgateways setzen.
Fazit: Mehr als nur eine Migration – eine Modernisierung
Der Umzug von einem über Jahre gewachsenen, aber starren On-Premise-System in das Zoho-Ökosystem ist keine einfache Kopie. Es ist die Chance, Deine wertvollste Geschäftslogik aus der "Blackbox" zu befreien und sie auf eine transparente, flexible und zukunftssichere Basis zu stellen. Die Kombination aus einem zentralen CRM, einem mächtigen Datenintegrations-Tool und einer flexiblen Low-Code-Plattform ermöglicht es Dir, selbst die individuellsten Prozesse nicht nur nachzubauen, sondern sie zu verbessern, zu automatisieren und für alle nachvollziehbar zu machen.
Du tauschst eine riskante Abhängigkeit von einzelnen Personen und veralteter Technik gegen eine skalierbare Plattform, die mit Deinem Unternehmen wächst. Die "intelligente Anruf-Maschine" ist nur ein Beispiel. Jedes Unternehmen hat solche Kronjuwelen in seinen Prozessen. Mit den richtigen Werkzeugen kannst Du sie schleifen und zum Glänzen bringen.
Verwendete Zoho Apps in diesem Szenario:
- (Optional) Zoho Creator
- (Optional) Zoho Books
Dein nächstes Zoho-Projekt? Mach es mit uns.
Wir sind keine klassische Agentur – wir bauen digitale Mitarbeiter, intelligente Zoho-Prozesse und echte Automatisierung, die Deinem Team tatsächlich Arbeit abnimmt. Wenn Du bis hier gelesen hast, hast Du einen Use-Case im Kopf. Lass uns 15 Minuten darüber sprechen.