Zoho CRM Blueprints aufbohren: Smarte Task-Automatisierung mit Deluge und Keyword-Triggern
Du nutzt Zoho CRM und möchtest deine Vertriebsprozesse nicht nur abbilden, sondern intelligent automatisieren? Standard-Workflows stoßen oft an Grenzen, besonders wenn es um die feingranulare Steuerung von Aufgaben geht. Oftmals bleibt viel manuelle Nacharbeit liegen, oder Automatisierungen schießen über das Ziel hinaus. Genau hier setzen Zoho CRM Blueprints in Kombination mit benutzerdefinierten Deluge-Funktionen an. Sie ermöglichen dir, komplexe Abläufe präzise zu steuern und wiederkehrende Aufgaben – wie das Nachfassen bei Angeboten – nicht nur zu erstellen, sondern auch intelligent abzuschließen.
In diesem Artikel tauchen wir tief in die Praxis ein: Wir zeigen dir anhand eines konkreten Beispiels, wie du einen Sales-Blueprint so konfigurierst, dass automatisch erstellte Aufgaben auch wieder automatisch geschlossen werden, sobald der nächste Prozessschritt erfolgt – ohne dabei manuell angelegte Aufgaben zu beeinträchtigen. Das spart Zeit, sorgt für Übersicht und stellt sicher, dass dein Vertriebsteam sich auf das Wesentliche konzentrieren kann: den Abschluss.
Die Herausforderung aus der Praxis: Intelligente Aufgabenverwaltung im Sales Funnel
Stell dir ein typisches Szenario vor, zum Beispiel in der Gastronomie oder im Event-Management, wo auf eine Kundenanfrage („Kunde wünscht Angebot“) verschiedene Schritte folgen können. Dein Vertriebsteam soll den Kunden kontaktieren. Wird der Kunde nicht erreicht, soll eine Aufgabe für den nächsten Versuch erstellt werden. Wird er erreicht, folgt der nächste Schritt im Prozess. Das Problem: Die Aufgabe „Erster Anrufversuch“ bleibt oft offen, auch wenn bereits der zweite Versuch gestartet oder der Kunde erreicht wurde. Ein einfacher Workflow, der *alle* offenen Aufgaben bei Phasenwechsel schließt, ist zu grob – er würde auch wichtige manuelle Aufgaben (z.B. „Logo für Angebot anfordern“) ungewollt löschen.
Zusätzlich möchtest du sicherstellen, dass bei einem verlorenen Deal (z.B. „Keine Kapazität“, „Kunde wählt Wettbewerber“) wichtige Informationen wie der geschätzte Auftragswert trotzdem erfasst werden, um deine Sales-Pipeline und Verlustgründe besser analysieren zu können – idealerweise direkt im Blueprint-Übergang.
Schritt-für-Schritt: Vom Standard-Blueprint zur smarten Automatisierung
Lass uns gemeinsam einen Zoho CRM Blueprint für die Phase „Kunde wünscht Angebot“ aufbauen und ihn mit der nötigen Intelligenz versehen.
1. Blueprint entwerfen: Phasen und Übergänge definieren
Navigiere in Zoho CRM zu Einstellungen (Zahnrad) -> Prozessverwaltung -> Blueprint. Erstelle einen neuen Blueprint für das Modul „Abschlüsse“ (Deals).
Definiere zunächst die relevanten Phasen (States) deines Prozesses, zum Beispiel:
- Kunde wünscht Angebot (Startphase)
- Angebot gesendet
- Nachverfolgung
- Auftrag gewonnen
- Auftrag verloren
Für die Startphase „Kunde wünscht Angebot“ definieren wir nun die möglichen Übergänge (Transitions) – das sind die Aktionen, die ein Benutzer ausführen kann:
- Kontaktieren erforderlich: Löst den Anrufprozess aus.
- Nicht erreicht 1: Wenn der erste Anrufversuch scheitert.
- Nicht erreicht 2: Wenn der zweite Anrufversuch scheitert.
- Ansprechpartner erreicht: Führt zur nächsten Phase (z.B. „Angebot gesendet“ oder eine Zwischenphase).
- Keine Kapazität: Führt zur Phase „Auftrag verloren“.
- Kunde nicht interessiert: Führt zur Phase „Auftrag verloren“.
- Event abgesagt: Führt zur Phase „Auftrag verloren“.
Verbinde diese Übergänge im Blueprint-Editor entsprechend mit den Phasen.
2. Logik verfeinern: Übergänge sauber steuern
Ein häufiger Fehler ist eine unsaubere Logik bei den Übergängen. Wenn ein Deal verloren ist (z.B. durch Klick auf „Keine Kapazität“), darf der Benutzer nicht gleichzeitig auch auf „Ansprechpartner erreicht“ klicken können. Hier kommen die „Gemeinsamen Übergänge“ (Common Transitions) ins Spiel.
Klicke auf einen Übergang (z.B. „Kontaktieren erforderlich“) und gehe zum Reiter „Nach dem Übergang“. Hier kannst du definieren, welche Übergänge danach verfügbar sein sollen. Wichtig: Entferne hier alle „Verloren“-Übergänge wie „Keine Kapazität“, „Kunde nicht interessiert“ etc. aus den Optionen der „Fortschritts“-Übergänge (wie „Nicht erreicht 1“, „Ansprechpartner erreicht“). Umgekehrt: Nach einem Klick auf einen „Verloren“-Übergang sollten keine weiteren Fortschritts-Übergänge mehr möglich sein.
Tipp: Denke die Logik genau durch: Was darf passieren, nachdem ein bestimmter Button geklickt wurde?
3. Datenqualität sichern: Pflichtfelder im Übergang
Um sicherzustellen, dass bei verlorenen Deals der potenzielle Wert erfasst wird, kannst du Felder direkt im Übergang als Pflichtfeld definieren.
Klicke auf einen „Verloren“-Übergang (z.B. „Keine Kapazität“). Im Reiter „Während des Übergangs“ kannst du:
- Felder hinzufügen: Wähle das Feld „Betrag“ (oder ein benutzerdefiniertes Feld wie „Budget Gesamt“).
- Als erforderlich markieren: Setze den Haken bei „Erforderlich“.
- Nachricht hinzufügen: Gib dem Benutzer einen Hinweis, z.B. „Bitte gib hier den geschätzten Auftragswert ein, auch wenn der Deal verloren ist. Das hilft uns bei der Analyse.“
Jetzt wird der Benutzer beim Klick auf diesen Button aufgefordert, den Wert einzugeben, bevor der Deal als verloren markiert wird.
4. Einfache Task-Erstellung im Blueprint
Nun zur ersten Automatisierung: Beim Klick auf „Kontaktieren erforderlich“ soll eine Aufgabe erstellt werden.
Klicke auf den Übergang „Kontaktieren erforderlich“. Gehe zum Reiter „Nach dem Übergang“ und wähle unter „Aktionen“ -> „Aufgabe hinzufügen“. Konfiguriere die Aufgabe:
- Betreff: „Autotask: Erster Anrufversuch bei ${Deals.Ansprechpartnername}“
- Fälligkeitsdatum: z.B. „Auslösedatum + 1 Tag“
- Zugewiesen zu: ${Deals.Abschlussinhaber}
Wichtig: Füge dem Betreff ein eindeutiges Schlüsselwort hinzu, z.B. „Autotask:“. Warum, sehen wir gleich.
Wiederhole dies für Übergänge wie „Nicht erreicht 1“ (Aufgabe: „Autotask: Zweiter Anrufversuch…“) und „Nicht erreicht 2“ (Aufgabe: „Autotask: Dritter Anrufversuch…“).
5. Das Problem: Offene „Autotasks“
Testest du den Blueprint jetzt, wirst du feststellen: Klickst du auf „Kontaktieren erforderlich“, wird Task 1 erstellt. Klickst du danach auf „Nicht erreicht 1“, wird Task 2 erstellt, aber Task 1 bleibt offen. Das wollen wir ändern.
6. Globale Workflows prüfen und anpassen
Vielleicht hast du einen Workflow, der Aufgaben bei Phasenwechsel löscht oder schließt. Prüfe unter Einstellungen -> Automatisierung -> Workflow-Regeln, ob solche Regeln existieren. Wenn ja, passe die Kriterien so an, dass sie nur bei den finalen Phasen („Auftrag gewonnen“, „Auftrag verloren“) ausgelöst werden, um nicht ungewollt manuelle Aufgaben zu löschen.
Beispiel-Kriterium für einen Workflow zum Schließen aller offenen Aufgaben am Ende: Phase IST Auftrag gewonnen ODER Phase IST Auftrag verloren
.
7. Die Lösung: Selektives Schließen per Deluge
Um nur die automatisch erstellten Aufgaben („Autotasks“) zu schließen, brauchen wir eine benutzerdefinierte Funktion in Deluge, Zohos Skriptsprache.
Gehe zu Einstellungen -> Entwicklerbereich -> Funktionen -> Neue Funktion erstellen.
- Funktionsname: z.B. `closeSpecificOpenDealTask`
- Anzeigename: z.B. „Spezifische offene Deal-Aufgaben schließen“
- Beschreibung: „Schließt offene Aufgaben für einen Deal, deren Betreff ‚Autotask:‘ enthält.“
- Modul: Abschlüsse
- Klicke auf „Argumente bearbeiten“.
- Erstelle ein Argument: Name `dealId`, Typ `Int/BigInt`.
Füge folgenden Deluge-Code ein:
// Funktion zum Schließen spezifischer offener Aufgaben eines Deals
// Argument: dealId (die ID des aktuellen Abschlusses)
void closeSpecificOpenDealTask(bigint dealId)
{
// Definiere das Schlüsselwort, das im Betreff der zu schließenden Aufgaben steht
taskKeyword = "Autotask:";
// Hole alle offenen Aufgaben (Activities vom Typ Task), die mit dem Deal verknüpft sind
// Wichtig: 'Tasks' ist der API-Name für das Aktivitäten-Modul mit Filter auf Aufgaben
openTasks = zoho.crm.getRelatedRecords("Tasks", "Deals", dealId);
// Gehe jede gefundene Aufgabe durch
for each taskRecord in openTasks
{
// Prüfe, ob der Status der Aufgabe 'Nicht gestartet' oder 'In Bearbeitung' ist
// und ob der Betreff das definierte Schlüsselwort enthält
taskSubject = ifnull(taskRecord.get("Subject"),"");
taskStatus = ifnull(taskRecord.get("Status"),"");
if ((taskStatus == "Nicht gestartet" || taskStatus == "In Bearbeitung") && taskSubject.contains(taskKeyword))
{
// Erstelle eine Map mit den Update-Daten (nur der Status muss geändert werden)
updateData = Map();
updateData.put("Status", "Abgeschlossen");
// Hole die ID der Aufgabe
taskId = taskRecord.get("id");
// Aktualisiere den Task-Datensatz in Zoho CRM
updateResp = zoho.crm.updateRecord("Tasks", taskId, updateData);
// Optional: Logge die Antwort des Updates für Debugging-Zwecke
info "Task " + taskId + " updated: " + updateResp;
}
}
}
Speichere die Funktion.
8. Deluge-Funktion in Blueprints integrieren
Jetzt rufen wir diese Funktion im richtigen Moment auf. Gehe zurück zu deinem Blueprint.
Klicke auf den Übergang, nach dem eine vorherige „Autotask“ geschlossen werden soll, z.B. „Nicht erreicht 1“.
Gehe zum Reiter „Nach dem Übergang“. Unter „Aktionen“ siehst du bereits die Aktion „Aufgabe hinzufügen“ (für Task 2).
Füge eine weitere Aktion hinzu: Wähle „Benutzerdefinierte Funktion aufrufen“.
- Wähle die gerade erstellte Funktion `closeSpecificOpenDealTask`.
- Konfiguriere die Argumentzuordnung: Wähle für `dealId` den Wert `#Abschlussdetails.ID`.
Wichtige Reihenfolge: Stelle sicher, dass zuerst die neue Aufgabe erstellt wird (falls zutreffend) und danach die benutzerdefinierte Funktion aufgerufen wird, die die *alten* Aufgaben schließt.
Wiederhole das Hinzufügen der Funktionsaktion für alle Übergänge, die eine vorherige „Autotask“ obsolet machen (z.B. „Nicht erreicht 2“, „Ansprechpartner erreicht“).
9. Testen, Testen, Testen!
Gehe einen Deal durch den gesamten Blueprint-Prozess:
- Erstelle einen Test-Deal in der Phase „Kunde wünscht Angebot“.
- Klicke auf „Kontaktieren erforderlich“. Prüfe, ob Task 1 („Autotask: Erster Anrufversuch…“) erstellt wird.
- Klicke auf „Nicht erreicht 1“. Prüfe, ob Task 2 („Autotask: Zweiter Anrufversuch…“) erstellt wird UND ob Task 1 nach kurzer Zeit automatisch als „Abgeschlossen“ markiert wird.
- Klicke auf „Ansprechpartner erreicht“. Prüfe, ob Task 2 automatisch geschlossen wird.
- Teste auch die „Verloren“-Übergänge und prüfe, ob das Pflichtfeld für den Betrag erscheint.
- Erstelle manuell eine Aufgabe für den Deal und prüfe, ob diese von der Automatisierung unberührt bleibt.
Tipps und Best Practices
- Klare Benennung: Nutze eindeutige Namen für Blueprints, Übergänge und vor allem für das Keyword („Autotask:“) in den Aufgabenbetreffs.
- Benutzerführung: Verwende die „Nachricht während des Übergangs“, um den Benutzern klare Anweisungen zu geben, besonders bei Pflichtfeldern. Halte die Texte kurz und prägnant.
- Keyword-Konsistenz: Achte darauf, dass das Keyword exakt gleich geschrieben ist (Groß-/Kleinschreibung beachten, falls deine Logik das erfordert – der Beispielcode ist case-sensitive bei `contains`).
- Button-Reihenfolge: Beachte, dass die Reihenfolge der Blueprint-Buttons innerhalb einer Phase aktuell nicht frei angepasst werden kann. Strukturiere deine Übergänge logisch, auch wenn die visuelle Anordnung nicht perfekt ist.
- Fehlerbehandlung in Deluge: Für produktive Systeme solltest du in komplexeren Deluge-Funktionen Error-Handling einbauen (z.B. mit `try…catch`), um auf unerwartete API-Antworten oder Datenprobleme reagieren zu können.
- Dokumentation: Dokumentiere deine Blueprints und insbesondere deine Custom Functions. Was machen sie? Warum wurden sie erstellt? Welches Keyword wird verwendet?
- Skalierbarkeit: Überlege bei komplexen Prozessen, ob ein Blueprint noch das richtige Werkzeug ist oder ob eine Kombination mit Zoho Flow oder sogar eine maßgeschneiderte Lösung mit Zoho Creator (die per API mit CRM interagiert) sinnvoller wäre.
Zusätzliche Integrationsmöglichkeiten
Das Zusammenspiel von Zoho-Apps und externen Systemen bietet noch mehr Potenzial:
- Zoho Flow: Nutze Zoho Flow, um Blueprint-Aktionen als Trigger für Workflows über verschiedene Apps hinweg zu verwenden. Beispiel: Wenn ein Deal in die Phase „Auftrag gewonnen“ wechselt (via Blueprint), erstelle automatisch ein Projekt in Zoho Projects oder einen Kunden in Zoho Books.
- Webhooks: Sowohl Workflows als auch Blueprints (über Deluge `invokeurl`) können Webhooks an externe Systeme senden. Informiere z.B. ein Slack-Team über einen wichtigen Deal-Abschluss oder triggere einen Prozess in einem Drittanbieter-Tool.
- Zoho Analytics: Verbinde Zoho CRM mit Zoho Analytics, um detaillierte Berichte über deine Blueprint-Performance zu erstellen. Analysiere Durchlaufzeiten pro Phase, häufigste Verlustgründe (basierend auf den geklickten Übergängen) und die erfassten verlorenen Auftragswerte.
- Externe APIs: Mit Deluge (`invokeurl`) kannst du aus Blueprints oder Funktionen heraus praktisch jede externe API ansprechen. Reichere CRM-Daten mit externen Informationen an (z.B. Bonitätsprüfung über eine API) oder stoße Prozesse in anderen Systemen an.
- Zoho Creator: Wenn die UI-Anpassungen oder die Logik innerhalb von CRM an ihre Grenzen stoßen, kannst du mit Zoho Creator eigene Oberflächen oder ganze Mini-Anwendungen bauen, die über die Zoho CRM API nahtlos Daten austauschen und komplexe, maßgeschneiderte Prozesse abbilden.
Fazit: Mehr Kontrolle und Effizienz durch smarte Kombination
Du siehst: Durch die geschickte Kombination von Zoho CRM Blueprints, präzise konfigurierten Übergängen, Pflichtfeldern und der Power von Deluge Custom Functions kannst du deine Vertriebsprozesse auf ein neues Level heben. Die selektive Automatisierung von Aufgaben spart nicht nur Zeit und reduziert Fehler, sondern sorgt auch für eine höhere Datenqualität und gibt deinem Team klare Handlungsanweisungen.
Der Schlüssel liegt darin, Standardfunktionen wie Blueprints und Workflows clever zu nutzen und sie dort, wo nötig, mit maßgeschneidertem Deluge-Code zu erweitern. Dieser Ansatz ermöglicht eine hohe Flexibilität und stellt sicher, dass deine Zoho-Implementierung genau auf deine spezifischen Geschäftsanforderungen zugeschnitten ist. Trau dich, über den Standard hinauszudenken und die Möglichkeiten des Zoho-Ökosystems voll auszuschöpfen!