Formular Baukasten

Email Versand und Flow Builder

Jede Einsendung kann zwei verschiedene Mails auslösen:

  1. eine interne Benachrichtigung (per Mail-Route)
  2. eine Bestätigung an die Kund:in (per Flow Builder Action)

Interne Benachrichtigung — Mail-Routen

Mail-Routen verwalten Sie im Formular-Editor unter E-Mail. Eine Route beschreibt einen einzelnen Versand-Empfänger.

Felder einer Route

Feld Bedeutung
Route-Name interne Beschriftung
Aktiv Route ein-/ausschalten
Mail-Vorlage optional; sonst wird die Standard-Vorlage „Formular-Werkzeug – Neue Einsendung" verwendet
Empfänger Haupt-Empfänger-Adresse (Pflicht)
CC optional, Komma-getrennt (Premium)
BCC optional, Komma-getrennt (Premium)
Reply-To-Feld optional; Formularfeld vom Typ E-Mail, dessen Wert als Reply-To-Adresse verwendet wird
Bedingungen UND-verknüpfte Filter, z. B. „nur senden, wenn Auswahlfeld = Service" (Premium)

Conditional Routing (Premium)

Im Premium-Plan können Sie beliebig viele Routen pro Formular anlegen und pro Route Bedingungen vergeben. Beispiel:

  • Route 1: „Service" → an support@, Bedingung Auswahl = Service
  • Route 2: „Vertrieb" → an sales@, Bedingung Auswahl = Vertrieb
  • Route 3: „Alle anderen" → an info@, ohne Bedingung

Die Auswertung läuft pro Einsendung — passt eine Route, geht eine Mail raus; passt keine, wird nicht gesendet.

Reply-To auf die Kunden-Adresse

Damit Antworten auf eine Benachrichtigungs-Mail direkt bei der Absender:in landen, können Sie pro Mail-Route ein Reply-To-Feld auswählen. Das Dropdown listet alle Formularfelder vom Typ E-Mail aus dem aktuellen Formular.

Beim Versand wird die im Formular eingetragene Kunden-Adresse als Reply-To-Header gesetzt — die Absender:in-Adresse (From) bleibt weiterhin die Shop-Adresse. Ein Klick auf „Antworten" im Mail-Programm richtet die Antwort direkt an die Kund:in.

Das ist bewusst so gelöst: eine echte Absender-Adresse aus der Kunden-Domain würde von SPF/DKIM/DMARC-Prüfungen der Empfänger:innen als Spoofing erkannt und meist im Spam-Ordner landen — der Reply-To-Header ist der von den großen Mail-Providern akzeptierte Standard für Kontakt- und Anfrage-Formulare.

Ist im gewählten Feld beim Absenden keine gültige E-Mail-Adresse hinterlegt, sendet die Mail-Route ohne Reply-To-Header.

Bestätigungs-Mail an die Kund:in

Im Reiter Allgemein des Formulars aktivieren Sie Bestätigungs-Mail an Kunden.

Wählen Sie dazu:

  • die Mail-Vorlage (Typ „Formular-Werkzeug – Bestätigung für Kunden") — Shopware liefert sie nach Plugin-Aktivierung mit
  • das Formularfeld, das die Kunden-Adresse liefert (in der Regel das E-Mail-Feld)

Der Versand läuft als Flow-Builder-Action — Sie können sie also in eigenen Flows wiederverwenden.

Flow Builder Integration

Beim Aktivieren des Plugins wird automatisch ein Event Formular wurde abgesendet im Flow Builder registriert. Daraus können Sie eigene Flows bauen — z. B.:

  • eine Slack-Benachrichtigung auslösen
  • einen Kunden-Tag hinzufügen
  • eine externe API benachrichtigen

Mitgelieferte Flow-Builder-Action

Action Effekt
Bestätigungs-Mail an Kunden senden (PremsForm) Sendet die im Formular hinterlegte Bestätigungs-Mail an die Kunden-Adresse aus der Einsendung

Beim Installieren wird zusätzlich ein Standard-Flow eingerichtet, der diese Action automatisch beim Event „Formular wurde abgesendet" ausführt. Sie können diesen Flow jederzeit deaktivieren oder eigene Flows ergänzen.

Mehrsprachige Mails

Die Mail-Vorlagen sind übersetzbar wie alle Shopware-Mail-Vorlagen. Die zur Storefront passende Sprache der Einsendung wird beim Versand ausgewählt — Kund:innen erhalten also eine Bestätigung in „ihrer" Sprache.

Variablen in Mail-Vorlagen

In den Mail-Vorlagen stehen unter anderem zur Verfügung:

  • form — das Formular-Entity (Name, Felder, …)
  • entry — die Einsendung (Daten, Status, Sprache, Verkaufskanal)
  • entry.data — Liste aller übermittelten Felder mit label, value und fieldType
  • entry.getValueByIdentifier('...') — Direktzugriff auf den Wert eines einzelnen Feldes

Damit bauen Sie in der Vorlage z. B. eine vollständige Tabelle aller übermittelten Werte auf.

Direktzugriff auf einzelne Feldwerte

Der Helper entry.getValueByIdentifier('...') liefert den Wert genau eines Feldes zurück, ohne dass Sie entry.data durchlaufen müssen. Als Argument erwartet er den Technischen Namen des Feldes.

Den Technischen Namen sehen und pflegen Sie im Formular-Editor unter Felder → gewähltes Element → Technischer Name. Er dient als Identifier für die Feldwerte in der Einsendung und in den Mail-Vorlagen.

Rückgabe ist der Wert als String — oder null, wenn das Feld nicht gefüllt oder in der Einsendung nicht vorhanden war.

Beispiele für den Betreff einer Mail-Vorlage:

Neue Anfrage von {{ entry.getValueByIdentifier('firstName') ?? 'Gast' }} {{ entry.getValueByIdentifier('lastName') ?? '' }}
Anfrage zu {{ entry.getValueByIdentifier('productName') ?? form.name }}

Und im HTML-Body einer Bestätigungs-Mail an die Kund:in:

<p>Hallo {{ entry.getValueByIdentifier('firstName') ?? 'liebe/r Interessent:in' }},</p><p>wir haben Ihre Anfrage erhalten und melden uns in Kürze.</p>