Zoho CRM Blueprints und Deluge-APIs für Lead-Tracking und Opt-in-Prozesse automatisieren

  • Beitrags-Autor:

Intelligente Prozessautomatisierung im Zoho CRM: Blueprints mit Custom Functions und externen APIs auf das nächste Level heben

Das Zoho-Ökosystem bietet eine beeindruckende Suite an Werkzeugen, um Geschäftsprozesse zu digitalisieren und zu automatisieren. Im Herzen vieler Setups steht dabei Zoho CRM mit seiner mächtigen Blueprint-Funktion, die es Dir erlaubt, Prozesse Schritt für Schritt zu definieren und zu erzwingen. Doch was passiert, wenn Standard-Blueprints an ihre Grenzen stoßen? Wenn Deine realen Vertriebs- oder Serviceprozesse mehr Flexibilität, intelligente Zähler oder die nahtlose Anbindung an externe Systeme erfordern, musst Du tiefer in die Materie eintauchen. Genau hier zeigen sich die wahren Stärken von Zoho: die Kombination aus Low-Code (Blueprints), Pro-Code (Deluge Custom Functions) und offenen Schnittstellen (APIs).

Dieser Artikel zeigt Dir anhand eines konkreten Praxisbeispiels, wie Du Standard-Blueprints durch den gezielten Einsatz von Deluge-Skripten und cleveren Konfigurationen so erweiterst, dass sie auch komplexe Anforderungen elegant und benutzerfreundlich abbilden. Wir lösen ein typisches Problem aus dem Vertriebsalltag, das viele Zoho-Anwender kennen: die effiziente Nachverfolgung von Leads und die parallele Erfassung wichtiger Informationen, ohne den Prozess künstlich aufzublähen.

Die Herausforderung: Ein Vertriebsprozess am Limit

Stell Dir einen typischen Vertriebsprozess für Leads vor. Dein Team soll neue Leads systematisch kontaktieren und qualifizieren. Dabei gibt es zwei zentrale Herausforderungen, die mit einem einfachen Blueprint nur schwer zu lösen sind:

  1. Die Wiedervorlage-Schleife: Ein Lead ist nicht sofort erreichbar. Dein Prozess sieht vor, dass ein Mitarbeiter es bis zu fünfmal versuchen soll, bevor der Lead als „nicht erreicht“ ausgesteuert wird. Die naive Lösung wäre, fünf verschiedene Status im Blueprint anzulegen („Wiedervorlage 1“, „Wiedervorlage 2“, etc.). Das ist unübersichtlich, schlecht skalierbar und programmatisch unsauber.
  2. Parallele Aktionen: Während eines Telefonats erteilt ein Lead mündlich die Zustimmung zum Newsletter-Empfang (Opt-in). Diese Information muss sofort im CRM erfasst und an ein Marketing-Tool wie Zoho Marketing Automation übergeben werden. Dieser Vorgang darf den eigentlichen Qualifizierungsprozess im Blueprint aber nicht blockieren oder den Mitarbeiter in eine umständliche „Sackgasse“ zwingen.

Wir zeigen Dir nun, wie Du beide Probleme mit einer Kombination aus Custom Fields, Deluge-Skripten und cleverer Blueprint-Logik löst.

Schritt-für-Schritt: Vom starren Blueprint zum dynamischen Prozessassistenten

Unser Ziel ist es, den Blueprint so zu gestalten, dass er für Dein Team eine echte Hilfe ist und nicht als starres Korsett empfunden wird. Wir arbeiten dabei ausschließlich in der Zoho CRM Sandbox, um den laufenden Betrieb nicht zu stören.

Teil 1: Der intelligente Wiedervorlage-Zähler

Anstatt mehrerer Status bauen wir einen dynamischen Zähler, der im Hintergrund die Anrufversuche zählt und erst bei Erreichen des Limits eine neue Handlungsoption anzeigt.

Schritt 1: Das Zählerfeld anlegen

Navigiere in Deinem Zoho CRM zu Einstellungen > Anpassung > Module und Felder. Wähle das Leads-Modul und lege ein neues Feld vom Typ „Zahl“ an. Nenne es zum Beispiel Anrufversuche Zaehler. Dieses Feld muss nicht im Layout sichtbar sein, da es nur für unsere Automatisierung dient.

Schritt 2: Die Custom Function in Deluge schreiben

Das Herzstück unserer Lösung ist eine kleine Funktion, die den Zähler bei jedem Klick erhöht. Gehe zu Einstellungen > Automatisierung > Aktionen > Benutzerdefinierte Funktionen und erstelle eine neue Funktion.

  • Funktionsname: incrementCallAttemptCounter
  • Rückgabetyp: void
  • Argument: Erstelle ein Argument, z.B. leadId (Typ: BigInt).

Füge nun folgenden Deluge-Code ein. Dieser Code holt den Lead-Datensatz, liest den aktuellen Zählerstand aus, erhöht ihn um eins und speichert das Ergebnis zurück.


// Funktion zum Erhöhen des Anrufversuch-Zählers für einen Lead
// Argument: leadId (die ID des Leads, der aktualisiert werden soll)

void incrementCallAttemptCounter(bigint leadId)
{
	// 1. Den aktuellen Lead-Datensatz anhand der übergebenen ID abrufen
	leadDetails = zoho.crm.getRecordById("Leads", leadId);

	// 2. Den aktuellen Wert des Zählerfeldes auslesen.
	// Wichtig: Wenn das Feld leer ist (beim ersten Versuch), ist der Wert 'null'.
	// Wir verwenden ifnull(), um in diesem Fall von 0 auszugehen.
	currentAttempts = ifnull(leadDetails.get("Anrufversuche_Zaehler"), 0);

	// 3. Den Zähler um 1 erhöhen
	newAttempts = currentAttempts + 1;

	// 4. Eine Map (eine Art Datenpaket) mit den zu aktualisierenden Werten erstellen
	updateMap = Map();
	updateMap.put("Anrufversuche_Zaehler", newAttempts);

	// 5. Den Lead-Datensatz mit dem neuen Zählerstand aktualisieren
	updateResponse = zoho.crm.updateRecord("Leads", leadId, updateMap);

	// Optional: Log-Ausgabe zur Überprüfung im Fehlerprotokoll
	info "Lead " + leadId + " updated. New attempt count: " + newAttempts;
	info updateResponse;
}
Schritt 3: Den Blueprint konfigurieren

Erstelle oder bearbeite nun Deinen Lead-Blueprint.

  1. Die „Wiedervorlage“-Transition: Erstelle eine Transition (einen Button), die vom Status „In Bearbeitung“ wieder zurück in denselben Status führt. Nenne sie „Wiedervorlage“. Klicke im „Nachher“-Bereich dieser Transition auf „Aktion hinzufügen“ und wähle die soeben erstellte Custom Function incrementCallAttemptCounter aus. Konfiguriere das Argument, indem Du das Feld Lead-ID auswählst.
  2. Die „Nicht erreicht“-Transition: Erstelle eine weitere Transition von „In Bearbeitung“ zum Endstatus „Verloren (Nicht erreicht)“. Nenne sie „Final nicht erreicht“.
  3. Die Magie der Bedingung: Klicke auf die Transition „Final nicht erreicht“ und setze eine Bedingung für die Anzeige der Transition. Die Bedingung lautet: Anrufversuche Zaehler größer oder gleich 5.

Das Ergebnis: Dein Mitarbeiter sieht nur den „Wiedervorlage“-Button. Nach dem fünften Klick darauf erscheint automatisch zusätzlich der Button „Final nicht erreicht“, der den Prozess sauber beendet.

Teil 2: Der flexible Newsletter-Opt-In

Jetzt implementieren wir die Möglichkeit, jederzeit ein telefonisches Opt-in zu erfassen und diesen Vorgang an andere Systeme zu melden.

Schritt 1: Das Datumsfeld anlegen

Erstelle im Leads-Modul ein weiteres benutzerdefiniertes Feld, diesmal vom Typ „Datum/Uhrzeit“. Nenne es Telefonisches Opt-In Datum.

Schritt 2: Eine „Common Transition“ im Blueprint einrichten

Innerhalb des Blueprint-Editors gibt es neben den normalen Transitionen die „Common Transition“. Diese ist nicht an einen bestimmten Statuswechsel gebunden, sondern kann von jedem definierten Status aus ausgeführt werden. Perfekt für unseren Anwendungsfall!

  1. Klicke auf „Common Transition hinzufügen“.
  2. Nenne sie „Telefonisches Opt-In erteilt“.
  3. Im „Nachher“-Bereich fügst Du eine Aktion hinzu: „Feld aktualisieren“. Wähle das Feld Telefonisches Opt-In Datum und setze den Wert auf die Systemvariable „Ausführungszeit“.
  4. Der Trick zum Ausblenden: Setze auch hier eine Bedingung für die Anzeige der Transition. Die Bedingung lautet: Telefonisches Opt-In Datum ist leer.

Sobald ein Mitarbeiter auf diesen Button klickt, wird das Datum gesetzt, und der Button verschwindet für diesen Lead, was eine doppelte Erfassung verhindert.

Schritt 3: Die Integration mit Zoho Marketing Automation und externen Tools

Die reine Datenerfassung im CRM ist nur die halbe Miete. Die eigentliche Stärke liegt in der nun möglichen Automatisierung.

  • Native Integration: In Zoho Marketing Automation kannst Du eine Journey oder einen Workflow erstellen, der automatisch startet, sobald das Feld Telefonisches Opt-In Datum in Zoho CRM einen Wert erhält. So landet der Lead direkt auf der richtigen Mailingliste.
  • Anbindung via Webhook: Du könntest im „Nachher“-Bereich der Common Transition auch einen Webhook auslösen. Damit kannst Du praktisch jede externe Anwendung ansteuern, die eine API bietet.
    • Informiere Dein Team in einem Zoho Cliq– oder Slack-Channel.
    • Lege eine Aufgabe in Zoho Projects oder einem externen Tool wie Asana oder Jira an.
    • Triggere einen komplexen Workflow in einer Middleware-Plattform wie Make (ehemals Integromat) oder Zapier.

Ein Beispiel für einen API-Aufruf per Deluge, um ein externes System zu informieren, könnte so aussehen (dieser Code würde in einer weiteren Custom Function platziert):


// Hypothetische Funktion, um ein externes System über ein Opt-In zu informieren
void notifyExternalSystem(bigint leadId)
{
	// Lead-Details abrufen, um z.B. die E-Mail-Adresse zu bekommen
	leadDetails = zoho.crm.getRecordById("Leads", leadId);
	emailAddress = leadDetails.get("Email");

	// Daten für den API-Aufruf vorbereiten
	requestBody = Map();
	requestBody.put("email", emailAddress);
	requestBody.put("source", "CRM Phone Opt-In");
	requestBody.put("opt_in_date", zoho.currenttime);

	// Externen Endpunkt via POST aufrufen
	// Die URL und der API-Key sind Platzhalter
	response = invokeurl
	[
		url: "https://api.externes-system.com/v1/subscribers"
		type: POST
		parameters: requestBody.toString()
		headers: {"Authorization": "Bearer dein-api-key-hier"}
		connection: "my_external_api_connection" // Zoho Connection anlegen!
	];

	info "API Response: " + response;
}

Tipps und Best Practices

  • Berechtigungen prüfen: Stelle sicher, dass die Blueprint-Berechtigung auf „Alle Benutzer mit Modulberechtigung“ gesetzt ist und nicht auf „Datensatzeigentümer“. Ansonsten können Kollegen den Prozess für Leads, die ihnen nicht gehören, nicht weiterführen. Du findest diese Einstellung in den allgemeinen Blueprint-Eigenschaften.
  • User Experience (UX) ist entscheidend: Nutze die Möglichkeit, die Blueprint-Buttons (Transitionen) farblich zu kennzeichnen und in einer logischen Reihenfolge anzuordnen, um die Bedienung für Dein Team so intuitiv wie möglich zu machen.
  • Immer in der Sandbox testen: Entwickle und teste solch tiefgreifende Änderungen immer zuerst in Deiner Zoho Sandbox. Erst wenn alles einwandfrei funktioniert, überträgst Du die Konfiguration in Dein produktives System.
  • Externe Abhängigkeiten managen: Wenn Du externe Systeme wie z.B. spezialisierte Dokumenten-Management-Lösungen anbindest, stelle sicher, dass diese eine stabile und gut dokumentierte API bieten. Die Verwendung von Zoho Flow kann hier die Anbindung vereinfachen, da es viele Konnektoren bereits mitbringt.

Fazit: Mehr als nur ein Prozess-Tool

Dieses Beispiel zeigt eindrücklich, wie Zoho CRM sich von einem reinen Datenspeicher zu einem intelligenten Prozessassistenten wandelt. Durch die geschickte Kombination von Blueprints, Deluge Custom Functions und der Offenheit für APIs kannst Du Prozesse schaffen, die nicht nur robust und regelkonform sind, sondern sich auch flexibel an die Realität Deiner Mitarbeiter anpassen. Du reduzierst manuelle Eingaben, verhinderst Fehler und schaffst nahtlose Übergänge zwischen verschiedenen Anwendungen wie CRM und Marketing-Automatisierung.

Der wahre Wert liegt darin, über den Tellerrand der Standardfunktionen hinauszudenken und die Plattform als Baukasten zu verstehen. So baust Du Dir ein Betriebssystem für Dein Unternehmen, das exakt auf Deine Bedürfnisse zugeschnitten ist und mit Dir wächst.


Verwendete Zoho Apps in diesem Beispiel: