# Chat-Formulare: Angaben in einem Schritt abfragen

> Erstelle kurze Formulare mit bis zu 20 Feldern, etwa eine Angebotsanfrage oder eine Retoure, die der Agent passend unter seiner Antwort zeigt. Einsendungen landen im Tab Leads, per E-Mail, in Slack, per Webhook und bei einem eigenen Webhook des Formulars.

Ein Chat-Formular fragt mehrere Angaben auf einmal ab, etwa wofür ein Besucher ein Angebot braucht oder eine Bestellnummer und den Grund für eine Retoure, statt dass der Agent Frage für Frage nachhakt. Du erstellst das Formular im Tab **Actions** (Aktionen). Wann es erscheint, entscheidet der Agent. Die Felder sind immer die, die du festgelegt hast.

## Formular anlegen

1. Geh im Tab **Actions** zu **Forms** unter deinen Aktionen und klicke auf **Add form**.
2. Fülle die Felder aus:
   - **Name**: wird Besuchern als Titel des Formulars angezeigt. Bis zu 60 Zeichen.
   - **When to show it** (wann es erscheint): liest der Agent, Besucher sehen es nicht. Beschreib in bis zu 1.000 Zeichen die Momente, in denen das Formular hilft. Zum Beispiel: „Wenn der Besucher nach einem Preis für eine Sonderanfertigung fragt oder ein Angebot für mehrere Artikel möchte.“
   - **Fields**: was das Formular abfragt, bis zu 20 Felder. Jedes hat ein **Label** (Beschriftung) mit bis zu 60 Zeichen, einen **Type** (Typ) und ein Kästchen **Required** (Pflichtfeld). Zwei Felder dürfen nicht dieselbe Beschriftung haben. Mit den Pfeilen änderst du die Reihenfolge.
   - **Button text**: optional, bis zu 30 Zeichen. Bleibt das Feld leer, sehen Besucher „Senden“ in ihrer eigenen Sprache.
   - **Message after sending** (Nachricht nach dem Senden): optional, bis zu 300 Zeichen. Bleibt das Feld leer, sehen Besucher ein kurzes Dankeschön in ihrer eigenen Sprache.
3. Lass **Agent can show this form** eingeschaltet, prüf die **Preview** (Vorschau) und klicke auf **Add form**.

| Typ | Was der Besucher eingibt |
|---|---|
| **Short text** | Bis zu 200 Zeichen |
| **Long text** | Bis zu 2.000 Zeichen |
| **Email** | Eine E-Mail-Adresse, vor dem Senden geprüft |
| **Phone** | Eine Telefonnummer mit bis zu 30 Zeichen, vor dem Senden geprüft |
| **Number** | Eine Zahl wie `12` oder `12.5`, auch mit Komma |
| **Date** | Ein Datum, ausgewählt in einem Datumsfeld |
| **Dropdown** | Eine deiner Auswahlmöglichkeiten. Gib eine pro Zeile ein, bis zu 20 mit jeweils bis zu 60 Zeichen. |

Name, Beschriftungen, Auswahlmöglichkeiten, Buttontext und Nachricht sehen Besucher genau so, wie du sie schreibst. Schreib sie also in der Sprache deiner Besucher. Der Rest des Formulars, etwa „(freiwillig)“, Fehlermeldungen, das voreingestellte „Senden“ und das voreingestellte Dankeschön, folgt **Widget language** im Tab [Aussehen](/de/docs/appearance).

## Formulare verwalten

Jedes Formular in der Liste trägt das Badge **Form** und zeigt die Zahl seiner Felder und Einsendungen.

- Der Schalter **Enabled** hält den Agenten davon ab, das Formular anzubieten, ohne es zu löschen. Ein Formular, das schon in einem Chat zu sehen war, zeigt dann „Dieses Formular ist nicht mehr verfügbar.“
- **Edit** öffnet das Formular. Benennst du ein Feld um oder entfernst es, bleiben die Antworten erhalten, die Besucher schon geschickt haben. Erscheint ein Formular erneut in einem Chat, etwa nach einem Neuladen, zeigt es deine aktuelle Fassung.
- Der Papierkorb-Button löscht das Formular mit allen Einsendungen. Das lässt sich nicht rückgängig machen, exportiere die Einsendungen also vorher im Tab **Leads**, wenn du sie behalten willst.

Ein Agent kann bis zu 10 Formulare haben. Formulare zählen nicht zum Limit von 25 Aktionen.

## Wann der Agent ein Formular zeigt

Der Agent liest **When to show it** für jedes eingeschaltete Formular. Passt das Gespräch, zeigt er das Formular unter seiner Antwort und erwähnt es in einem kurzen Satz. Dieselben Angaben fragt er nicht im Chat ab.

- Das Formular entsteht aus dem Formular, das du gespeichert hast. Das KI-Modell entscheidet nur, wann es erscheint, nie, was es abfragt.
- Der Agent zeigt höchstens ein Formular unter einer Antwort.
- Unter einer Antwort, die schon das [Lead-Formular](/de/docs/lead-collection) zeigt, weil eine deiner Regeln es ausgelöst hat, erscheint kein Formular.
- In temporären Chats erscheinen keine Formulare, denn dort wird nichts gespeichert. Der Agent bittet den Besucher stattdessen, in sein gespeichertes Gespräch zurückzukehren.

Formulare erscheinen in der Chat-Bubble, im iframe, über den Direktlink, auf der [Hilfeseite](/de/docs/help-page) und im **Playground**. Sie werden mit der Antwort gespeichert und sind daher auch in den Verläufen im Tab **Conversations** zu sehen. **Why this answer** führt sie unter **Actions called** als „Form“ auf.

## Was Besucher tun

Der Besucher füllt das Formular unter der Antwort aus und klickt auf den Button. Pflichtfelder sowie Antworten zu E-Mail, Telefon, Zahl und Datum werden vor dem Senden geprüft. Danach zeigt das Formular deine **Message after sending**.

Jedes Formular lässt sich pro Gespräch einmal abschicken. Danach erscheint es als gesendet, auch wenn der Besucher die Seite neu lädt.

## Einsendungen im Tab Leads

Im Tab **Leads** listet die Karte **Form submissions**, was Besucher geschickt haben. Wähle unter **Form** ein Formular, um seine Einsendungen zu sehen, die neuesten zuerst, 20 pro Seite, mit den Antworten und einem Link zum Gespräch.

- **Refresh** lädt neue Einsendungen.
- **Export CSV** lädt bis zu 10.000 der neuesten Einsendungen des gewählten Formulars herunter. Die Datei hat die Spalten `Submitted at (UTC)`, eine Spalte pro Feld mit seiner aktuellen Beschriftung, in der Reihenfolge des Formulars, und `Conversation ID`. Ein entferntes Feld bekommt eine Spalte dahinter, wenn eine Einsendung es beantwortet hat. Antworten, die mit `=`, `+`, `-` oder `@` beginnen, bekommen ein Apostroph vorangestellt, damit Tabellenprogramme sie nicht als Formel lesen.
- Der Papierkorb-Button löscht eine Einsendung. Bereits verschickte Webhooks und E-Mails betrifft das nicht.

> Einsendungen werden getrennt von Leads gespeichert. Eine E-Mail-Adresse in einem Formular legt keinen Lead an und löst weder eine Benachrichtigung zu einem neuen Lead noch einen Webhook `lead.created` aus.

## Benachrichtigungen

- **E-Mail**: Jede Einsendung geht per E-Mail an die Empfänger deiner [Lead-Benachrichtigungen](/de/docs/lead-alerts-and-export), aber nur, solange **Email when a new lead arrives** an ist. Der Betreff lautet `New "`, gefolgt vom Namen des Formulars, `" form from` und dem Namen des Agenten. Die E-Mail listet die Antworten und den Zeitpunkt, mit einem Button **See the conversation**. Hat das Formular ein E-Mail-Feld, geht eine Antwort an die Adresse, die der Besucher eingegeben hat. Jeder Agent verschickt höchstens 30 Formular-E-Mails pro Stunde, getrennt von den Lead-Benachrichtigungen; Einsendungen darüber hinaus werden trotzdem gespeichert.
- **Slack**: Hake in der Karte **Slack alerts** unter **Post a message for** die Option **Form submission** an. Siehe [Slack-Benachrichtigungen](/de/docs/lead-alerts-and-export).
- **Webhooks**: Lass einen Webhook **Form submitted** empfangen, um das Event `form.submitted` mit den Antworten aller Formulare zu bekommen. Siehe [Webhooks](/de/docs/webhooks).
- **Der eigene Webhook des Formulars**: schickt nur die Einsendungen dieses Formulars an eine Adresse; siehe unten.

## Ein Webhook für ein einzelnes Formular

Jedes Formular kann einen eigenen Webhook haben, etwa um Angebotsanfragen an dein CRM und Rücksendeanfragen an dein Shopsystem zu schicken. Er bekommt nur die Einsendungen dieses Formulars.

1. Klicke im Tab **Actions** bei einem gespeicherten Formular auf **Edit**. **Webhook for this form** steht unten im Editor. Ein neues Formular bekommt ihn, sobald du es hinzugefügt hast.
2. Füge unter **Endpoint URL** die Adresse ein, die dein Server oder dein Tool für eingehende Webhooks nennt, und klicke auf **Add webhook**. Die Adresse muss mit `https://` beginnen und auf einen öffentlichen Server zeigen, wie bei den Webhooks des Agenten.
3. Kopiere das angezeigte Signing Secret, leg es dort ab, wo dein Empfänger es lesen kann, und klicke auf **I've saved it**. Vollständig siehst du es nur dieses eine Mal.
4. Klicke auf **Send test event**, um die Verbindung zu prüfen.

Der Bereich speichert von selbst, unabhängig vom Formular. Sein Schalter **Active** pausiert die Zustellungen, **Save address** ändert die Adresse, **New secret** ersetzt das Secret, **Remove** löscht den Webhook samt Zustellverlauf, und **Recent deliveries** zeigt die letzten 20 Zustellungen mit einem Button **Resend** für fehlgeschlagene. Die Formularliste zeigt „own webhook“ neben einem Formular, das einen hat.

- Er sendet das Event `form.submitted`, mit demselben Inhalt, derselben Signatur, denselben Wiederholungen und demselben Zustellprotokoll wie die [Webhooks](/de/docs/webhooks) des Agenten. Seine Events lassen sich nicht ändern.
- Er zählt nicht zu den 5 Webhooks des Agenten und steht nicht in der Karte **Webhooks** im Tab **Leads**.
- Die eigenen Webhooks des Agenten, die **Form submitted** empfangen, bekommen weiterhin die Einsendungen aller Formulare, auch dieses. Sollen die Einsendungen eines Formulars nur an seinen eigenen Webhook gehen, entferne bei den Webhooks des Agenten das Häkchen bei **Form submitted**.
- Wird das Formular gelöscht, wird auch sein Webhook gelöscht. Ein [duplizierter Agent](/de/docs/quick-start) bekommt Kopien der Formulare ohne ihre Webhooks.
- Den Webhook hinzufügen oder entfernen, seine Adresse ändern und ein neues Secret erstellen dürfen nur die Rolle **Admin** und der Owner des Kontos; Editoren können ihn ein- und ausschalten und ein Test-Event senden. Siehe [Teammitglieder und Rollen](/de/docs/team).

## Agenten duplizieren

Ein [duplizierter Agent](/de/docs/quick-start) bekommt Kopien der Formulare, ohne die eigenen Webhooks der Formulare. Die Einsendungen bleiben beim Original.

> Der Agent entscheidet vor allem anhand von **When to show it**. Zeigt er das Formular zu oft oder nie, beschreib die Momente genauer und probier es im Playground noch einmal.
