Posteingang in Workflows
Zuletzt aktualisiert 26 May 2026

Jeder Kanal kann ein Workflow-Trigger sein (eine Nachricht ist eingegangen) und eine Workflow-Aktion (eine Nachricht senden). Die meiste Automatisierung im Kommunikationsbereich lebt in dieser Schleife: eine Nachricht rein, ein Workflow-Lauf, eine Nachricht wieder raus.
Zu den Workflow-Grundlagen (Aufbau, Laufzeit, parallele Verzweigungen, Datenweitergabe) siehe Workflows (im Detail).
Auf einen Blick
Ein Workflow kann mit einer eingehenden Nachricht starten (ein Trigger) und mit einer ausgehenden Nachricht antworten (eine Aktion). Die meiste Automatisierung im Kommunikationsbereich lebt in dieser Schleife.
Trigger: vollständiger Katalog
| Trigger | Läuft, wenn | Daten, die Ihr Workflow lesen kann |
|---|---|---|
| Eingehende E-Mails | Eingehende E-Mail einem Datensatz zugeordnet. Filtern nach Konto, Ordner, Gelesen-/Ungelesen-Status und Neu vs. Antwort. | incoming_email |
| E-Mail geöffnet | Eine zuvor gesendete E-Mail wird vom Empfänger geöffnet. | (keine zusätzlichen Daten) |
| Eingehende SMS | Eingehende SMS einem Datensatz zugeordnet. Optionales Textmuster (YES*, *opt out* usw.). |
incoming_sms |
| SMS zugestellt | Eine ausgehende SMS wird vom Anbieter als zugestellt gemeldet. Nützlich für Follow-ups vom Typ „X Minuten nach Zustellung". | delivered_sms |
| Eingehende WhatsApp | Eingehende WhatsApp einem Datensatz zugeordnet. Enthält Gruppenfelder, wenn die Nachricht aus einem Gruppenchat stammt. | incoming_whatsapp |
Ein Trigger „läuft einmal pro zugeordnetem Datensatz". Wenn eine eingehende Nachricht mit einem Kontakt und einem Lead verknüpft ist, laufen die Workflows beider Datensatztypen unabhängig voneinander. Siehe Workflows → Trigger und Quellen.
Was in jedem Datenbündel steckt
Jeder Trigger stellt die Felder der Nachricht unter einem Namen in Ihren Workflow-Daten bereit. Verwenden Sie sie überall dort, wo Flexie Scripting zulässig ist: in Nachrichtentexten, Betreffzeilen, Entscheidungen, Feldaktualisierungen.
incoming_email
{{ __data.incoming_email.from_email }}
{{ __data.incoming_email.from_name }}
{{ __data.incoming_email.subject }}
{{ __data.incoming_email.text }} {# plain-text body #}
{{ __data.incoming_email.html }} {# HTML body #}
{{ __data.incoming_email.cc_emails }} {# array of strings #}
{{ __data.incoming_email.cc_names }} {# array of strings #}
{{ __data.incoming_email.date_received }}
{{ __data.incoming_email.has_inline_attachments }}
{{ __data.incoming_email.has_regular_attachments }}
{{ __data.incoming_email.all_attachments_count }}
{{ __data.incoming_email.all_attachments }} {# array of {name, attachment_type, mime, size} #}
incoming_sms
{{ __data.incoming_sms.sender_number }} {# +14155551212 #}
{{ __data.incoming_sms.to_number }} {# your line #}
{{ __data.incoming_sms.text }}
{{ __data.incoming_sms.date_received }}
delivered_sms
{{ __data.delivered_sms.text }}
{{ __data.delivered_sms.date_delivered }}
incoming_whatsapp
{{ __data.incoming_whatsapp.from_number }}
{{ __data.incoming_whatsapp.to_number }}
{{ __data.incoming_whatsapp.text }}
{{ __data.incoming_whatsapp.message_type }} {# "text" or "media" #}
{{ __data.incoming_whatsapp.direction }} {# always "inbound" #}
{{ __data.incoming_whatsapp.whatsapp_message_id }}
{{ __data.incoming_whatsapp.is_group }}
{{ __data.incoming_whatsapp.display_name }}
{{ __data.incoming_whatsapp.date_received }}
{# only when is_group is true: #}
{{ __data.incoming_whatsapp.group_jid }}
{{ __data.incoming_whatsapp.group_name }}
{{ __data.incoming_whatsapp.participant }}
{{ __data.incoming_whatsapp.participant_jid }}
Siehe Workflows → Daten zwischen Schritten weitergeben für das umfassendere __data-Modell.
Aktionen: vollständiger Katalog
| Aktion | Was sie tut |
|---|---|
| E-Mail senden | Eine E-Mail aus einer Vorlage oder mit einem inline gesetzten Betreff/Text an den Datensatz senden. |
| Benachrichtigungs-E-Mail senden | Eine Benachrichtigungs-E-Mail senden (an Mitarbeiter oder eine feste Adresse). |
| SMS senden | SMS an den Datensatz senden. |
| WhatsApp senden | WhatsApp an den Datensatz senden (nur verfügbar, wenn WhatsApp aktiviert ist). |
| E-Mail-Anhänge beim Kunden speichern | Anhänge eingehender E-Mails im Anhänge-Tab des verknüpften Datensatzes speichern. |
E-Mail senden
Formularfelder:
- E-Mail-Vorlage: eine gespeicherte E-Mail-Vorlage auswählen oder einen einmaligen Betreff und Text inline setzen.
- An: in der Regel das primäre E-Mail-Feld des Datensatzes, Sie können es aber mit einem anderen Feld oder einem festen Wert überschreiben.
- CC / BCC: optional.
- Absenderadresse / Antwortadresse: überschreibt die Standardwerte der Vorlage.
- Datei anhängen: optional; Sie können ein generiertes PDF (Angebot, Rechnung) per Name anhängen.
Variablen werden gegen den Datensatz aufgelöst, auf dem der Workflow läuft, genau wie beim Verfassen.
SMS senden
Formularfelder:
- Nachricht: Textkörper mit Variablen.
- Mobilfeld: welches Feld am Datensatz die Zieltelefonnummer enthält (ein Telefon-/Mobilfeld).
- Absenderleitung: über welche verbundene SMS-Leitung gesendet wird.
WhatsApp senden
Formularfelder:
- Nachricht: Textkörper mit Variablen.
- Mobilfeld: Telefonfeld, an das gesendet wird.
- Kanal: über welche verbundene WhatsApp-Nummer gesendet wird.
Einschränkung: Der Empfänger muss eine bestehende eingehende Nachricht auf dem gewählten Kanal haben. Das Sitzungsfenster-Modell von WhatsApp verbietet kaltes ausgehendes Senden an eine völlig neue Nummer; die Aktion setzt das auf ihrer Seite durch.
E-Mail-Anhänge beim Kunden speichern
Formularfelder:
- Anhangsfilter: optionaler Name-/Dateityp-Filter (z. B.
*.pdf, um nur PDFs zu kopieren). - Anhangskategorien: wo die Kopien in der Anhangssammlung des Datensatzes abgelegt werden.
Wird am häufigsten direkt nach einem Trigger „Eingehende E-Mails" verwendet, um eingehende Dokumente abzulegen.
Durchgängige Rezepte
1. Kunde antwortet „STOP" → vom SMS-Versand abmelden
2. Eingehende Vertrags-E-Mail → das PDF am Deal ablegen
3. WhatsApp „INVOICE" → mit dem neuesten Rechnungs-PDF antworten
4. E-Mail-Öffnung innerhalb von 24 h → Takt halten, sonst nachfassen
5. Kunde antwortet per SMS zu einem offenen Ticket → im selben Ticket halten
Dieses Rezept läuft automatisch, ohne dass ein Workflow nötig ist. Wenn Sie auf einem Ticket per SMS antworten, fügt Flexie ein kurzes Referenz-Token ([FX-XXXXXXXX]) in den ausgehenden Text ein. Antwortet der Kunde von derselben Nummer, hängt sich die eingehende Nachricht an dasselbe Ticket an. Die Ticket-Seite zeigt das gesamte Hin und Her als einen Thread.
Siehe SMS → Automatisches Ticket-Threading.
Die __data-Form im Kontext
Der __data-Namensraum wird Schritt für Schritt aufgebaut, während ein Workflow läuft. Für die Kommunikation:
{{ __data.incoming_email.subject }} {# only if triggered by "Incoming emails" #}
{{ __data.incoming_sms.text }} {# only if triggered by "Incoming SMS" #}
{{ __data.incoming_whatsapp.text }} {# only if triggered by "Incoming WhatsApp" #}
{{ __data.delivered_sms.text }} {# only if triggered by "SMS delivered" #}
{{ first_name }} {# always — the current record's field #}
{{ contacts[0].first_name }} {# always — related record, even on mail flows #}
Verwenden Sie den trigger-spezifischen Namen, wenn Sie Daten aus der Nachricht benötigen, die den Workflow gestartet hat; verwenden Sie die Felder des übergeordneten Datensatzes für alles andere.
Wenn ein Trigger nicht läuft (Debug-Checkliste)
Etwa in aufsteigender Schwierigkeit:
- Ist der Workflow veröffentlicht? Nicht veröffentlichte Workflows laufen überhaupt nicht.
- Ist der Trigger für den richtigen Datensatztyp konfiguriert? Ein Trigger „Eingehende SMS" auf Kontakt läuft nicht, wenn die SMS nur mit einem Lead verknüpft ist. Fügen Sie den Trigger entweder für beide Datensatztypen hinzu oder ändern Sie die Datensatztyp-Auswahl am Workflow.
- Wurde die eingehende Nachricht mit einem Kunden verknüpft? Prüfen Sie den Posteingang unter dem Filter Nicht verknüpft. Keine Verknüpfung → kein Kunde → kein Trigger.
- Passt der Text? Muster ignorieren Groß-/Kleinschreibung, benötigen aber wörtliche
*-/?-Platzhalter.YESpasst nicht auf"Yes please". Verwenden SieYES*. - Bei E-Mail: Passt die Kombination aus Konto + Ordner + Lesestatus + Neu/Antwort des Triggers zur tatsächlichen Nachricht?
- Bei WhatsApp: Ist WhatsApp für dieses Konto aktiviert? Der Trigger „Eingehende WhatsApp" erscheint nur dann in der Auswahl, wenn WhatsApp eingeschaltet ist.
Öffnen Sie den Tab Verlauf des Workflows, um zu sehen, ob der Trigger lief, aber die nächste Aktion einen Fehler hatte, oder ob der Trigger selbst von vornherein nie lief.
Weiter
- Workflows (im Detail): die Arbeitsfläche, Trigger, Aktionen, Entscheidungen, asynchron vs. synchron, der Baum.
- Flexie Scripting: die Sprache, die in Vorlagentexten, Nachrichtentexten und
__data-Ausdrücken verwendet wird. - Posteingang-Übersicht: das Konzept des gemeinsamen Posteingangs, Filter, Kanalmix.