# Flows und Flow-Studio

{/* AUTO-SYNCED SOURCE: this page lives in apps/app/src/modules/wa-bot/docs/ and is mirrored into the docs app by `bun sync:module-docs`. Edit it in the module, not in apps/docs. */}

<Lead>
Ein Flow ist ein vorbereitetes Gespräch deines Bots: Begrüßung, Fragen, Auswahl-Menüs, Aktionen. Acht Standard-Flows sind ab der Installation eingerichtet und sofort einsatzbereit. Im **Flow-Studio** passt du jeden Flow als Karten-Diagramm an oder baust eigene, und der Simulator zeigt dir vor dem Veröffentlichen genau, was deine Kundschaft erleben würde.
</Lead>

## Die acht Standard-Flows

Bei der Installation richtet das Tool diese Flows ein. Zwei davon sind System-Flows (Hauptmenü und Abmeldung), die restlichen kannst du frei anpassen oder pausieren:

<DefinitionList>
  <DefItem term="Hauptmenü (System)">
    Auslöser: "Startet jedes Gespräch". Begrüßung mit Bot-Transparenz, dann der Datenschutz-Hinweis, dann ein Menü mit fünf Punkten: Objekt-Infos, Besichtigung, Verkaufen, Häufige Fragen, Mitarbeiter. Braucht keine Datenquelle.
  </DefItem>
  <DefItem term="Objekt-Infos">
    Auslöser: im Menü. Der Bot bietet deine aktiven Objekte zur Auswahl an, zeigt einen Steckbrief mit den Eckdaten und leitet zu Exposé oder Termin über. Braucht mindestens ein Objekt in deiner Objekt-Datenbank.
  </DefItem>
  <DefItem term="Exposé-Versand">
    Auslöser: per Stichwort "Exposé". Verschickt das Exposé als PDF im Chat, sofern zu dem Objekt ein Exposé in den Objekt-Dokumenten liegt. Ohne hinterlegtes Exposé übergibt der Bot ehrlich an dein Team.
  </DefItem>
  <DefItem term="Besichtigung buchen">
    Auslöser: im Menü. Bietet drei echte freie Termine aus dem Termin-Tool an, erfasst Name und E-Mail und bucht verbindlich. Braucht das eingerichtete [Termin-Tool](/tools/booking).
  </DefItem>
  <DefItem term="Immobilie verkaufen">
    Auslöser: im Menü. Erfasst Eigentümer-Anfragen strukturiert als Lead: Art der Immobilie, Ort, Name, E-Mail. Daraus entsteht ein Kontakt im Adressbuch mit fairer Zuweisung an dein Team. Braucht keine Datenquelle.
  </DefItem>
  <DefItem term="Häufige Fragen">
    Auslöser: im Menü. Beantwortet die freigegebenen Einträge aus [Wissen & FAQ](/tools/wa-bot/wissen), etwa zu Erreichbarkeit, Ablauf und Provision.
  </DefItem>
  <DefItem term="Mitarbeiter kontaktieren">
    Auslöser: im Menü oder per Stichwort "Mitarbeiter". Übergibt das Gespräch direkt an eine Kollegin oder einen Kollegen, das Gespräch landet oben in der [Inbox](/tools/wa-bot/inbox).
  </DefItem>
  <DefItem term="Abmeldung (System)">
    Auslöser: STOP und verwandte Wörter. Der gesetzlich vorgeschriebene Abmelde-Baustein: sofortiger Stopp plus Bestätigung. Details unter [Regeln und Datenschutz](/tools/wa-bot/regeln-und-datenschutz).
  </DefItem>
</DefinitionList>

<Info title="Ehrlicher Start">
Beim Installieren werden nur die Flows aktiviert, deren Datenquelle wirklich existiert. Die Besichtigungs-Buchung wartet auf das Termin-Tool, Objekt-Gespräche auf dein erstes Objekt. Solche Flows bleiben als **Entwurf** stehen und lassen sich später mit einem Klick freischalten.
</Info>

## Die Flow-Liste

Unter **Automatisierung > Flows** siehst du alle Flows als Karten. Jede Karte zeigt zwei Angaben:

- **Status:** "Aktiv · v1" (veröffentlicht, mit Versionsnummer), "Pausiert" oder "Entwurf".
- **Auslöser:** "Startet jedes Gespräch", "Im Menü · Position 2", "Per Stichwort" oder "Per Verknüpfung erreichbar" (der Flow wird nur von anderen Flows angesprungen).

Ein Klick auf die Karte öffnet den Flow direkt im Studio. Das Kürzel unter dem Namen ist der Handle, über den andere Flows hierher verzweigen.

## Neuen Flow anlegen

Mit **Neuer Flow** öffnest du eine Galerie: "Leer starten oder eine fertige Vorlage als Grundlage nehmen." Du beginnst also entweder von Grund auf ("Von Grund auf selbst bauen.") oder mit einer Kopie einer der Standard-Vorlagen, die du dann frei umbaust.

## Das Flow-Studio

Das Studio ist ein Karten-Editor: Jeder Gesprächs-Schritt ist eine Karte, Verbindungen sind Linien. Aus der Palette (das **Hinzufügen**-Menü unten rechts) ziehst oder klickst du neue Schritte auf die Fläche:

<DefinitionList>
  <DefItem term="Nachricht">Ein Text des Bots, optional mit bis zu drei Antwort-Buttons.</DefItem>
  <DefItem term="Auswahlliste">Ein WhatsApp-Listen-Menü mit bis zu zehn Zeilen.</DefItem>
  <DefItem term="Eingabe">Der Bot fragt eine Angabe ab, etwa Name oder E-Mail, und prüft sie.</DefItem>
  <DefItem term="Aktion">Der Bot tut etwas: Termine anbieten, Objekt-Steckbrief senden, Exposé verschicken, Lead erfassen. Aktionen haben getrennte Ausgänge für "Erfolgreich" und "Bei Problem".</DefItem>
  <DefItem term="Zuweisung">Legt fest, wer im Team zuständig ist: ein festes Mitglied oder die faire Verteilung (das Mitglied mit den wenigsten offenen Übergaben).</DefItem>
  <DefItem term="Übergabe">Reicht das Gespräch an einen Menschen weiter, der Bot pausiert für dieses Gespräch.</DefItem>
  <DefItem term="Ende">Beendet das Gespräch sauber.</DefItem>
</DefinitionList>

Zur Arbeitsfläche gehören Zoom (auch mit <Kbd>Strg</Kbd> + Mausrad), eine Minimap unten links, freies Verschieben der Fläche und Drag & Drop für Karten und Verbindungen. Rückgängig und Wiederholen gehen über die Toolbar oder <Kbd>Strg</Kbd>+<Kbd>Z</Kbd> beziehungsweise <Kbd>Cmd</Kbd>+<Kbd>Z</Kbd>.

### Speichern und Veröffentlichen

Das Studio speichert deinen Entwurf automatisch etwa zwei Sekunden nach der letzten Änderung ("Entwurf gespeichert"). **Speichern** und **Veröffentlichen** sind bewusst getrennt: "Änderungen gelten erst nach dem Veröffentlichen. Speichern sichert den Entwurf." Bis zum Veröffentlichen antwortet dein Bot unverändert weiter.

### System-Knoten sind Pflicht

Die Bausteine **Begrüßung**, **Datenschutz-Hinweis** und **Abmeldung** sind geschützte System-Knoten: Sie lassen sich nicht löschen, und ein Flow, dem ein Pflicht-Baustein fehlt, lässt sich nicht veröffentlichen. Die Fehlermeldung lautet dann zum Beispiel: "Der System-Knoten „Begrüßung“ ist Pflicht in diesem Flow und fehlt." So bleibt dein Bot immer regelkonform, egal wie kreativ du baust.

## Prüfung und Veröffentlichung

Oben im Studio zeigt ein Prüf-Chip den Zustand des Flows: "Fehlerfrei", eine Anzahl von Hinweisen ("2 Hinweise") oder eine Anzahl von Fehlern ("1 Fehler"). Hinweise sind unkritisch, Fehler blockieren das Veröffentlichen (Publish-Gate). Typische Fehler:

- **Sackgassen:** Ein Schritt hat keinen Ausgang und ist kein Ende, keine Übergabe und kein Sprung.
- **Unbekannte Ziele:** Eine Verbindung zeigt auf einen Schritt, den es nicht mehr gibt.
- **Nicht erreichbare Schritte:** Eine Karte hängt in der Luft und ist vom Start aus nicht erreichbar.
- **Fehlende Pflicht-Bausteine:** Begrüßung, Datenschutz-Hinweis oder Abmeldung fehlen.
- **Fehlende Pflichtfelder vor der Termin-Buchung:** Die Buchungs-Aktion braucht vorher erfasste Angaben wie Name und E-Mail. Fehlt die Abfrage im Pfad, meldet die Prüfung das als Fehler.
- **Unbekannte Platzhalter:** Ein frei getippter Platzhalter, den der Bot nicht kennt, wird als Fehler markiert ("Unbekannter Platzhalter").

Schlägt das Veröffentlichen fehl, meldet das Studio "Nicht veröffentlicht" mit der Bitte, die markierten Fehler zu beheben. Gelingt es, ist der Flow sofort live: "Der Flow ist jetzt live."

## Platzhalter

In Nachrichten-Texten fügst du Platzhalter per Klick als Chips ein. Der Bot setzt beim Senden automatisch die richtigen Werte ein; ist ein Wert unbekannt, nutzt er eine neutrale Formulierung. Diese Platzhalter gibt es:

| Platzhalter | Bedeutung |
| --- | --- |
| `bueroName` | Name deines Büros aus den Einstellungen beziehungsweise dem Unternehmensprofil |
| `maklerName` | Name des zuständigen Teams beziehungsweise Ansprechpartners |
| `kundeName` | Name des Kontakts, sofern bekannt |
| `objektTitel` | Titel des gewählten Objekts |
| `objektAdresse` | Adresse des gewählten Objekts |
| `objektPreis` | Preis des gewählten Objekts |
| `objektFakten` | Mehrzeiliger Steckbrief des Objekts (Lage, Zimmer, Fläche, Preis) |
| `terminDatum` | Datum des gewählten Termins |
| `terminUhrzeit` | Uhrzeit des gewählten Termins |
| `erreichbarkeit` | Dein Erreichbarkeits-Text aus den Einstellungen |
| `slot1`, `slot2`, `slot3` | Dynamische Termin-Buttons: die drei angebotenen freien Termine |
| `objekt1`, `objekt2`, `objekt3` | Dynamische Objekt-Buttons: die zur Auswahl angebotenen Objekte |

Die dynamischen Button-Platzhalter (`slot1` bis `slot3`, `objekt1` bis `objekt3`) füllt der Bot zur Laufzeit; Buttons ohne aufgelösten Wert werden beim Senden einfach weggelassen. Frei getippte geschweifte Klammern mit unbekanntem Inhalt meldet die Prüfung als Fehler.

## WhatsApp-Limits

WhatsApp gibt harte Grenzen vor, die das Studio direkt beim Bearbeiten prüft (Textfelder zeigen einen Zeichen-Zähler):

- Maximal **3 Buttons** pro Nachricht
- Maximal **10 Zeilen** pro Auswahlliste
- Button-Beschriftung: maximal **20 Zeichen**
- Listen-Zeilen-Beschriftung: maximal **24 Zeichen**

## Simulator

Der Simulator öffnet sich direkt im Studio und zeigt das Gespräch in WhatsApp-Optik, angetrieben von der echten Gesprächslogik. Es werden keine echten Nachrichten gesendet.

- **Modus:** Der Schalter **Aktionen gelingen** / **scheitern** legt fest, ob Aktionen (Termin buchen, Exposé senden) im Test erfolgreich sind oder fehlschlagen. So prüfst du auch die ehrlichen Übergabe-Pfade.
- **Zeitraffer:** Wartet der Flow auf eine Antwort mit Erinnerungs-Timer, erscheint ein Chip wie "4h ohne Antwort". Ein Klick spult die Wartezeit vor und löst die Erinnerung aus.
- **Neu starten:** Setzt die Simulation jederzeit zurück.
- **Status:** Unter dem Verlauf steht der Zustand: "tippt gerade …", "an Mitarbeiter übergeben", "Gespräch beendet" oder "abgemeldet".

## Versionen und Rollback

Jedes Veröffentlichen erzeugt eine neue Version; die Flow-Karte zeigt sie als "Aktiv · v3". Veröffentlichte Stände bleiben erhalten, du kannst jederzeit auf eine frühere Version zurückgehen. Außerdem lässt sich jeder Flow **pausieren** und wieder **aktivieren**, ohne ihn zu löschen: Pausierte Flows nutzt der Bot vorerst nicht ("Der Bot nutzt diesen Flow vorerst nicht.").

## Weiterführend

Teste den fertigen Flow im Simulator und schalte den Bot dann über die [Verbindung](/tools/wa-bot/verbindung) live. Die FAQ-Inhalte pflegst du bequemer unter [Wissen & FAQ](/tools/wa-bot/wissen). Wenn ein Flow sich nicht veröffentlichen lässt, hilft die [Fehlerbehebung](/tools/wa-bot/troubleshooting). Zurück zur [Übersicht](/tools/wa-bot).
