← Alle Themen · Tickets

In diesem Artikel 8 Kapitel
  1. Aufbau einer Automation
  2. Trigger
  3. Bedingungen
  4. Aktionen
  5. Beispiele
  6. Reihenfolge & Stop-Processing
  7. Aktiv/Inaktiv
  8. Weiterführend

CRM → Ticket-Automationen

Zurück zur Übersicht

Automationen führen automatisch Aktionen aus, wenn bestimmte Ereignisse (Trigger) passieren und alle Bedingungen erfüllt sind. Konfiguriert unter CRM → Ticket-Einstellungen → Reiter „Automationen".


Aufbau einer Automation

Jede Automation besteht aus drei Teilen:

  1. Trigger, wann wird sie ausgeführt?
  2. Bedingungen, welche Kriterien müssen erfüllt sein?
  3. Aktionen, was soll passieren?

Zusätzlich: Reihenfolge (Sortierung) und Stop-Processing-Flag (wenn eine Regel greift, werden nachfolgende Automationen übersprungen).


Trigger

TriggerAuslöser
Neues TicketEin Ticket wird durch eingehende E-Mail oder manuell erstellt. Feuert bei eingehenden Tickets zusätzlich auch „Neue Kundennachricht"; bei manuell erstellten Tickets zusätzlich „Neue Agent-Nachricht".
Neue KundennachrichtEine eingehende Mail vom Kunden (type=email_in), sowohl die erste eines neuen Tickets als auch Folge-Antworten.
Neue Agent-NachrichtEine ausgehende Mail vom Agent (type=email_out), manuelle Antworten, Erstmails bei manueller Ticket-Erstellung. Auto-Responder feuern diesen Trigger NICHT.
Status geändertTicketstatus wurde geändert (z.B. auf „Geschlossen"), wird auch bei Statuswechseln aus anderen Automationen, Makros, Bulk-Aktionen und manuellen Änderungen gefeuert. Im Context steht oldStatusId.
Sprache erkannt/geändertDie Ticket-Sprache wurde per KI erkannt ODER manuell geändert und hat einen neuen, nicht-leeren Wert. Feuert NICHT bei unknown. Context enthält oldLanguage.
Zeit-gesteuertRegel läuft zu festen Zeiten via Cronjob (stündlich geprüft), Feld „Zeitplan (Cron)" wird dann aktiv

Kaskaden & Loop-Schutz

Wenn eine Automation einen Status ändert, wird der „Status geändert"-Trigger automatisch nachgezogen, Folge-Automationen laufen also sauber in einer Kette. Beispiel-Flow:

  1. Neues Ticket → Automation A setzt Status NeuIn Prüfung
  2. → feuert Status geändert → Automation B (Bedingung Status=In Prüfung) setzt Status auf Wartet auf Kunde
  3. → feuert Status geändert erneut → Automation C (Bedingung Status=Wartet auf Kunde) → setzt Priorität, schreibt Notiz etc.

Das funktioniert direkt so, mehrstufige Status-Flows sind explizit unterstützt.

Schutz vor Endlos-Loops:

  • Jede einzelne Automation darf pro Kaskade nur einmal laufen. Würde Automation A sich selbst retriggern (z.B. weil B wieder auf den Ausgangsstatus zurücksetzt), wird der zweite A-Lauf übersprungen und geloggt.
  • Maximale Kaskaden-Tiefe: 10 Ebenen, danach harter Abbruch mit Warning-Log.
  • Mit der „Weitere Regeln stoppen"-Option in einer Automation kannst du verhindern, dass weitere Regeln zum selben Trigger laufen.

Cron-Expression (nur bei Zeit-gesteuert)

Standard Cron-Syntax mit 5 Feldern: Minute Stunde Tag-des-Monats Monat Wochentag

AusdruckBedeutung
0 9 * * *Täglich 9:00 Uhr
0 9 * * 1-5Mo–Fr 9:00 Uhr
0 */4 * * *Alle 4 Stunden
0 18 * * 5Jeden Freitag 18:00

Der stündliche Cronjob tickets:run-scheduled-automations prüft welche Automationen fällig sind und wendet ihre Aktionen auf alle offenen Tickets an, die die konfigurierten Bedingungen erfüllen. Maximal 500 Tickets pro Lauf.

Beispiele für Zeit-Trigger

  • Mo-Fr 10 Uhr „Nachfrage nach 3 Tagen offen": Condition „statusId = Wartet auf Kunde" + „lastMessageAt älter als 3 Tage" + Action „Auto-Antwort senden"
  • Sonntag 20 Uhr „Wochen-Reminder für alle offenen hochprioritären Tickets": Condition „priorityId = Hoch" + Action „Tag Wochen-Reminder setzen"

Bedingungen

Beliebig viele Bedingungen kombinierbar. Alle müssen erfüllt sein, damit die Automation greift (AND-Verknüpfung).

Felder

FeldWerte
Absender E-MailPattern/Teil (z.B. @amazon.*)
Absender NameString
BetreffString
Nachrichten-InhaltString
PostfachPostfach-ID
StatusStatus-ID
PrioritätPriorität-ID
ZugewiesenBenutzer-ID (0 = niemand)
Nachrichten-AnzahlZahl (z.B. „= 1" für erste Nachricht)
Ticket-SpracheISO-Code (z.B. de, en, fr), siehe KI-Funktionen → Sprach-Erkennung

Operatoren

equals, not equals, contains, not contains, matches (Regex), >, <, >=, <=


Aktionen

AktionErgebnis
Status setzenTicket wechselt auf gewählten Status
Priorität setzenPriorität ändern
Zuweisen anTicket einem Benutzer zuweisen
Tag hinzufügenTag an das Ticket hängen
Auto-Antwort (Textbaustein)automatische Antwort-E-Mail mit ausgewähltem Textbaustein versenden
KI: Sprache erkennenSprache der ersten Eingangsnachricht per ChatGPT erkennen und am Ticket speichern (siehe KI-Funktionen)
KI: Letzte Nachricht übersetzenLetzte Eingangsnachricht per ChatGPT in die angegebene Zielsprache übersetzen und als interne Notiz ablegen, Wert leer lassen für Standardsprache aus den KI-Einstellungen
KI: Thread zusammenfassenKompletten Ticket-Verlauf per ChatGPT zusammenfassen und als interne Notiz ans Ticket hängen (siehe KI-Funktionen)

Beispiele

Beispiel 1 → Amazon-Retouren automatisch taggen

  • Trigger: Neues Ticket
  • Bedingung: Absender E-Mail contains @amazon.
  • Bedingung: Betreff contains Rücksendung
  • Aktionen: Tag „Amazon-Retoure" + Zuweisen an Retourenteam

Beispiel 2 → Auto-Antwort bei Erstkontakt außerhalb der Öffnungszeiten

Aktuell nicht direkt per Automation realisierbar (keine Zeit-Bedingung), aber im Textbaustein via Twig:

{% if hour < 8 or hour >= 18 %}
Vielen Dank für Ihre Nachricht. Wir sind werktags zwischen 8:00 und 18:00 Uhr erreichbar ...
{% else %}
Vielen Dank für Ihre Nachricht. Wir antworten in der Regel innerhalb von 2 Stunden.
{% endif %}

→ Automation mit Trigger „Neues Ticket" + Bedingung „Nachrichten-Anzahl = 1" + Aktion „Auto-Antwort" mit diesem Textbaustein.

Beispiel 3 → Hochpriorisierung bei Beschwerden

  • Trigger: Neues Ticket
  • Bedingung: Nachrichten-Inhalt contains Beschwerde ODER Reklamation

(aktuell AND-Verknüpfung → zwei Automationen nötig, eine pro Wort, oder matches-Regex (Beschwerde|Reklamation))

  • Aktion: Priorität auf „Hoch" + Zuweisen an Senior-Support

Beispiel 4 → Auto-Tagging per Regex

  • Trigger: Neues Ticket
  • Bedingung: Betreff matches Pattern [A-Z]{2}\d{10} (Regex für Bestellnummer)
  • Aktion: Tag Bestellfrage hinzufügen

Operator matches nimmt eine reguläre PHP-Expression (ohne Slashes) und prüft case-insensitive. Damit kannst du beliebig komplexe Mustererkennung aus Betreff oder Body bauen, z.B. für:

  • Tracking-Nummern (\d{12,20})
  • IBAN (DE\d{20})
  • Produkt-Kategorien ((Schuh|Shirt|Hose))

Reihenfolge & Stop-Processing

Automationen werden in der Reihenfolge (Sortierung aufsteigend) abgearbeitet. Wenn eine Automation mit gesetztem Stop-Processing greift, werden folgende Automationen übersprungen.

Beispiel: Erst eine spezifische Automation (z.B. VIP-Kunde → hochpriorisieren + Stop), dann allgemeine Defaults.


Aktiv/Inaktiv

Jede Automation hat einen Toggle. Inaktiv gesetzte Automationen werden beim Trigger ignoriert, nützlich zum Testen oder vorübergehenden Deaktivieren.


Weiterführend