Bemerkung

E-Mail Header-Manipulation in Google funktioniert (nahezu) genauso wie in E-Mail-Kanälen. Deshalb ist dieser Artikel (nahezu) wörtlich von hier übernommen.

E-Mail Header-Manipulation

Die E-Mail Header-Manipulation erlaubt es, Tickets unabhängig von Filtern und Triggern zu steuern.

Header-Prüfungen unterscheiden nicht zwischen Groß- und Kleinschreibung.

Gefahr

🛡 Vertrauenswürdige Kanäle notwendig 🛡

Untenstehende Optionen bergen ein potenzielles Risiko hinsichtlich der Kommunikation mit externen Parteien, weshalb der Kanal explizit als vertrauenswürdig deklariert werden muss.

Tipp

Untenstehende Header sind Beispiele und - unserer Meinung nach - die wichtigsten. Sie können allerdings die meisten Artikel- oder Ticket-Attribute verändern (auch selbst erstellte), sofern Sie den Namen des Attributs kennen.

In der Spalte „Name“ in der Objektverwaltung können Sie die Namen der Attribute finden. 🤓

Automatische Antwort auslösen

Standardmäßig prüft Zammad intern, ob eine E-Mail eine automatische Antwort ist. In einem solchen Fall wird Zammad keine Trigger-basierte Antwort schicken.

Es könnte aber Anwendungsfälle geben, bei denen dieses Verhalten nicht gewünscht ist. Mit der folgenden Option können Sie das Verhalten übersteuern.

Bemerkung

In einigen Fällen müssen untenstehende Header kombiniert werden.

x-zammad-send-auto-response

Verwenden Sie false, um Trigger-basierte Antworten zu deaktivieren. Sofern Sie es auf true setzen, wird Zammad eine Antwort senden.

Hinweis

Diese Funktion funktioniert nicht, wenn Sie zum Beispiel precedence: list gesetzt haben ohne den folgenden Header zu benutzten.

x-zammad-is-auto-response

Wenn Sie diesen Header setzen weiß Zammad, dass die entsprechende E-Mail eine automatisch generierte Antwort ist (true). Das verhindert die Ausführung von E-Mail-basierten Triggern.

Setzen Sie den Header auf false, wenn eine automatische Antwort generiert werden soll.

Tipp

Dieser Header erlaubt es, die automatische Erkennung zum Beispiel für precedence: list zu übersteuern.

Ticket Attribute

In Zammad kann eine Header-Manipulation sowohl verwendet werden, um Tickets zu generieren, als auch für Antworten auf Artikel. Die Header-Manipulation kann anstatt Triggern verwendet werden. Trigger werden nach dem Auslesen der Header ausgeführt und können diese deshalb übersteuern.

Bemerkung

🔎 Zammad unterscheidet zwischen Ticket-Erstellung und Antworten

Verwenden Sie für die Erstellung: X-Zammad-Ticket-{Attribute Name}
Verwenden Sie für Antworten: X-Zammad-Ticket-FollowUp-{Attribute Name}

Das erlaubt es, die Änderungen nur in der erforderlichen Situation auszuführen.

Warnung

🧐 Über Werte

  • Während bei den Headern nicht zwischen Groß- und Kleinschreibung unterschieden wird, ist das bei den zugehörigen Werten, beispielsweise Prioritätswerte, der Fall. 1 niedrig ist korrekt, 1 nIedrig wird nicht korrekt erkannt!

  • Sofern Sie Attribute verwenden, die eine Datums-/Zeitangabe enthalten, stellen Sie sicher, dass Sie Zeitzonen-Zeiten verwenden. Beispiel für 28. September 2021, 8 Uhr:

    • 2021-09-28T08:00:00+0200

    • 2021-09-28T08:00:00+02:00

    • 2021-09-28T06:00:00.000Z

X-Zammad-Ticket-Priority & X-Zammad-Ticket-FollowUp-Priority
Ermöglicht Ihnen die Anpassung der Ticket-Priorität.
Beispiel: X-Zammad-Ticket-Priority: 1 low
X-Zammad-Ticket-Group & X-Zammad-Ticket-FollowUp-Group
Ermöglicht Ihnen, in die reguläre Gruppenzuweisung einzugreifen.
Beispiel: X-Zammad-Ticket-Group: Verkauf
X-Zammad-Ticket-Owner & X-Zammad-Ticket-FollowUp-Owner
Weisen Sie ein Ticket direkt einem Besitzer zu oder ändern Sie diesen. Gültige Werte sind entweder Login oder E-Mail
Beispiel: X-Zammad-Ticket-Owner: jdoe
X-Zammad-Ticket-State & X-Zammad-Ticket-FollowUp-State
Setzen Sie einen bestimmten Ticket-Status.
Beispiel: X-Zammad-Ticket-State: closed

Bemerkung

Warten-Status erfordern immer das pending_time-Attribut zusätzlich.
So: X-Zammad-Ticket-Pending_Time: 2021-09-26T08:00:00+0200
X-Zammad-Customer-Email
Verändern Sie den Kunden des Tickets. Das kann ein anderer Benutzer sein als der Absender. Antworten an den Original-Absender sind weiterhin möglich.
Beispiel: X-Zammad-Customer-Email: jdoe@example.com

Bemerkung

Dieser Header steht für Follow-Ups nicht zur Verfügung.

X-Zammad-Customer-Login
Verändern Sie den Kunden des Tickets. Das kann ein anderer Benutzer sein als der Absender. Antworten an den Original-Absender sind weiterhin möglich.
Beispiel: X-Zammad-Customer-Login: jdoe

Bemerkung

Dieser Header steht für Follow-Ups nicht zur Verfügung.

Artikel Attribute

Zammad erlaubt es, die Attribute und den Status von Artikeln für bereits abgerufene E-Mails zu verändern.

X-Zammad-Article-Sender
Verändern Sie den Absender-Typ (Agent, Kunde oder System)
Beispiel: X-Zammad-Article-Sender: System

Warnung

System E-Mails werden ähnlich wie Trigger-Aktionen dargestellt. Das heißt Benutzer können die Artikel nicht komplett sehen.

Eingehende E-Mail als Artikel vom Absender-Typ System
X-Zammad-Article-Type
Ändert den Artikel-Typ von eingehenden E-Mails. Das setzt voraus, dass Sie wissen welche Artikel-Typen in Ihrem System verfügbar sind.
Beispiel: X-Zammad-Article-Type: phone

Warnung

Dieser Header kann unerwünschte Auswirkungen in Ihrer Zammad-Instanz haben und zu unerwartetem Verhalten führen. Nutzen Sie diesen mit absoluter Vorsicht!

X-Zammad-Article-Internal
Verändert die Sichtbarkeit (intern/öffentlich) des Artikels.
Beispiel: X-Zammad-Article-Internal: true
X-Zammad-Ignore
Weist Zammad an, die E-Mail zu verwerfen.
Beispiel: X-Zammad-Ignore: true

Vertrauenswürdiger Kanal

Bemerkung

🚧 Nur selbst gehostet 🚧

Diese Funktion ist nur in selbst gehosteten Instanzen verfügbar.

Gefahr

⚠️ Wie bereits erwähnt, ist dies gefährlich und kann zu unerwartetem Verhalten bei der Kommunikation mit externen Parteien führen. Befolgen Sie die folgenden Anweisungen nur, wenn Sie wissen, was Sie tun.

Das Setzen eines Kanals auf trusted kann nur über die Konsole erfolgen. Führen Sie die folgenden Befehle in der Rails-Konsole aus:

Alle Kanäle auflisten:
>> Channel.all

Suchen Sie die id des Kanals, den Sie auf trusted setzen wollen.

Wählen Sie Ihren identifizierten Kanal aus (ersetzen Sie die 99 durch die richtige ID):

>> channel = Channel.find(99)

Zeigt die aktuell aktivierten Funktionen des ausgewählten Kanals an:

>> options = channel[:options]

Fügen Sie das Kennzeichen "trusted"=>true für den eingehenden Kanal hinzu:

>> options[:inbound][:trusted] = true

Speichern Sie Ihre Änderungen:

>> channel.save!