{
  "slug": "ticket-route",
  "category": "workflow",
  "name": "The Ticket Router",
  "domaene": "Kundensupport & Service",
  "typTags": [
    "automatisierend",
    "strukturierend"
  ],
  "teaser": "A workflow that automatically sorts incoming support tickets by category and urgency, assigns them to the right team, and prepares a personalized first reply.",
  "hat": {
    "schritte": true,
    "beispiel_szenario": false,
    "ausgabebeispiel": false,
    "konfiguration": false,
    "betrieb": true,
    "arbeitsprompts": true,
    "einrichtung": true,
    "umsetzung": false,
    "export": true,
    "staerken": false,
    "ki_funktionen": false,
    "einschraenkungen": false,
    "weniger_geeignet_fuer": false
  },
  "sections": [
    {
      "id": "description",
      "title": "Description",
      "html": "<p>New support tickets usually land in a shared queue first, before someone reads, sorts, and forwards them to the right team. At higher ticket volumes, this sorting step alone costs time that is then missing elsewhere for the actual resolution work, and urgent cases can get lost among less urgent ones.</p>\n<p>The Ticket Router takes over this first step. A language model reads the subject line, message, and customer details of a new ticket and assigns it to exactly one category, for example bug, feature request, question, complaint, technical issue, or billing. In parallel, it sets a priority level and determines the responsible team according to fixed rules. The ticket is then updated in the system with category, priority, team, and tags, and automatically routed to the correct queue. Optionally, the workflow also generates a personalized first reply with the ticket ID and a realistic response time as a draft.</p>\n<p>The human stays in the loop at the decisive point: the automatically generated first reply goes into the system as a draft, not directly to the customer. For critical tickets and complaints, a review should always precede dispatch; for clear low-risk cases, dispatch can run automatically after a test phase. The workflow sorts and prepares, the substantive resolution stays with the responsible team.</p>\n<ul>\n<li><strong>Faster response time:</strong> Tickets are categorized and assigned within seconds, instead of waiting in a shared queue for the next review.</li>\n<li><strong>Reliable routing:</strong> Bug, billing, and complaint tickets automatically land in the right queue.</li>\n<li><strong>Consistent communication:</strong> Every first reply states a realistic turnaround time and addresses the requester personally.</li>\n<li><strong>Protected escalation:</strong> Critical tickets are flagged by priority and do not get lost in the general queue.</li>\n</ul>\n"
    },
    {
      "id": "builder-prompt",
      "title": "Builder Prompt",
      "html": "<p>Copy the prompt below in full into your automation tool or agent builder. As a file: <a href=\"/ai-library/ticket-route.en.json\">ticket-route.en.json</a></p>\n"
    }
  ],
  "schritte": [
    {
      "nr": 1,
      "titel": "Trigger: new ticket",
      "beschreibung": "A new support ticket with subject line, message, and customer context comes in and starts the process.",
      "rolle": "mensch"
    },
    {
      "nr": 2,
      "titel": "Classification",
      "beschreibung": "A language model assigns the ticket to a category, sets the priority, and determines the responsible team, each with a short rationale, as structured output.",
      "rolle": "automatisch"
    },
    {
      "nr": 3,
      "titel": "Routing rule",
      "beschreibung": "Based on a fixed mapping from category to team, the ticket is assigned to the matching queue.",
      "rolle": "automatisch"
    },
    {
      "nr": 4,
      "titel": "Update ticket",
      "beschreibung": "Category, priority, team, and tags are set in the ticket system.",
      "rolle": "automatisch"
    },
    {
      "nr": 5,
      "titel": "First reply",
      "beschreibung": "A language model creates a personalized first reply with the ticket ID and a response time based on the assigned priority. For clear low-risk cases, dispatch can run automatically; for critical tickets and complaints, the reply is first held as a draft for review.",
      "rolle": "ergebnis"
    }
  ],
  "herausgeber": "Voyage Digital",
  "version": "2.0",
  "stand": "2026-07-26",
  "nutzen": [
    {
      "titel": "Faster response time",
      "text": "Tickets are categorized and assigned within seconds, instead of waiting in a shared queue for the next review."
    },
    {
      "titel": "Reliable routing",
      "text": "Bug, billing, and complaint tickets automatically land in the right queue."
    },
    {
      "titel": "Consistent communication",
      "text": "Every first reply states a realistic turnaround time and addresses the requester personally."
    },
    {
      "titel": "Protected escalation",
      "text": "Critical tickets are flagged by priority and do not get lost in the general queue."
    }
  ],
  "voraussetzungen": [
    {
      "label": "Ticket system",
      "text": "Zendesk, Freshdesk, or a comparable system that reads tickets and accepts updates.",
      "icon": "support_agent"
    },
    {
      "label": "Team/queue mapping",
      "text": "A fixed rule from category to team, for example bug to Development or billing to Finance.",
      "icon": "alt_route"
    },
    {
      "label": "Email tool (optional)",
      "text": "Gmail, Outlook, or a comparable tool for sending the first reply.",
      "icon": "mail"
    },
    {
      "label": "LLM access",
      "text": "API access to a language model, for example from OpenAI, Anthropic, or Google.",
      "icon": "key"
    }
  ],
  "betrieb": {
    "testing": [
      {
        "label": "Test ticket",
        "text": "Set up a realistic case, for example \"Login isn't working.\"",
        "icon": "confirmation_number"
      },
      {
        "label": "Category and priority",
        "text": "Check whether the classification matches the actual urgency.",
        "icon": "category"
      },
      {
        "label": "Routing and update",
        "text": "Check whether the correct team or queue, as well as fields and tags, are set.",
        "icon": "call_split"
      },
      {
        "label": "Edge cases",
        "text": "Test vague tickets, tickets with multiple issues, multilingual tickets, and empty tickets.",
        "icon": "rule"
      }
    ],
    "goLive": [
      {
        "label": "Approval to start",
        "text": "Activate the workflow only once classification, routing, and ticket updates are reliably correct.",
        "icon": "check_circle"
      },
      {
        "label": "Start narrow",
        "text": "Begin with a few categories and let first replies be sent automatically only for clear low-risk cases at first.",
        "icon": "playlist_add_check"
      },
      {
        "label": "Review rules",
        "text": "Set a review rule before dispatch for Critical and complaint tickets.",
        "icon": "shield"
      },
      {
        "label": "Expand",
        "text": "Extend the workflow later with sentiment escalation, VIP detection, SLA tracking, and duplicate merging.",
        "icon": "rocket_launch"
      }
    ],
    "haeufigeFehler": [
      {
        "label": "Incorrect priority on vague tickets",
        "text": "Add examples for each priority level to the prompt.",
        "icon": "priority_high"
      },
      {
        "label": "First reply too generic",
        "text": "Make personal address and the ticket ID mandatory fields.",
        "icon": "edit_note"
      },
      {
        "label": "JSON parsing fails",
        "text": "Make the \"JSON only\" instruction explicit and validate the output.",
        "icon": "data_object"
      },
      {
        "label": "Team names do not match",
        "text": "Match the identifiers exactly against the support tool.",
        "icon": "label"
      }
    ]
  },
  "arbeitsprompts": [
    {
      "titel": "Categorization and Prioritization",
      "beschreibung": "Assigns an incoming ticket to a category, sets the priority, and determines the responsible team.",
      "prompt": "You are a support ticket analysis assistant. Analyze the following support ticket and categorize it precisely.\n\n**Ticket details:**\n- Subject: [TICKET_SUBJECT]\n- Message: [TICKET_MESSAGE]\n- Customer: [CUSTOMER_NAME]\n\n**Your task:**\n1. Assign the ticket to EXACTLY ONE of these categories:\n   - Bug (technical error in the software)\n   - Feature Request (request for a new function)\n   - Question (general inquiry or how-to)\n   - Complaint (dissatisfaction with service or product)\n   - Technical Issue (access or configuration problem)\n   - Billing (questions about invoices, payment, subscription)\n\n2. Set the priority:\n   - Critical: system down, no usage possible, data loss\n   - High: important function impaired, multiple users affected\n   - Medium: single issue, workaround possible\n   - Low: cosmetic issue, feature request, general question\n\n3. Determine the responsible team:\n   - Development: bugs, technical issues, feature requests\n   - Customer Success: questions, onboarding, best practices\n   - Sales: upgrade requests, product information\n   - Finance: billing, invoices, payment issues\n   - Management: complaints, escalations\n\n**Respond exclusively in this JSON format:**\n{\n  \"category\": \"[Category]\",\n  \"priority\": \"[Priority]\",\n  \"team\": \"[Team]\",\n  \"reasoning\": \"[Brief reasoning in 1-2 sentences]\"\n}"
    },
    {
      "titel": "First Reply",
      "beschreibung": "Creates a personalized first reply with a realistic turnaround time from category, priority, and ticket details.",
      "prompt": "Create a professional, friendly first reply for a support ticket.\n\n**Context:**\n- Customer name: [CUSTOMER_NAME]\n- Ticket ID: [TICKET_ID]\n- Category: [CATEGORY]\n- Priority: [PRIORITY]\n- Responsible team: [TEAM]\n\n**Requirements:**\n- Personal address by name\n- Confirmation of ticket receipt\n- Brief summary that we have understood the request\n- Realistic turnaround time based on priority:\n  * Critical: within 2 hours\n  * High: within 4 hours\n  * Medium: within 24 hours\n  * Low: within 48 hours\n- Friendly, helpful tone\n- Signature with \"[SUPPORT_TEAM_NAME]\"\n\n**Respond ONLY with the email body, no subject line.**"
    }
  ],
  "prompt": "GOAL\nBuild a workflow that automatically classifies every newly incoming support ticket (category and priority), assigns it to the responsible team, updates the ticket system, and prepares a personalized first reply, with dispatch protection for critical cases.\n\nAdapt the structure to the concepts of your automation tool (for example nodes, steps, zaps, or agent actions). While doing so, preserve the trigger logic, the sequence, the dispatch branch, and the data flow.\n\nTRIGGER\nType: webhook or native integration with your ticket system (Zendesk, Freshdesk, or comparable) that fires on every new ticket and supplies subject line, message, and customer context.\n\nSTEPS\n1. AI step: classification. Use exactly the Categorization and Prioritization working prompt (see the Working Prompts section). Output exclusively as JSON with the fields category, priority, team, and reasoning.\n2. Routing: assign the ticket to the matching queue or team based on the category to team mapping. Team names must exactly match the identifiers in the ticket system.\n3. Update ticket: set category, priority, team, and tags in the ticket system.\n4. AI step: first reply. Use exactly the First Reply working prompt (see the Working Prompts section).\n5. Dispatch branch: for low-risk cases (for example category Question with priority Low or Medium), send the first reply automatically. For Critical, High, or complaint, save the first reply only as a draft and request approval before it is sent.\n\nPROMPTS\nTake over both working prompts from the section of the same name unchanged. Do not alter the placeholders they contain, and map them as described in the data flow.\n\nDATA FLOW\nTrigger to step 1: ticket subject, ticket message, customer name.\nStep 1 to steps 2 and 3: category, priority, team, reasoning as JSON.\nTrigger and step 1 to step 4: customer name, ticket ID, category, priority, team.\nStep 1 to step 5: category and priority drive the dispatch branch.\n\nERROR HANDLING\nNo valid JSON from step 1: keep the \"JSON only\" instruction, validate the output, and retry once. Then place the ticket unclassified in a triage queue.\nIncorrect priority on vague tickets: add examples for each priority level to the prompt. When in doubt, choose the higher priority, the approval step will catch it.\nTeam names do not match: match the exact queue or team identifiers from the ticket system, otherwise routing fails.\nCustomer name not extractable: use a neutral greeting as a fallback instead of an incorrect name.\nTicket covering multiple issues: classify by the most urgent concern and note the rest in the reasoning.\nCritical or complaint should not be sent automatically: enforce the dispatch branch from step 5 consistently. These cases always go through approval.\n\nPLACEHOLDER CONVENTION\nAll placeholders in square brackets inside the two working prompts are mapped dynamically: [TICKET_SUBJECT], [TICKET_MESSAGE], [CUSTOMER_NAME], and [TICKET_ID] from the trigger, as well as [CATEGORY], [PRIORITY], and [TEAM] from the JSON of step 1. [SUPPORT_TEAM_NAME] is not dynamic: set this value before activation, along with the category to team mapping as workflow configuration. List all placeholders that require manual configuration separately at the end.\n\nSELF CHECK BEFORE COMPLETION\nCheck, before you report the workflow as finished:\n1. Are all steps connected correctly, including the dispatch branch (low-risk automatic, Critical/High/complaint only as a draft with approval)?\n2. Are both working prompts inserted in full and unchanged, and are all placeholders mapped?\n3. Is the JSON validated, and do the team names exactly match the queues in the ticket system?\n4. Are all points listed that require manual configuration: ticket system access with write permissions, the category to team mapping, the low-risk rule, [SUPPORT_TEAM_NAME], and LLM access?",
  "einrichtung": {
    "intro": "Two routes lead to the same result. Pick the one that fits your setup.",
    "varianten": [
      {
        "variante": "Builder-Prompt",
        "einleitung": "Suitable when you want to build the workflow in your own automation tool.",
        "schritte": [
          "Open your workflow tool, for example n8n, Make, Zapier or Langdock.",
          "Create a new workflow and give it a name.",
          "Choose the AI-assisted build option if your tool offers one.",
          "Paste the builder prompt from above in full.",
          "Check the result against the step sequence in this document, then add your access credentials and channels."
        ]
      },
      {
        "variante": "JSON-Import",
        "einleitung": "Suitable when you want to take the workflow over unchanged.",
        "schritte": [
          "Download the JSON file from the JSON export section.",
          "Open the workflow area of your tool and create a new workflow.",
          "Give it a name and confirm.",
          "Open the menu on the workflow name and choose to import a JSON file.",
          "Upload the file, then add your own access credentials.",
          "Run a test before you activate the workflow."
        ]
      }
    ]
  },
  "exportMeta": {
    "datei": "w25_ticket-route__workflow.json",
    "format": "voyage-workflow/1"
  },
  "download": {
    "schema": "voyage-workflow/1",
    "name": "Die Ticket-Route",
    "beschreibung": "Klassifiziert ein neu eingehendes Support-Ticket automatisch nach Kategorie und Priorität, weist es dem zuständigen Team zu, aktualisiert das Ticket-System und bereitet eine personalisierte Erstantwort vor, mit Freigabe-Schutz für kritische Fälle.",
    "trigger": {
      "typ": "Webhook",
      "bedingung": "Ein Webhook nimmt bei jedem neuen Support-Ticket im angebundenen Ticket-System (Zendesk, Freshdesk oder vergleichbar) den Payload entgegen. Er enthält mindestens die Felder ticket_id, subject, message, customer_name und customer_email."
    },
    "schritte": [
      {
        "nr": 1,
        "titel": "Trigger: neues Ticket",
        "rolle": "mensch",
        "aktion": "Ein Webhook-Knoten empfängt das neue Ticket direkt aus dem Support-System. Der Payload liefert ticket_id, subject, message, customer_name und customer_email. Schlägt dieser Knoten fehl, stoppt der gesamte Ablauf, eine Wiederholung ist im Referenz-Export nicht vorgesehen.",
        "prompt_ref": null,
        "eingang": [],
        "ausgang": [
          "Webhook-Payload: ticket_id, subject, message, customer_name, customer_email"
        ]
      },
      {
        "nr": 2,
        "titel": "Klassifikation",
        "rolle": "automatisch",
        "aktion": "Ein KI-Knoten im Erstellungsmodus mit strukturierter Ausgabe liest subject, message und customer_name und liefert fünf Pflichtfelder zurück: category, priority und assigned_team als Auswahlfelder, dazu estimated_response_time und analysis_summary als Freitext. Die voraussichtliche Bearbeitungszeit wird also bereits in diesem Schritt festgelegt, nicht erst bei der Erstantwort. Schlägt dieser Knoten fehl, stoppt der Ablauf.",
        "prompt_ref": "arbeitsschritt-1",
        "eingang": [
          "Webhook-Payload: subject, message, customer_name"
        ],
        "ausgang": [
          "Strukturierte Ausgabe: category, priority, assigned_team, estimated_response_time, analysis_summary"
        ]
      },
      {
        "nr": 3,
        "titel": "Routing-Regel",
        "rolle": "automatisch",
        "aktion": "Im Referenz-Export gibt es dafür keinen eigenen Knoten. Das Feld assigned_team wird zusammen mit category und priority in ein Tag-Array geschrieben, klein geschrieben und mit Unterstrichen statt Leerzeichen, und im folgenden Update-Knoten gesetzt. Eine echte Zuweisung an eine Warteschlange oder einen Assignee findet in diesem Export nicht statt, das wäre bei Bedarf ein eigenes Aktionsfeld im Ticket-System.",
        "prompt_ref": null,
        "eingang": [
          "Strukturierte Ausgabe: category, priority, assigned_team"
        ],
        "ausgang": [
          "Tag-Array mit Kategorie, Priorität, Team"
        ]
      },
      {
        "nr": 4,
        "titel": "Ticket aktualisieren",
        "rolle": "automatisch",
        "aktion": "Ein Aktions-Knoten schreibt sieben Felder in das Ticket-System: tags (das Array aus Schritt 3), type (aus category abgeleitet: Bug und Technisches Problem werden zu incident, Feature Request zu task, alles andere zu question), status (fest auf open), comment (interne Notiz mit der vollständigen analysis_summary, über isPublic als nicht öffentlich markiert), priority (die deutsche Priorität konvertiert in das Zendesk-Format: Niedrig zu low, Mittel zu normal, Hoch zu high, Kritisch zu urgent) und ticketId (aus dem Rohpayload des Triggers extrahiert, nicht aus der Klassifikation). Schlägt dieser Knoten fehl, stoppt der Ablauf.",
        "prompt_ref": null,
        "eingang": [
          "Tag-Array, category, priority, analysis_summary, ticket_id"
        ],
        "ausgang": [
          "Aktualisiertes Ticket: tags, type, status, comment, priority, ticketId"
        ]
      },
      {
        "nr": 5,
        "titel": "Erstantwort",
        "rolle": "ergebnis",
        "aktion": "Ein KI-Knoten erzeugt drei Felder für die Kundenmail: mailBody als HTML-Text (mit b, i, br, ul, li) auf Basis von ticket_id, category, priority, assigned_team und estimated_response_time, dazu mailSubject aus den Ticket-Daten und mailRecipient, extrahiert aus customer_email im Webhook-Payload. Im Referenz-Export folgt dieser Knoten unmittelbar auf das Ticket-Update, ohne eigenen Verzweigungsknoten für Low-Risk- gegenüber Kritisch-Fällen. Die im Builder-Prompt beschriebene Freigabe vor dem Versand bei Kritisch, Hoch oder Beschwerde ist beim Nachbau selbst zu ergänzen, sie ist im vorliegenden Export nicht als Bedingung angelegt. Schlägt dieser Knoten fehl, stoppt der Ablauf.",
        "prompt_ref": "arbeitsschritt-2",
        "eingang": [
          "ticket_id, customer_email, category, priority, assigned_team, estimated_response_time"
        ],
        "ausgang": [
          "Kundenmail: mailBody, mailSubject, mailRecipient (im Referenz-Export direkt versendet)"
        ]
      }
    ],
    "prompts": {
      "arbeitsschritt-1": {
        "titel": "Kategorisierung und Priorisierung",
        "text": "Analysieren Sie das Support-Ticket (Betreff, Nachricht, Kundenname). Ordnen Sie es GENAU EINER Kategorie zu (Bug, Feature Request, Frage, Beschwerde, Technisches Problem, Abrechnung), legen Sie die Priorität fest (Kritisch, Hoch, Mittel, Niedrig) und bestimmen Sie das zuständige Team (Development, Customer Success, Sales, Finance, Management) nach der hinterlegten Zuordnung. Antworten Sie als JSON mit kategorie, prioritaet, team und begruendung."
      },
      "arbeitsschritt-2": {
        "titel": "Erstantwort",
        "text": "Erstellen Sie aus Kundenname, Ticket-ID, Kategorie, Priorität und Team eine persönliche, freundliche Erstantwort. Bestätigen Sie den Ticket-Eingang, fassen Sie das Anliegen kurz zusammen und nennen Sie eine realistische Bearbeitungszeit nach Priorität (Kritisch 2 Stunden, Hoch 4 Stunden, Mittel 24 Stunden, Niedrig 48 Stunden). Nur der E-Mail-Text ohne Betreff, mit Unterschrift des Support-Teams."
      }
    },
    "datenfluss": [
      {
        "von": 1,
        "nach": 2,
        "nutzlast": "Webhook-Payload subject, message, customer_name als Grundlage der Klassifikation"
      },
      {
        "von": 2,
        "nach": 3,
        "nutzlast": "category, priority, assigned_team aus der strukturierten Klassifikation"
      },
      {
        "von": 3,
        "nach": 4,
        "nutzlast": "Tag-Array fließt als tags-Feld in denselben Zendesk-Update-Knoten, technisch ein einziger Schritt"
      },
      {
        "von": 1,
        "nach": 4,
        "nutzlast": "ticket_id aus dem Rohpayload, direkt referenziert, nicht über Schritt 2 oder 3"
      },
      {
        "von": 2,
        "nach": 4,
        "nutzlast": "analysis_summary als interne Notiz, category und priority für die type- und priority-Konvertierung"
      },
      {
        "von": 4,
        "nach": 5,
        "nutzlast": "Ausführungsreihenfolge: die Erstantwort läuft erst nach dem erfolgreichen Ticket-Update, inhaltlich greift sie aber direkt auf Schritt 1 und Schritt 2 zurück, nicht auf eine Ausgabe von Schritt 4"
      },
      {
        "von": 1,
        "nach": 5,
        "nutzlast": "customer_email aus dem Rohpayload für mailRecipient"
      },
      {
        "von": 2,
        "nach": 5,
        "nutzlast": "category, priority, assigned_team, estimated_response_time für mailBody und mailSubject"
      }
    ],
    "voraussetzungen": [
      "Ticket-System mit API-Zugang zum Lesen von Tickets und Schreiben von Updates (Zendesk, Freshdesk oder vergleichbar)",
      "Feste Zuordnung von Kategorie zu Team beziehungsweise Queue",
      "E-Mail-Tool für den Versand der Erstantwort, sofern automatisch versendet wird (Gmail, Outlook oder vergleichbar)",
      "LLM-Zugang per API-Key (OpenAI, Anthropic oder Google)"
    ],
    "fehlerbehandlung": [
      {
        "fall": "Ein Knoten schlägt fehl (Klassifikation, Ticket-Update oder Mailversand)",
        "massnahme": "Alle vier Knoten sind im Referenz-Export auf harten Stopp bei Fehler gesetzt, es gibt keine eingebaute Wiederholung. Eine Retry-Logik, etwa für ungültiges JSON, muss beim Nachbau selbst ergänzt werden."
      },
      {
        "fall": "Kein valides JSON aus der Klassifikation",
        "massnahme": "Anweisung „Nur JSON\" beibehalten, Ausgabe validieren, einmal wiederholen. Danach das Ticket unklassifiziert in eine Triage-Queue legen."
      },
      {
        "fall": "Falsche Priorität bei vagen Tickets",
        "massnahme": "Beispiele je Prioritätsstufe im Prompt ergänzen. Im Zweifel die höhere Priorität wählen, die Freigabe fängt es ab."
      },
      {
        "fall": "Erstantwort zu generisch",
        "massnahme": "Persönliche Ansprache und Ticket-ID zur Pflichtangabe machen."
      },
      {
        "fall": "Team-Namen passen nicht zu den Bezeichnern im Ticket-System",
        "massnahme": "Exakte Queue- beziehungsweise Team-Bezeichner aus dem Support-Tool abgleichen, sonst schlagen Routing und Tagging fehl."
      },
      {
        "fall": "Kundenname nicht extrahierbar",
        "massnahme": "Neutrale Anrede als Fallback verwenden statt eines falschen Namens."
      },
      {
        "fall": "Ticket mit mehreren Themen",
        "massnahme": "Nach dem dringendsten Anliegen klassifizieren und den Rest in analysis_summary vermerken."
      },
      {
        "fall": "Kritisch oder Beschwerde soll nicht automatisch versendet werden",
        "massnahme": "Eine Freigabe vor dem Versand als eigenen Verzweigungsknoten ergänzen. Der Referenz-Export sendet sonst unmittelbar nach dem Ticket-Update, ohne Prüfung."
      }
    ],
    "platzhalter": [
      {
        "name": "TICKET_BETREFF",
        "quelle": "Feld subject aus dem Webhook-Payload des Trigger-Knotens"
      },
      {
        "name": "TICKET_NACHRICHT",
        "quelle": "Feld message aus dem Webhook-Payload"
      },
      {
        "name": "KUNDENNAME",
        "quelle": "Feld customer_name aus dem Webhook-Payload"
      },
      {
        "name": "TICKET_ID",
        "quelle": "Feld ticket_id aus dem Webhook-Payload, im Update-Knoten als ticketId weitergereicht"
      },
      {
        "name": "KATEGORIE",
        "quelle": "Feld category aus der strukturierten Ausgabe des Klassifikations-Knotens"
      },
      {
        "name": "PRIORITAET",
        "quelle": "Feld priority aus der strukturierten Ausgabe, im Update-Knoten in das Zendesk-Format low, normal, high oder urgent konvertiert"
      },
      {
        "name": "TEAM",
        "quelle": "Feld assigned_team aus der strukturierten Ausgabe, wird als Tag gesetzt, nicht als eigenes Zuweisungsfeld"
      },
      {
        "name": "ERWARTETE_BEARBEITUNGSZEIT",
        "quelle": "Feld estimated_response_time aus der strukturierten Ausgabe des Klassifikations-Knotens, nicht separat in der Erstantwort berechnet"
      },
      {
        "name": "ANALYSE_ZUSAMMENFASSUNG",
        "quelle": "Feld analysis_summary aus der strukturierten Ausgabe, dient als interne Notiz im comment-Feld des Update-Knotens"
      },
      {
        "name": "KUNDEN_EMAIL",
        "quelle": "Feld customer_email aus dem Webhook-Payload, Grundlage für mailRecipient"
      },
      {
        "name": "SUPPORT_TEAM_NAME",
        "quelle": "Manuell zu setzender Wert für die Unterschrift der Erstantwort, kommt in keinem Knoten des Referenz-Exports vor"
      }
    ],
    "herausgeber": "Voyage Digital",
    "version": "2.0",
    "stand": "2026-07-26"
  },
  "itemIcon": "route",
  "recommended": [
    {
      "slug": "feedback-route",
      "category": "workflow",
      "name": "The Feedback Route",
      "teaser": "A daily automated report that sorts incoming customer feedback by sentiment and topic and immediately flags critical cases to the team.",
      "domaene": "Kundensupport & Service",
      "itemIcon": "message-square-quote"
    },
    {
      "slug": "antwort-schleife",
      "category": "workflow",
      "name": "The Reply Loop",
      "teaser": "Searches the FAQ knowledge base for every new support ticket, drafts a personalized reply, and hands it to a human for review before it goes out.",
      "domaene": "Kundensupport & Service",
      "itemIcon": "reply"
    },
    {
      "slug": "selfservice-staffel",
      "category": "workflow",
      "name": "The Self-Service Relay",
      "teaser": "Automatically analyzes incoming customer requests, searches the FAQ database for matching articles, and decides based on the solution probability: a self-service reply to the customer or a support ticket with full context to the team.",
      "domaene": "Kundensupport & Service",
      "itemIcon": "life-buoy"
    },
    {
      "slug": "ticket-schiene",
      "category": "workflow",
      "name": "The Ticket Pipeline",
      "teaser": "The Ticket Pipeline automatically categorizes new IT support tickets, searches the knowledge base for matching solutions, and routes them to the responsible team for a final human check before a reply goes out.",
      "domaene": "Kundensupport & Service",
      "itemIcon": "ticket"
    },
    {
      "slug": "cognigy-ai",
      "category": "tool",
      "name": "Cognigy AI",
      "teaser": "Düsseldorf based enterprise platform for conversational AI, with multilingual voice and chat agents for customer service in regulated industries.",
      "domaene": "Kundensupport & Service",
      "logoFile": "cognigy-ai.svg",
      "logoEinzug": 1
    },
    {
      "slug": "octonomy",
      "category": "tool",
      "name": "Octonomy",
      "teaser": "Octonomy is a platform for autonomous support agents that handles customer inquiries in e-commerce and SaaS independently and escalates complex cases to a human team.",
      "domaene": "Kundensupport & Service",
      "logoFile": "octonomy.png",
      "logoEinzug": 0.78
    },
    {
      "slug": "parloa",
      "category": "tool",
      "name": "Parloa",
      "teaser": "Parloa is a German voice AI platform that gives enterprise customer service teams in regulated industries phone and chat agents with deep CRM and ERP integration.",
      "domaene": "Kundensupport & Service",
      "logoFile": "parloa.png",
      "logoEinzug": 0.78
    },
    {
      "slug": "zendesk-ai-agents",
      "category": "tool",
      "name": "Zendesk AI Agents",
      "teaser": "Zendesk AI Agents are Zendesk's native AI agents for customer service, resolving tickets across email, chat, voice and social directly within Zendesk's existing tickets, workflows and knowledge base.",
      "domaene": "Kundensupport & Service",
      "logoFile": "zendesk-ai-agents.svg",
      "logoEinzug": 1
    },
    {
      "slug": "faq-kurator",
      "category": "assistent",
      "name": "The FAQ Curator",
      "teaser": "Answers recurring HR, IT, and customer service questions from your stored FAQ documents, cites the source for every answer, and escalates cleanly to a human whenever the answer is not covered there.",
      "domaene": "Kundensupport & Service",
      "itemIcon": "help-circle"
    },
    {
      "slug": "compliance-regelwerk",
      "category": "skill",
      "name": "The Compliance Rulebook",
      "teaser": "The Compliance Rulebook turns regulatory requirements into a structured, plain-language compliance policy complete with rules, responsibilities and reporting channels, ready for legal review before it takes effect.",
      "domaene": "Recht & Compliance",
      "itemIcon": "gavel"
    }
  ]
}