Zoho Desk, OpenAI API und Deluge: Workflow-Tutorial für Ticket-Kategorisierung

Smarte Workflows: Wie Du Zoho mit KI, APIs und Custom Solutions auf das nächste Level hebst
Das volle Potenzial von Zoho One oder einzelnen Zoho-Anwendungen entfaltet sich oft erst dann, wenn Du beginnst, über die Standardfunktionen hinauszudenken. Viele Unternehmen nutzen die Apps isoliert voneinander und stoßen schnell an Grenzen. Die wahre Stärke des Zoho-Ökosystems liegt jedoch in seiner tiefen Integration und Erweiterbarkeit. Es geht darum, Daten fließen zu lassen, manuelle Prozesse zu automatisieren und sogar externe Dienste nahtlos einzubinden. In diesem Artikel zeigen wir Dir anhand von konkreten Praxisbeispielen, wie Du mit cleveren Workflows, der Programmiersprache Deluge und externen APIs nicht nur Zeit sparst, sondern auch völlig neue Lösungen für alltägliche Herausforderungen schaffst. Wir tauchen tief in den Tech-Stack ein und zeigen Dir, wie Du die richtigen Werkzeuge für Deine spezifischen Probleme auswählst.
Praxisbeispiel: Die KI-Sackgasse bei der Ticket-Kategorisierung
Stell Dir vor, Du nutzt in Deinem Zoho Desk eine KI-gestützte Logik, um eingehende Support-Tickets automatisch zu kategorisieren. Das kann über Zia, die Zoho-eigene KI, oder über eine externe API wie die von OpenAI geschehen. Der Prozess ist einfach: Die KI analysiert den Inhalt des Tickets und weist eine passende Kategorie zu (z.B. "Technischer Support", "Rechnungsanfrage", "Produktfeedback"). Manchmal ist die KI unsicher und klassifiziert ein Ticket als "Manuelle Prüfung erforderlich". Ein Mitarbeiter Deines Teams schaut sich das Ticket an und weist manuell die korrekte Kategorie zu. Doch was passiert, wenn Du Deinen KI-Prompt verbessern und testen möchtest, ob die KI es beim zweiten Versuch richtig macht? Du stellst fest: Einmal manuell gesetzt, lässt sich die Kategorie nicht mehr auf einen "leeren" Zustand zurücksetzen, um den KI-Prozess erneut anzustoßen. Das Testen und Optimieren Deiner Automatisierung wird dadurch blockiert.
Schritt-für-Schritt-Anleitung: Der "Retry"-Workflow in Zoho Desk
Dieses Problem lässt sich mit einer cleveren Kombination aus einer kleinen Anpassung im User Interface und einer automatisierten Workflow-Regel elegant lösen. Wir schaffen eine dedizierte Option, um die KI-Klassifizierung gezielt neu auszulösen.
Schritt 1: Das Auswahlfeld erweitern
Navigiere in Deinem Zoho Desk zu Einstellungen > Anpassung > Layouts und Felder. Wähle das entsprechende Layout und das Picklistenfeld für die Ticket-Kategorien aus. Füge hier einfach einen neuen Wert hinzu. Ein aussagekräftiger Name dafür ist "Retry". Dieser Wert dient uns als Signal für den nachfolgenden Automatisierungsprozess.
Schritt 2: Eine Workflow-Regel erstellen
Gehe nun zu Einstellungen > Automatisierung > Workflow-Regeln und erstelle eine neue Regel für das Ticket-Modul. Konfiguriere sie wie folgt:
- Wann ausführen: Bei einer Feldaktualisierung.
- Bedingung: "Kategorie" ist "Retry".
- Aktion: Wähle "Benutzerdefinierte Funktionen" aus. Hier liegt das Herzstück unserer Lösung.
Diese Regel sorgt dafür, dass immer dann, wenn ein Mitarbeiter ein Ticket auf die Kategorie "Retry" setzt, unser eigenes Skript ausgeführt wird.
Schritt 3: Die Logik in einer Custom Function (Deluge) implementieren
Die Workflow-Regel löst nun eine benutzerdefinierte Funktion aus, die in Deluge, der Scripting-Sprache von Zoho, geschrieben wird. Diese Funktion führt die eigentliche Arbeit aus: Sie ruft die KI erneut auf und aktualisiert das Ticket.
Hier ist ein Beispiel, wie so ein Deluge-Skript aussehen könnte, wenn Du die OpenAI API für die Kategorisierung nutzt:
// Funktion, die vom Zoho Desk Workflow aufgerufen wird// ticketId wird automatisch vom Workflow übergebenvoid reclassifyTicketWithAI(int ticketId){// 1. Ticket-Informationen abrufenticketDetails = zoho.desk.getById(ticketId, "tickets");ticketSubject = ticketDetails.get("subject");ticketDescription = ticketDetails.get("description");// 2. OpenAI API-Schlüssel sicher aus Zoho Vault holen// Ersetze 'YOUR_CONNECTION_NAME' durch den Namen Deiner Verbindung zu Zoho VaultapiKey = invokeurl[url :"https://vault.zoho.com/api/v1/secrets/..." // Dein Vault API-Endpunkttype :GETconnection:"YOUR_CONNECTION_NAME"];// 3. Den Prompt für die KI erstellen// Wichtig: Wir geben der KI eine klare Anweisung und die möglichen Kategorien vor.// Die Kategorie "Retry" wird hier bewusst weggelassen.prompt = "Kategorisiere das folgende Support-Ticket. Antworte nur mit einer der folgenden Kategorien: Technischer Support, Rechnungsanfrage, Produktfeedback, Sonstiges. Ticket-Betreff: " + ticketSubject + ". Ticket-Beschreibung: " + ticketDescription;// 4. API-Aufruf an OpenAI (oder eine andere KI)apiEndpoint = "https://api.openai.com/v1/chat/completions";headers = Map();headers.put("Authorization", "Bearer " + apiKey.get("response"));headers.put("Content-Type", "application/json");body = Map();messages = list();messages.add({"role":"system", "content":"Du bist ein hilfreicher Assistent zur Ticket-Kategorisierung."});messages.add({"role":"user", "content":prompt});body.put("model", "gpt-3.5-turbo");body.put("messages", messages);// API-Aufruf durchführenapiResponse = invokeurl[url :apiEndpointtype :POSTheaders:headersparameters:body.toString()];// 5. Antwort der KI verarbeiten und Ticket aktualisierenif(apiResponse.get("responseCode") == 200){responseJson = apiResponse.get("response").toJSON();newCategory = responseJson.get("choices").get(0).get("message").get("content");// Ticket in Zoho Desk aktualisierenupdateFields = Map();updateFields.put("Kategorie", newCategory); // Ersetze "Kategorie" durch den API-Namen Deines FeldesupdateResponse = zoho.desk.update(ticketId, "tickets", updateFields);info "Ticket " + ticketId + " wurde erfolgreich zu '" + newCategory + "' reklassifiziert.";}else{info "Fehler bei der API-Anfrage: " + apiResponse;}}
Tipps und Best Practices für KI-Workflows
- Sicherheit zuerst: Speichere Deine API-Schlüssel niemals direkt im Code. Nutze Zoho Vault, um sensible Daten sicher zu verwalten und über eine Verbindung in Deinen Skripten abzurufen.
- Logging ist Dein Freund: Nutze den
info-Befehl in Deluge, um wichtige Informationen und API-Antworten zu protokollieren. Das hilft Dir enorm bei der Fehlersuche. - Kosten im Blick behalten: Externe API-Aufrufe, insbesondere zu KI-Diensten, verursachen Kosten. Überwache Deine Nutzung, um unerwartete Rechnungen zu vermeiden.
Erweiterte Integrationen: Wenn der Standard nicht ausreicht
Manchmal sind die Herausforderungen struktureller Natur und erfordern einen tieferen Eingriff in die Systemarchitektur. Hier zwei typische Beispiele, die über einen einfachen Workflow hinausgehen.
Herausforderung 1: Die N:M-Beziehung im CRM (Kontakt zu mehreren Firmen)
Ein klassisches Problem in vielen CRMs, auch im Zoho CRM: Ein Kontakt (z.B. eine externe Buchhalterin) arbeitet für mehrere Firmen (z.B. eine Holding mit fünf Tochter-GmbHs). Standardmäßig kann ein Kontakt aber nur einer Firma (Account) zugeordnet werden. Das ist eine 1:N-Beziehung.
Die Lösung mit Custom Modules: Um eine N:M-Beziehung abzubilden, kannst Du ein sogenanntes "Junction Module" in Zoho Creator oder als benutzerdefiniertes Modul direkt im CRM erstellen. Nennen wir es "Zugehörigkeiten". Dieses Modul hätte nur drei wesentliche Felder:
- Ein Lookup-Feld zum Modul "Kontakte".
- Ein Lookup-Feld zum Modul "Firmen".
- Ein Feld, das die Rolle beschreibt (z.B. "Buchhaltung").
So kannst Du für die Buchhalterin fünf Einträge im Modul "Zugehörigkeiten" erstellen, die sie jeweils mit einer der fünf GmbHs verknüpfen. Aber Vorsicht: Dieser Ansatz erhöht die Komplexität. Berichte werden aufwändiger und die Benutzer müssen lernen, mit dem neuen Modul umzugehen. Wäge genau ab, ob der Nutzen diesen Aufwand rechtfertigt.
Herausforderung 2: Das persönliche Aufgaben-Dashboard
Ein weiteres bekanntes Szenario: Deine Aufgaben sind über verschiedene Projekte in Zoho Projects verteilt. Du wünschst Dir jedoch eine zentrale, persönliche Kanban-Ansicht, ähnlich wie man sie aus Tools wie dem Microsoft Teams Planner kennt, um den Überblick zu behalten.
Die API-gestützte Eigenentwicklung: Anstatt auf ein neues Feature zu warten, kannst Du Dir mit den Zoho-APIs eine eigene Lösung bauen. Der Tech-Stack dafür könnte so aussehen:
- Datenquelle: Die Zoho Projects REST API. Mit ihr kannst Du alle Dir zugewiesenen Aufgaben über alle Projekte hinweg abfragen.
- Backend/Logik: Eine serverseitige Funktion in Zoho Catalyst, der Serverless-Plattform von Zoho. Diese Funktion ruft regelmäßig die API auf, verarbeitet die Daten und stellt sie bereit.
- Frontend: Eine simple Webseite, die Du mit Zoho Sites erstellst, oder eine kleine App, die mit Zoho Creator gebaut wird. Diese Oberfläche visualisiert die Daten als Kanban-Board. Per Drag-and-Drop könntest Du den Status ändern.
- Synchronisation: Wenn Du eine Aufgabe im Kanban-Board verschiebst, löst dies im Hintergrund einen weiteren API-Aufruf aus, der den Status der Aufgabe direkt in Zoho Projects aktualisiert. So bleibt das zentrale System immer die "Single Source of Truth".
Ein Deluge-Snippet, um Aufgaben aus einem Projekt abzurufen, ist erstaunlich einfach:
// Beispiel zum Abrufen von Aufgaben aus einem spezifischen Projekt in Zoho ProjectsportalName = "dein-portal-name";projectId = "123456789012345";connectionName = "zohoprojects_connection"; // Name Deiner API-Verbindung// API-Aufruf über die Deluge-IntegrationtaskList = zoho.projects.getRecords(portalName, "tasks", projectId, connectionName);// Die Liste der Aufgaben kann nun weiterverarbeitet werdenfor each task in taskList.get("tasks"){info task.get("name") + " - Status: " + task.get("status").get("name");}
Diese Art der Personalisierung zeigt, wie Du die Zoho-Plattform an Deine individuellen Arbeitsweisen anpassen kannst, ohne die Datenintegrität zu gefährden.
Die strategische Perspektive: Alles fließt in Zoho Analytics zusammen
Der eigentliche Wert dieser Integrationen entsteht, wenn Du die gesammelten Daten zentral auswertest. Anstatt separate Berichte in Zoho Desk, Zoho CRM und Zoho Projects zu erstellen, solltest Du alles in Zoho Analytics zusammenführen. Dort kannst Du die Daten aus allen Quellen miteinander verknüpfen. Plötzlich siehst Du, welche Kundensegmente die meisten Support-Tickets verursachen oder wie sich die Bearbeitungszeit von Projektaufgaben auf die Kundenzufriedenheit auswirkt. Für die Aufbereitung komplexer Daten vor der Analyse ist Zoho DataPrep ein extrem mächtiges Werkzeug. Das Ziel ist eine 360-Grad-Sicht auf Dein Unternehmen, die Dir fundierte strategische Entscheidungen ermöglicht.
Fazit: Mehr als nur Apps – eine Plattform für Lösungen
Die gezeigten Beispiele machen deutlich: Zoho ist weit mehr als eine Sammlung einzelner Software-Tools. Es ist eine flexible und erweiterbare Plattform, die Dich ermutigt, kreative Lösungen für Deine spezifischen Geschäftsanforderungen zu entwickeln. Der Schlüssel liegt darin, die Verbindungen zu sehen – zwischen den Apps, über die Deluge-Skriptsprache und hinaus zu externen Diensten über APIs. Indem Du lernst, diese Werkzeuge geschickt zu kombinieren, automatisierst Du nicht nur Deine Prozesse, sondern schaffst echten Mehrwert und einen nachhaltigen Wettbewerbsvorteil.
In diesem Artikel verwendete Zoho Apps:
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.