# Willkommen im Handbuch

Dieses Handbuch ist dein Nachschlagewerk für die Epic AI Platform.

Dieses Handbuch ist dein Nachschlagewerk für die <code class="expression">space.vars.PRODUCT\_NAME</code>. Es richtet sich sowohl an neue Nutzer, die ihre ersten Schritte auf der Plattform machen, als auch an erfahrene Anwender, die gezielt nach bestimmten Funktionen suchen.

### Was erwartet dich?

Das Handbuch ist thematisch in mehrere Bereiche gegliedert, die den Aufbau der Plattform widerspiegeln:

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Einführung</strong></td><td>Login, Registrierung und die ersten Schritte bis zu deinem ersten funktionierenden <code class="expression">space.vars.TERM_AI_AGENT</code>.</td><td><a href="/pages/JIbWtZ6HDKZ189hUpl0y">/pages/JIbWtZ6HDKZ189hUpl0y</a></td></tr><tr><td><strong>Inbox</strong></td><td>Konversationen bearbeiten – von der Bereiche-Navigation über Kontakte und Organisationen bis zu Benachrichtigungen.</td><td><a href="/pages/oPSbyVGqnwFbSg1WWqWu">/pages/oPSbyVGqnwFbSg1WWqWu</a></td></tr><tr><td><strong>Build</strong></td><td>Flow Builder, Blöcke, Elemente, Intentionen, Entitäten, Variablen und FAQs, mit denen du das Verhalten deines <code class="expression">space.vars.TERM_AI_AGENT</code>s gestaltest.</td><td><a href="/pages/bcwK6HYI8LVMLlHyM6VL">/pages/bcwK6HYI8LVMLlHyM6VL</a></td></tr><tr><td><strong>Daten</strong></td><td>Modelle trainieren, Trainingsdaten auswerten und die Erkennungsqualität deines <code class="expression">space.vars.TERM_AI_AGENT</code>s kontinuierlich verbessern.</td><td><a href="/pages/CuY9B4HvjYsasWy65s5j">/pages/CuY9B4HvjYsasWy65s5j</a></td></tr><tr><td><strong>Integration</strong></td><td>Apps, App Store und die Anbindung externer Systeme über REST-APIs.</td><td><a href="/pages/Aep6rvBEwO3xuMikolTT">/pages/Aep6rvBEwO3xuMikolTT</a></td></tr><tr><td><strong>Wissen</strong></td><td>Externe Informationsquellen wie PDFs und Websites bereitstellen und über Wissensgruppen gezielt steuern.</td><td><a href="/pages/y0NNZ6fTeC6MHAXGROh2">/pages/y0NNZ6fTeC6MHAXGROh2</a></td></tr><tr><td><strong>Einstellungen</strong></td><td>Sprachen, Benutzer, Teams, Kanäle, <code class="expression">space.vars.TERM_AI</code>-Einstellungen und alle weiteren Konfigurationen.</td><td><a href="/pages/xaiPQWr2qzXjRXynPc5n">/pages/xaiPQWr2qzXjRXynPc5n</a></td></tr><tr><td><strong>Workspace</strong></td><td>Workspace-Verwaltung, Rollen und die Erstellung eigener Apps.</td><td><a href="/pages/MdsAr061yhVsU6HWndeY">/pages/MdsAr061yhVsU6HWndeY</a></td></tr><tr><td><strong>Statistiken &#x26; Export</strong></td><td>Die Performance deines <code class="expression">space.vars.TERM_AI_AGENT</code>s auswerten und die Rohdaten exportieren.</td><td><a href="/pages/eAsZHLJp5uO5Wo1abTcl">/pages/eAsZHLJp5uO5Wo1abTcl</a></td></tr></tbody></table>

### Wie nutzt du dieses Handbuch am besten?

Jeder Artikel folgt einer einheitlichen Struktur: Eine kurze Einleitung erklärt, worum es geht. Danach erfährst du, wo du die Funktion in der Plattform findest, wie sie funktioniert und wie du sie einrichtest. Praxisbeispiele und Best Practices helfen dir, das Gelernte direkt anzuwenden.

Wenn du gerade erst startest, empfehlen wir dir den Artikel [Einführung](/epic-ai-platform/epic-ai-platform/einfuhrung). Er führt dich kompakt durch die Einrichtung – vom Workspace bis zum ersten funktionierenden Kanal.

Suchst du eine bestimmte Funktion, nutze die thematische Gliederung oder die Suchfunktion, um direkt zum passenden Artikel zu springen.

### Support

Solltest du im Handbuch nicht fündig werden, erreichst du unser Support-Team jederzeit über das [Support-Portal](/support).


# Epic AI Platform

## Epic AI Platform

Die <code class="expression">space.vars.PRODUCT\_NAME</code> ist eine Plattform zur Erstellung, Verwaltung und Optimierung <code class="expression">space.vars.TERM\_AI</code>-gestützter <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Mit ihr baust du intelligente Assistenten, die Kundenanfragen automatisiert beantworten – per Telefon, Chat, E-Mail oder Messenger.

### Für wen ist die Plattform?

Die <code class="expression">space.vars.PRODUCT\_NAME</code> richtet sich an Unternehmen und Teams, die ihre Kundenkommunikation automatisieren und skalieren möchten. Typische Einsatzbereiche sind Kundenservice, Support, Vertrieb und interne Prozessautomatisierung.

Die Plattform ist so aufgebaut, dass Fachanwender – also Personen ohne technischen Hintergrund – <code class="expression">space.vars.TERM\_AI\_AGENT</code>s eigenständig erstellen und betreiben können. Für fortgeschrittene Anwendungsfälle bietet sie gleichzeitig API-Anbindungen, benutzerdefinierte Apps und flexible <code class="expression">space.vars.TERM\_AI</code>-Konfigurationen.

### Was kann die Plattform?

Die <code class="expression">space.vars.PRODUCT\_NAME</code> deckt den gesamten Lebenszyklus eines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s ab: von der Entwicklung über den Betrieb bis zur kontinuierlichen Optimierung.

* **Konversationen gestalten:** Im visuellen <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> baust du per Drag & Drop Gesprächsabläufe auf – ohne Programmierkenntnisse.
* **Kanalübergreifend kommunizieren:** Dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> ist über verschiedene Kanäle erreichbar – darunter Telefon (Voice), Web-Widget, WhatsApp, Telegram, Facebook Messenger und E-Mail.
* **Mensch und** <code class="expression">space.vars.TERM\_AI</code> **kombinieren:** Die Inbox ermöglicht es deinem Team, <code class="expression">space.vars.TERM\_AI</code>-geführte Gespräche nahtlos zu übernehmen, weiterzubearbeiten oder Kollegen zuzuweisen.
* **Externe Systeme anbinden:** Über Apps und API-Schnittstellen verbindest du deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> mit CRM-Systemen, Shop-Plattformen, Versanddienstleistern und weiteren Diensten.
* **Wissen bereitstellen:** Lade PDFs hoch oder binde Websites ein, damit dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> Fragen auf Basis deiner Inhalte beantworten kann.
* **Erkennungsqualität verbessern:** Über Trainingsdaten, Modellbewertungen und gezielte Nachbearbeitung wird dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> mit der Zeit immer präziser.

### Erste Schritte

{% hint style="success" %}
Neu hier? Starte mit dem Artikel [Einführung](/epic-ai-platform/epic-ai-platform/einfuhrung). Er führt dich Schritt für Schritt von der Registrierung bis zu deinem ersten funktionierenden <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Die Kernkonzepte weiter unten kannst du dir optional vorab ansehen.
{% endhint %}

### Kernkonzepte im Überblick

Diese Begriffe helfen dir, die Plattform schnell einzuordnen. Jedes Konzept wird in einem eigenen Artikel ausführlich behandelt.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Workspace</strong></td><td>Dein zentraler Arbeitsbereich – bündelt alle <code class="expression">space.vars.TERM_AI_AGENT</code>s, Apps und Teammitglieder.</td><td><a href="/pages/MdsAr061yhVsU6HWndeY">/pages/MdsAr061yhVsU6HWndeY</a></td></tr><tr><td><code class="expression">space.vars.TERM_AI_AGENT</code></td><td>Eigenständiger Assistent mit gesamter Konversationslogik, Einstellungen und Kanälen.</td><td><a href="/pages/EFDgzOUW9CDlDYjJl4Pc">/pages/EFDgzOUW9CDlDYjJl4Pc</a></td></tr><tr><td><code class="expression">space.vars.TERM_FLOW_BUILDER</code> <strong>&#x26; Flows</strong></td><td>Visuelle Arbeitsumgebung, in der du Gesprächsabläufe per Drag &#x26; Drop aufbaust.</td><td><a href="/pages/F9EBj0t9QQT8aAEaDxPX">/pages/F9EBj0t9QQT8aAEaDxPX</a></td></tr><tr><td><strong>Blöcke &#x26; Elemente</strong></td><td>Bausteine eines Flows – sie legen fest, was der Agent an einer Stelle im Gespräch tut.</td><td><a href="/pages/4szC8ygi3jpAKGwpyUiG">/pages/4szC8ygi3jpAKGwpyUiG</a></td></tr><tr><td><strong>Intentionen &#x26; FAQs</strong></td><td>Nutzerabsichten erkennen und häufige Fragen automatisch beantworten.</td><td><a href="/pages/MSUgwqJkzTIYlsIoxCNk">/pages/MSUgwqJkzTIYlsIoxCNk</a></td></tr><tr><td><strong>Entitäten &#x26; Variablen</strong></td><td>Strukturierte Daten aus Eingaben extrahieren und im Flow weiterverwenden.</td><td><a href="/pages/AckOiY6uA5xTs60yaBX5">/pages/AckOiY6uA5xTs60yaBX5</a></td></tr><tr><td><strong>Inbox</strong></td><td>Zentraler Arbeitsplatz für alle Konversationen deines Teams – kanalübergreifend.</td><td><a href="/pages/oPSbyVGqnwFbSg1WWqWu">/pages/oPSbyVGqnwFbSg1WWqWu</a></td></tr><tr><td><strong>Kanäle</strong></td><td>Kommunikationswege wie Web-Widget, WhatsApp, Telefon, Telegram oder E-Mail.</td><td><a href="/pages/TYwPleoPBeFtQYrvt0n4">/pages/TYwPleoPBeFtQYrvt0n4</a></td></tr><tr><td><strong>Wissen</strong></td><td>PDFs und Websites als Antwortgrundlage für deinen <code class="expression">space.vars.TERM_AI_AGENT</code> bereitstellen.</td><td><a href="/pages/y0NNZ6fTeC6MHAXGROh2">/pages/y0NNZ6fTeC6MHAXGROh2</a></td></tr><tr><td><strong>Versionen &#x26; Bereitstellung</strong></td><td>Entwicklungsstände sichern und über Entwicklung, Test und Produktiv ausrollen.</td><td><a href="/pages/RTeNgh1VQ6qNrVk6fG50">/pages/RTeNgh1VQ6qNrVk6fG50</a></td></tr><tr><td><strong>Apps &#x26; Appstore</strong></td><td>Externe Systeme über REST-APIs mit deinem <code class="expression">space.vars.TERM_AI_AGENT</code> verbinden.</td><td><a href="/pages/SDgm86D4pkgrFMxg9qzd">/pages/SDgm86D4pkgrFMxg9qzd</a></td></tr></tbody></table>


# Einführung

In diesem Artikel erfährst du, wie du dich registrierst, anmeldest und die ersten Schritte bis zu deinem ersten funktionierenden AI Agent durchläufst.

### Anmeldung und Registrierung

#### Account erstellen

Nach Vertragsabschluss wirst du aufgefordert, einen Account auf der <code class="expression">space.vars.PRODUCT\_NAME</code> anzulegen. Auf der Anmeldeseite hast du zwei Möglichkeiten:

* **Mit Google anmelden:** Klicke auf *Mit Google anmelden*, um dich direkt mit deinem bestehenden Google-Konto zu registrieren.
* **Mit E-Mail und Passwort:** Gib deine E-Mail-Adresse und ein Passwort ein und klicke auf *Jetzt registrieren*.

#### Anmelden

Wenn du bereits einen Account besitzt, melde dich auf der Anmeldeseite mit deinen Zugangsdaten an – entweder über dein Google-Konto oder per E-Mail und Passwort.

Hast du dein Passwort vergessen, klicke auf *Passwort vergessen?* und folge den Anweisungen.

***

### Erste Schritte – Dein Weg zum ersten AI Agent

Der folgende Abschnitt führt dich Schritt für Schritt durch die Einrichtung – vom Workspace bis zum ersten funktionierenden Kanal. Jeder Schritt ist bewusst kompakt gehalten; für Details findest du Verweise auf die ausführlichen Handbuchartikel.

#### Schritt 1: Workspace erstellen

Nach dem ersten Login siehst du deine Plattform-Übersicht. Da du noch keinen [Workspace](/epic-ai-platform/epic-ai-platform/workspace) hast, legst du zunächst einen an.

{% stepper %}
{% step %}
Klicke auf *Neuen Workspace erstellen*.
{% endstep %}

{% step %}
Vergib einen aussagekräftigen Namen – z. B. den Namen deines Unternehmens oder Projekts. Der Name kann nachträglich angepasst werden.
{% endstep %}

{% step %}
Klicke auf *Workspace erstellen*.
{% endstep %}
{% endstepper %}

Ein Workspace ist dein zentraler Arbeitsbereich. Er bündelt alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>s, Apps und Teammitglieder an einem Ort.

#### Schritt 2: AI Agent erstellen

Nach der Workspace-Erstellung landest du in der <code class="expression">space.vars.TERM\_AI\_AGENT</code>-Übersicht. Hier legst du deinen ersten <code class="expression">space.vars.TERM\_AI\_AGENT</code> an.

{% stepper %}
{% step %}
Klicke auf die Karte *Neuen* <code class="expression">space.vars.TERM\_AI\_AGENT</code> *erstellen*.
{% endstep %}

{% step %}
Vergib einen Namen – z. B. „Kundenservice“ oder „Support Agent“. Dieser Name ist nur intern sichtbar.
{% endstep %}

{% step %}
Lege die Standardsprache fest. Diese kann nachträglich nicht geändert werden.
{% endstep %}

{% step %}
Weise deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> einen Workspace zu.
{% endstep %}

{% step %}
Klicke auf <code class="expression">space.vars.TERM\_AI\_AGENT</code> *erstellen*.
{% endstep %}
{% endstepper %}

Sobald dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> bereit ist, klickst du auf *Jetzt konfigurieren*, um direkt im <code class="expression">space.vars.TERM\_AI\_AGENT</code> zu landen.

#### Schritt 3: Flow einrichten

Wenn du deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> öffnest, landest du automatisch auf dem Dashboard. Wähle hier (oder aus der Navigationsleiste) den [<code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder).

Der <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> ist die zentrale Arbeitsumgebung, in der du das Verhalten deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s gestaltest. Beim ersten Aufrufen wirst du aufgefordert, deinen ersten Flow einzurichten. Dieser wird automatisch zum **Standard-Flow** und enthält zwei wichtige Schritte:

* [Einstieg](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flows#der-standard-flow-einstieg-and-fallback) – Hier beginnen alle Konversationen mit deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code>.
* [Fallback](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flows#der-standard-flow-einstieg-and-fallback) – Hierhin wird die Konversation geleitet, wenn etwas schiefgeht, keine Intention erkannt wird oder unverbundene Enden durchlaufen werden.

So richtest du deinen ersten Flow ein:

{% stepper %}
{% step %}
Klicke auf *Flow einrichten*, um deinen Standard-Flow anzulegen.
{% endstep %}

{% step %}
Öffne den Flow, um auf den Canvas – die visuelle Arbeitsfläche – zu gelangen.
{% endstep %}

{% step %}
Füge über die rechte Seitenleiste einen [Block](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block) hinzu (*Schritt hinzufügen → Häufig verwendet → Block*) und verbinde den Einstieg mit ihm.
{% endstep %}

{% step %}
Gib dem Block einen Namen – z. B. „Begrüßung“.
{% endstep %}

{% step %}
Klicke auf *Element hinzufügen* und wähle [Textnachricht](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-basis#textnachricht).
{% endstep %}

{% step %}
Trage eine Begrüßungsnachricht ein – z. B. „Hallo! Wie kann ich dir helfen?“.
{% endstep %}

{% step %}
Aktiviere die Option *Erwartet Nutzereingabe nach diesem Block*.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}

{% step %}
Ziehe vom Ausgang des Einstiegs eine Linie zu einem weiteren Block und füge auch dort eine Textnachricht ein.
{% endstep %}
{% endstepper %}

Damit sind die ersten Schritte getan – dein Flow ist schon jetzt funktionsfähig.

{% hint style="success" %}
Richte auch den Fallback ein, damit dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> bei nicht erkannten Eingaben eine sinnvolle Rückmeldung gibt – z. B. „Entschuldigung, das habe ich nicht verstanden. Kannst du deine Frage anders formulieren?“
{% endhint %}

#### Schritt 4: Flow im Debugging testen

Bevor du einen Kanal einrichtest, solltest du deinen Flow testen. Das [Debugging-Tool](/epic-ai-platform/epic-ai-platform/ai-agent/debugging) ermöglicht dir, Gespräche zu simulieren, ohne dass echte Nutzer betroffen sind.

{% stepper %}
{% step %}
Klicke in der Navigationsleiste links auf *Debugging öffnen*.
{% endstep %}

{% step %}
Es öffnet sich rechts ein Chat-Fenster. Hier erscheint die Begrüßungsnachricht.
{% endstep %}

{% step %}
Schreibe eine Testnachricht – z. B. „Hallo“ – und prüfe, ob dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> wie erwartet mit dem nächsten Schritt fortfährt.
{% endstep %}

{% step %}
Nutze das Uhrensymbol *Nachrichten zurücksetzen*, um die Konversation neu zu starten.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Änderungen an Flows sind sofort im Debugging testbar – ohne dass eine Version erstellt werden muss. Änderungen an Intentionen oder Entitäten erfordern jedoch ein neues Modelltraining.
{% endhint %}

#### Schritt 5: Kanal anlegen

Damit dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> für Nutzer erreichbar ist, richtest du einen [Kanal](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale) ein. Ein Kanal definiert den Kommunikationsweg – z. B. Telefon, Web-Widget, E-Mail oder WhatsApp. Du findest die Kanalverwaltung unter *Einstellungen → Kanäle*.

Für einen schnellen Einstieg empfehlen wir das [Web-Widget](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale/web-kanal). So richtest du es ein:

{% stepper %}
{% step %}
Wähle aus der Übersicht *Web-Widget*.
{% endstep %}

{% step %}
Vergib einen Kanalnamen – z. B. „Web-Widget Test“.
{% endstep %}

{% step %}
Wähle als Bereitstellungsumgebung zunächst *Entwicklung* oder *Test*.
{% endstep %}

{% step %}
Hinterlege die Domain deiner Website. Du kannst sie auch vorerst leer lassen.
{% endstep %}

{% step %}
Bestätige mit *Kanal erstellen*.
{% endstep %}
{% endstepper %}

Über den Button *Widget* passt du anschließend Farben, Texte und Erscheinungsbild an. Mit *Widget live testen* öffnest du das Widget in einem Testfenster und führst eine echte Konversation – ganz ohne Einbindung.

{% hint style="info" %}
Im Gegensatz zum Debug-Chat werden über das Web-Widget geführte Nachrichten dauerhaft in der [Inbox](/epic-ai-platform/epic-ai-platform/ai-agent/inbox) gespeichert.
{% endhint %}

#### Schritt 6: Testen und Weiterentwickeln

Nach der Kanaleinrichtung kannst du deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> in der gewählten Bereitstellungsumgebung testen.

{% stepper %}
{% step %}
Öffne das Web-Widget über *Widget aufrufen* und führe eine Testkonversation.
{% endstep %}

{% step %}
Wechsle parallel in die [Inbox](/epic-ai-platform/epic-ai-platform/ai-agent/inbox) (*Navigation → Inbox*), um die Konversation dort einzusehen. Tipp: Öffne die Inbox in einem neuen Tab.
{% endstep %}

{% step %}
Prüfe, ob der <code class="expression">space.vars.TERM\_AI\_AGENT</code> wie erwartet antwortet und die Konversation korrekt in der Inbox erscheint.
{% endstep %}
{% endstepper %}

Sobald dein Flow stabil läuft, kannst du ihn schrittweise erweitern:

* [Weitere Schritte](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder) einfügen, etwa das KI-gestützte [Gespräch führen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-gesprach-fuhren).
* [Intentionen](/epic-ai-platform/epic-ai-platform/ai-agent/build/intentionen) anlegen, damit dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> verschiedene Nutzeranliegen erkennt.
* [Variablen](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen) nutzen, um Informationen zu speichern und personalisierte Antworten zu erzeugen.
* [Entitäten](/epic-ai-platform/epic-ai-platform/ai-agent/build/entitaten) einrichten, um spezifische Daten wie IBANs oder Telefonnummern automatisch zu extrahieren.
* [Wissen](/epic-ai-platform/epic-ai-platform/ai-agent/build/wissen) hinterlegen, damit dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> auf Basis von Dokumenten oder Webseiten antwortet.
* [Versionen](/epic-ai-platform/epic-ai-platform/ai-agent/versionen-and-bereitstellungsumgebungen) erstellen, um einen stabilen Stand zu sichern und deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> in der Produktivumgebung bereitzustellen.

***

### Best Practices

* **Klein anfangen:** Starte mit einem einfachen Flow und erweitere ihn schrittweise. Ein funktionierender Begrüßungs-Flow mit Fallback ist ein solider Ausgangspunkt.
* **Regelmäßig testen:** Nutze das Debugging-Tool nach jeder Änderung. So erkennst du Fehler frühzeitig, bevor sie bei echten Nutzern auftreten.
* **Erst testen, dann live gehen:** Richte deinen Kanal zunächst in der Test-Umgebung ein. Erst wenn alles wie gewünscht funktioniert, erstellst du eine Version und stellst sie in der Produktivumgebung bereit.
* **Inbox kennenlernen:** Öffne parallel zu deinen Tests (in einem neuen Tab oder Fenster) die Inbox. So bekommst du ein Gefühl dafür, wie Konversationen aus Mitarbeitersicht aussehen und welche Funktionen zur Verfügung stehen.
* **Teammitglieder frühzeitig einbinden:** [Lade Kollegen über die Benutzerverwaltung ein](/epic-ai-platform/epic-ai-platform/workspace/benutzer) und weise ihnen passende Rollen zu – so kann dein Team von Anfang an mitarbeiten.


# Workspace

Ein Workspace ist dein zentraler Arbeitsbereich in der Epic AI Platform. Er bündelt alle AI Agents, Apps und Teammitglieder eines Projekts oder Unternehmens an einem Ort.

### Wo finde ich das?

Die *Übersicht* ist die erste Seite, die du nach dem Login siehst. <code class="expression">space.vars.TERM\_AI\_AGENT</code>s und Workspaces werden hier gemeinsam aufgelistet.

Über das Suchfeld *Nach Name oder ID durchsuchen* findest du gezielt einen Workspace oder <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Mit den Filtern *AI Agents* und *Workspaces* blendest du ein, was du sehen möchtest. Jeder Eintrag zeigt seinen Namen, die zugehörige Organisation und – bei <code class="expression">space.vars.TERM\_AI\_AGENT</code>s – ein Typ-Kennzeichen.

***

### Was ist ein Workspace?

Ein Workspace ist eine Organisationseinheit, die mehrere <code class="expression">space.vars.TERM\_AI\_AGENT</code>s und Apps bündelt. Du kannst dir einen Workspace wie einen gemeinsamen Ordner vorstellen, in dem alles zusammenkommt, was zu einem Projekt oder Unternehmen gehört.

Innerhalb eines Workspace kannst du:

* <code class="expression">space.vars.TERM\_AI\_AGENT</code>s erstellen und verwalten
* [Apps](/epic-ai-platform/epic-ai-platform/workspace/apps) anlegen und konfigurieren
* [Teammitglieder](/epic-ai-platform/epic-ai-platform/workspace/benutzer) einladen und deren Rollen verwalten
* [Compliance-Vorgaben](/epic-ai-platform/epic-ai-platform/workspace/compliance) für alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>s setzen
* Workspace-Einstellungen anpassen

{% hint style="info" %}
Die Anzahl der Workspaces, die du erstellen kannst, hängt von deinem Vertrag bzw. Preismodell ab.
{% endhint %}

***

### Workspace erstellen

{% stepper %}
{% step %}
Wähle auf der Übersicht im Bereich *Jetzt starten* die Karte *Neuen Workspace erstellen*.
{% endstep %}

{% step %}
Trage im Feld *Name des Workspace* einen aussagekräftigen Namen ein (Pflichtfeld). Der Name lässt sich später in den Einstellungen anpassen.
{% endstep %}

{% step %}
Klicke auf *Workspace erstellen*.
{% endstep %}

{% step %}
Nach dem Anlegen erscheint die Bestätigung *Dein Workspace ist bereit*. Über *Zum Workspace* springst du direkt hinein.
{% endstep %}
{% endstepper %}

***

### Workspace öffnen und verwalten

Um einen Workspace einzusehen oder zu bearbeiten, wählst du ihn direkt aus der Übersichtsliste aus. Du landest im *Workspace Dashboard*. Es gibt dir einen schnellen Überblick und bündelt die wichtigsten Bereiche an einem Ort – inklusive der Anzahl der Benutzer sowie der aktiven <code class="expression">space.vars.TERM\_AI\_AGENT</code>s.

#### Schnellzugriff

Über die Kacheln im Bereich *Schnellzugriff* erreichst du direkt:

* [Benutzer](/epic-ai-platform/epic-ai-platform/workspace/benutzer) – Teammitglieder einladen, verwalten und Rollen zuweisen.
* [Apps](/epic-ai-platform/epic-ai-platform/workspace/apps) – Externe Systeme via REST-API anbinden.
* [Einstellungen](/epic-ai-platform/epic-ai-platform/workspace/einstellungen) – Workspace löschen.
* Diese Dokumentation – Anleitungen, API-Referenz und Best Practices (öffnet in einem neuen Tab).

Der Bereich [Compliance](/epic-ai-platform/epic-ai-platform/workspace/compliance) gehört nicht zum Schnellzugriff. Du erreichst ihn über die Navigationsleiste des Workspace.

#### AI Agents

Hier werden die im Workspace angelegten <code class="expression">space.vars.TERM\_AI\_AGENT</code>s aufgelistet. Wurde noch keiner erstellt, erscheint der Hinweis *Noch keinen AI Agent in diesem Workspace*.

#### Neuigkeiten

Im Bereich *Was ist neu* (mit Versionsnummer) findest du die jüngsten Produktupdates, etwa neue Kanäle, Wissensquellen oder Personalisierungsoptionen.

***

### Best Practices

* **Sprechende Namen vergeben:** Wähle einen Namen, der das Projekt oder Unternehmen klar beschreibt. So behältst du bei mehreren Workspaces den Überblick.
* **Ein Workspace pro Projekt oder Kunde:** Trenne unterschiedliche Projekte in eigene Workspaces. Das erleichtert die Verwaltung und schützt Daten voneinander.
* **Rollen bewusst vergeben:** Vergib beim Einladen zunächst eine Rolle mit geringen Rechten und erweitere sie nur bei Bedarf.


# Benutzer

Im Bereich Benutzer verwaltest du alle Personen, die Zugriff auf deinen Workspace haben. Du kannst neue Mitglieder einladen, ihnen Rollen zuweisen und sie bei Bedarf wieder entfernen.

### Wo finde ich das?

Du erreichst die Benutzerübersicht über *Workspace → Benutzer* – sowohl über die Navigationsleiste als auch über das Workspace Dashboard.

***

### Erklärung – Was sind Benutzer?

Benutzer sind Personen, die Mitglied in deinem Workspace sind. Jeder Benutzer hat eine oder mehrere Rollen, die bestimmen, welche Aktionen er im Workspace ausführen darf.

### Die Benutzerübersicht

In der Übersicht siehst du alle Mitglieder des Workspace samt ihrer E-Mail-Adresse und ihrem Beitrittsdatum. Mit einem Klick auf einen Benutzer öffnet sich dessen Detailseite, auf der du Profil und Rollen einsehen und verwalten kannst.

***

### Verwaltung – Einladen, Bearbeiten und Entfernen

#### Benutzer einladen

{% stepper %}
{% step %}
Klicke oben rechts auf *Benutzer hinzufügen*.
{% endstep %}

{% step %}
**Benutzer:** Trage für jede einzuladende Person den Namen, die E-Mail-Adresse und die gewünschte Rolle (*Mitglied*, *Administrator* oder *Inhaber*) ein. Über *Weiteren Benutzer hinzufügen* lädst du mehrere Personen in einem Durchgang ein. Klicke auf *Weiter*.
{% endstep %}

{% step %}
**AI Agents (optional):** Verknüpfe die eingeladenen Benutzer direkt mit einem oder mehreren <code class="expression">space.vars.TERM\_AI\_AGENT</code>s und lege die jeweilige Rolle fest. Diese Zuweisung gilt für alle Benutzer dieser Einladung. Der Schritt ist optional und kann übersprungen werden. Klicke auf *Weiter*.
{% endstep %}

{% step %}
**Bestätigung:** Prüfe in der Zusammenfassung alle Einladungen und Agent-Zuweisungen und klicke auf *Einladung senden*.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Eingeladene Benutzer, die ihre Registrierung noch nicht abgeschlossen haben, sind in der Übersicht mit einem Badge gekennzeichnet. So siehst du auf einen Blick, welche Mitglieder noch ausstehen.

Eine Einladung ist **30 Tage** gültig. Ist sie abgelaufen, kannst du den Einladungslink über die Detailseite des Benutzers erneut versenden.
{% endhint %}

#### Rollen

Rollen steuern, welche Aktionen ein Benutzer innerhalb eines Workspace ausführen darf.

<table><thead><tr><th width="235.66015625">Rolle</th><th>Beschreibung</th></tr></thead><tbody><tr><td><strong>Inhaber</strong></td><td>Enthält alle Berechtigungen für diesen Workspace.</td></tr><tr><td><strong>Administrator</strong></td><td>Enthält alle Berechtigungen für diesen Workspace, außer das Löschen des Workspaces.</td></tr><tr><td><strong>Mitglied</strong></td><td>Kann andere Mitglieder sehen, aber keine Änderungen vornehmen.</td></tr></tbody></table>

#### Rollen zuweisen

{% stepper %}
{% step %}
Klicke in der Benutzerübersicht auf den gewünschten Benutzer.
{% endstep %}

{% step %}
Auf der Detailseite siehst du seine aktuellen Rollen in einer Tabelle.
{% endstep %}

{% step %}
Klicke auf *Rolle hinzufügen*.
{% endstep %}

{% step %}
Wähle im Dropdown eine Rolle aus. Angezeigt werden nur Rollen, die der Benutzer noch nicht besitzt (*Inhaber*, *Administrator* oder *Mitglied*).
{% endstep %}

{% step %}
Klicke auf *Rolle hinzufügen*, um die Zuweisung zu bestätigen.
{% endstep %}
{% endstepper %}

#### Rolle entfernen

{% stepper %}
{% step %}
Fahre in der Rollen-Tabelle der Detailseite mit der Maus über die zu entfernende Rolle. Es erscheint ein Lösch-Symbol.
{% endstep %}

{% step %}
Klicke auf das Lösch-Symbol.
{% endstep %}

{% step %}
Bestätige die Aktion im folgenden Dialog.
{% endstep %}
{% endstepper %}

#### Benutzer entfernen

Benutzer kannst du auf zwei Wegen aus dem Workspace entfernen:

* **Über die Benutzerübersicht:** Fahre in der Liste mit der Maus über den Benutzer und klicke auf das Lösch-Symbol am rechten Rand.
* **Über die Detailseite:** Öffne den Benutzer und klicke auf *Entfernen*.

In beiden Fällen öffnet sich der Dialog *Benutzer löschen*. Gib zur Bestätigung den vollständigen Namen des Benutzers in das Textfeld ein und klicke auf *Benutzer löschen*.

{% hint style="warning" %}
Entfernst du einen Benutzer, verliert er sofort den Zugriff auf den Workspace und alle darin enthaltenen Inhalte und kann sich nicht mehr anmelden. Du kannst ihn jedoch jederzeit erneut einladen.
{% endhint %}

***

### Best Practices

* Weise neuen Teammitgliedern zunächst die Rolle *Mitglied* zu und erweitere die Rechte nur bei Bedarf. So behältst du die Kontrolle darüber, wer Änderungen vornehmen darf.
* Vergib die Rolle *Inhaber* nur an Personen, die auch für Abrechnung und grundlegende Workspace-Einstellungen verantwortlich sind.
* Entferne Benutzer zeitnah, wenn sie das Team verlassen, damit kein unbefugter Zugriff auf den Workspace bestehen bleibt.


# Apps

Apps integrieren externe Systeme via REST-API direkt in den AI Agent, um Daten abzurufen, zu validieren oder Systemänderungen auszulösen.

### Wo finde ich Apps?

Apps werden auf Workspace-Ebene verwaltet. Du erreichst sie über die Navigationsleiste oder das Workspace Dashboard: *Workspace → Apps*.

In diesem Bereich siehst du alle Apps, die in deinem Workspace vorhanden sind. Jede App wird mit ihrem Namen und einer eindeutigen ID angezeigt. Über den Button *Neue App anlegen* erstellst du eine neue App.

{% hint style="info" %}
Eine im Workspace angelegte App muss [im jeweiligen AI Agent noch installiert](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/apps-appstore) werden.
{% endhint %}

***

### Was sind Apps?

Eine App ist eine strukturierte Verbindung zu einer externen REST-API. Sie bündelt alle Konfigurationen, die nötig sind, um Daten aus einem externen System abzurufen oder dorthin zu senden – von der Authentifizierung bis hin zur Definition einzelner API-Endpunkte.

#### Typische Anwendungsfälle

* **Informationsabfragen:** Abruf externer Daten, z. B. Sendungsstatus über eine zuvor erfragte Sendungsnummer oder offene Rechnungsbeträge.
* **Datenvalidierung:** Überprüfung von IDs, Zugangsdaten oder Formularwerten auf Richtigkeit oder Existenz.
* **Datenspeicherung:** Übermittlung von Änderungen, z. B. bei Adress- oder Kontaktdatenaktualisierungen oder Stornierungen von Bestellungen.

#### Voraussetzungen

Damit eine App funktioniert, muss die angebundene API folgende technische Anforderungen erfüllen:

* **API-Typ:** REST (Representational State Transfer)
* **Unterstützte HTTP-Methoden:** GET, POST, PATCH, PUT, DELETE
* **Datenformat der Rückgabe:** JSON

{% hint style="warning" %}
Arrays in der API-Antwort eines einzelnen Endpunkts können aktuell nicht direkt verarbeitet werden. Als Workaround muss die Antwortstruktur „geflattert" werden – d. h. verschachtelte Array-Strukturen werden in eine flache Key-Value-Struktur umgewandelt.
{% endhint %}

***

### Aufbau einer App

Eine App besteht aus mehreren Bereichen, die jeweils eine eigene Funktion haben. Du navigierst zwischen ihnen über die linke Seitenleiste innerhalb der App oder das App Dashboard. Die Bereiche umfassen: *Übersicht*, *Basisdaten*, *Verbindungen*, *Module*, *DataCards*, *Beschreibung*, *Veröffentlichen* und *Einstellungen*.

#### Basisdaten

Basisdaten enthalten allgemeine, wiederverwendbare Werte der App – zum Beispiel die Basis-URL einer API. Diese Daten werden automatisch jedem Request der App hinzugefügt und stehen in allen Modulen und Verbindungen über die Syntax `{{schlüsselname}}` zur Verfügung.

**Beispiel:**

```json
{
  "baseUrl": "https://api.chucknorris.io"
}
```

Dieser Wert kann anschließend in Modulen als `{{baseUrl}}` referenziert werden, z. B.:

```json
{
  "url": "{{baseUrl}}/jokes/random",
  "method": "GET"
}
```

***

#### Verbindungen

Verbindungen steuern die Authentifizierung gegenüber der externen API. Jede Verbindung führt beim Einrichten einen **Health Check** durch – ein automatischer Test-Request, der prüft, ob die Verbindung funktioniert. Die Verbindung gilt als verbunden, wenn die API einen HTTP-Statuscode zwischen **200 und 299** zurückgibt.

Mehrere Module können dieselbe Verbindung nutzen, sofern sie auf die gleiche Authentifizierung angewiesen sind.

**Verbindungstypen**

Beim Erstellen einer Verbindung wählst du im Feld *Typ* eine von fünf Authentifizierungsarten: *Keine Authentifizierung*, *Basic Auth*, *Bearer Token*, *OAuth2 Authorization Code* oder *Benutzerdefinierte Authentifizierung*.

Bei *Basic Auth*, *Bearer Token* und *OAuth2* setzt die Plattform den `Authorization`-Header selbst; die Zugangsdaten trägt nicht der App-Ersteller ein, sondern der Installierer im <code class="expression">space.vars.TERM\_AI\_AGENT</code>.

{% hint style="info" %}
Welcher Typ was verlangt, wie OAuth2 konfiguriert wird und welche `{{auth.*}}`-Platzhalter zur Verfügung stehen, steht auf der Seite [Authentifizierung](/epic-ai-platform/epic-ai-platform/workspace/apps/authentifizierung).
{% endhint %}

**Verbindung konfigurieren**

Jede Verbindung hat zwei Tabs

* *Abfrage:* Hier definierst du die Struktur des Health Checks als JSON – also URL und Methode des Test-Requests. Auf die Basisdaten kannst du auch hier über `{{schlüsselname}}` zugreifen.
* *Parameter:* Hier hinterlegst du Parameter als JSON, die in der Abfragestruktur verwendet werden können.

&#x20;Bei *OAuth2 Authorization Code* gibt es einen weiteren Tab

* *OAuth2-Konfiguration:* Client ID, Client Secret, Redirect URI und die Requests für Autorisierung, Token und Erneuerung.

Beispiel:

```json
{
  "url": "{{baseUrl}}/api/health",
  "method": "GET",
  "headers": {
    "x-api-key": "{{parameters.apiKey}}"
  }
}
```

***

#### Module

Module definieren die eigentlichen API-Aufrufe. Jedes Modul entspricht einem bestimmten Endpunkt oder einer Aktion der API. Module werden [als Schritte im Flow Builder](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/app-module) eingebunden und führen dort automatisierte Aktionen aus.

Aktuell unterstützen Module den Typ **Action** – damit löst ein Modul eine definierte API-Anfrage aus, wenn es im Flow ausgeführt wird.

**Modul konfigurieren**

Ein Modul hat drei Tabs:

**Request**

Hier definierst du die Abfragestruktur des API-Calls als JSON. Die Struktur erbt automatisch die Werte aus den Basisdaten. Du kannst also direkt auf `{{baseUrl}}` und andere dort definierte Schlüssel zugreifen. Zusätzlich verknüpfst du hier das Modul mit einer Verbindung – diese liefert die Authentifizierungsinformationen für den Request.

**Parameter**

Hier legst du die Eingabeparameter des Moduls als JSON-Array fest. Diese Parameter können im Request verwendet werden – z. B. als Werte in der URL, im Body oder in Query-Parametern.

**Output**

Hier definierst du die Ausgabeparameter des Moduls als JSON-Array. Pro Ausgabeparameter gibst du Folgendes an:

* `name`: Schlüsselname im API-Response
* `type`: Datentyp (z. B. `text`)
* `label`: Anzeigename im Flow Builder bzw. Variablen-Picker

Die definierten Ausgabeparameter stehen nach dem Ausführen des Moduls im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> als Variablen zur Verfügung.

**Beispiel:**

```json
[
  {
    "name": "value",
    "type": "text",
    "label": "Witz"
  },
  {
    "name": "id",
    "type": "text",
    "label": "ID"
  }
]
```

***

#### DataCards

DataCards sind Informationskarten, die in der Inbox auf der rechten Seite in den Konversationsinformationen angezeigt werden. Sie zeigen automatisch Daten aus Apps an – z. B. Kunden- oder Bestellinformationen – und ermöglichen so einen schnellen Überblick, ohne den Chat verlassen zu müssen.

Für jede DataCard hinterlegst du einen Namen und eine URL, von der die Daten geladen werden.

***

#### Beschreibung

Für jede App kann eine Beschreibung in Markdown hinterlegt werden. Der Editor zeigt links die Markdown-Eingabe und rechts eine Live-Vorschau der gerenderten Ausgabe.

Die Beschreibung hilft dabei, Zweck, Funktionsweise und Nutzung der App zu dokumentieren – und erleichtert anderen Nutzern die Einbindung im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.

***

#### Veröffentlichen

Über den Bereich *Veröffentlichen* kannst du eine Veröffentlichung deiner App oder ihrer neuen Version beantragen. Veröffentlichte Apps sind im App-Marktplatz für alle Nutzer der Plattform verfügbar.

Der Prozess läuft wie folgt ab:

{% stepper %}
{% step %}
Du legst eine App an oder nimmst Änderungen an ihr vor.
{% endstep %}

{% step %}
Du klickst im Navigationspunkt *Veröffentlichen* auf *App veröffentlichen*.
{% endstep %}

{% step %}
Das Epic AI-Team prüft die App und gibt sie frei.
{% endstep %}

{% step %}
Nach der Freigabe ist die App im App-Marktplatz verfügbar.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Änderungen, die nach einer Veröffentlichung vorgenommen werden, sind nicht automatisch öffentlich. Um sie zu veröffentlichen, muss erneut eine Veröffentlichung beantragt werden.
{% endhint %}

Der Bereich zeigt dir den aktuellen Status deiner App sowie eine Versionshistorie deiner bisherigen Veröffentlichungen. Die möglichen Statuswerte sind:

* **In der Warteschlange:** Die Anfrage wurde eingereicht und wartet auf Bearbeitung.
* **In Bearbeitung:** Das Epic AI-Team prüft die App gerade.
* **Angenommen:** Die App wurde freigegeben und ist im Marktplatz verfügbar.
* **Zurückgezogen:** Die Veröffentlichung wurde zurückgezogen.

***

#### Einstellungen

In den Einstellungen kannst du folgende Konfigurationen vornehmen:

* **Allgemein:** Den Namen der App ändern und speichern.
* **Logo & Erscheinungsbild:** Logo hochladen oder entfernen (JPEG, PNG oder SVG, maximal 2 MB) sowie eine Hintergrundfarbe festlegen. Beides bestimmt, wie die App z. B. im Flow Builder dargestellt wird.
* **Event-Emitter:** Eine URL hinterlegen, an die ausgelöste Events der App gesendet werden – z. B. wenn die App installiert wird. Jede Anfrage enthält die zugehörige <code class="expression">space.vars.TERM\_AI\_AGENT</code>-ID und App-ID als Query-Parameter.
* **Details:** Technische Informationen zur App – App-ID (kopierbar), Erstellungsdatum und Datum der letzten Aktualisierung.
* **App löschen:** Die App dauerhaft löschen. Alle Daten gehen dabei verloren und können nicht wiederhergestellt werden.

{% hint style="warning" %}
Das Löschen einer App kann nicht rückgängig gemacht werden. Prüfe vorher, ob die App noch in aktiven <code class="expression">space.vars.TERM\_AI\_AGENT</code>s eingebunden ist.
{% endhint %}

***

### App erstellen und verwalten

#### App erstellen

{% stepper %}
{% step %}
Navigiere zu *Workspace → Apps*.
{% endstep %}

{% step %}
Klicke auf *Neue App anlegen*.
{% endstep %}

{% step %}
Vergib einen Namen und bestätige mit *Erstellen*. Du landest direkt in der App-Übersicht.
{% endstep %}

{% step %}
Konfiguriere die App über die Bereiche *Basisdaten*, *Verbindungen*, *Module*, *DataCards* und *Beschreibung*.
{% endstep %}
{% endstepper %}

#### Verbindung erstellen

{% stepper %}
{% step %}
Öffne die gewünschte App und navigiere zu *Verbindungen*.
{% endstep %}

{% step %}
Klicke auf *Verbindung erstellen*.
{% endstep %}

{% step %}
Vergib einen *Namen* und wähle den passenden *Typ*. Der Typ lässt sich später nicht mehr ändern.
{% endstep %}

{% step %}
Bestätige mit *Erstellen*.
{% endstep %}

{% step %}
Konfiguriere den Health-Check-Request im Tab *Abfrage* und hinterlege bei Bedarf Parameter im Tab *Parameter*.
{% endstep %}

{% step %}
Bei *OAuth2 Authorization Code*: Hinterlege im Tab *OAuth2-Konfiguration* die Client-Daten und die Requests. Siehe [Authentifizierung](/epic-ai-platform/epic-ai-platform/workspace/apps/authentifizierung).
{% endstep %}

{% step %}
Speichere die Verbindung über *Speichern*.
{% endstep %}
{% endstepper %}

#### Modul erstellen

{% stepper %}
{% step %}
Öffne die gewünschte App und navigiere zu *Module*.
{% endstep %}

{% step %}
Klicke auf *Modul erstellen*.
{% endstep %}

{% step %}
Vergib einen Namen und bestätige mit *Erstellen*.
{% endstep %}

{% step %}
Konfiguriere den Request im Tab *Request* und verknüpfe das Modul über *Verbindung hinzufügen* mit einer Verbindung.
{% endstep %}

{% step %}
Lege bei Bedarf Eingabeparameter im Tab *Parameter* und Ausgabeparameter im Tab *Output* fest.
{% endstep %}

{% step %}
Speichere das Modul über *Speichern*.
{% endstep %}
{% endstepper %}

#### DataCard erstellen

{% stepper %}
{% step %}
Öffne die gewünschte App und navigiere zu *DataCards*.
{% endstep %}

{% step %}
Klicke auf *DataCard erstellen*.
{% endstep %}

{% step %}
Vergib einen Namen und hinterlege die URL, von der die Daten geladen werden sollen.
{% endstep %}

{% step %}
Klicke auf *DataCard erstellen*.
{% endstep %}
{% endstepper %}

#### Beschreibung bearbeiten

{% stepper %}
{% step %}
Öffne die gewünschte App und navigiere zu *Beschreibung*.
{% endstep %}

{% step %}
Schreibe deine Dokumentation im Markdown-Editor links; die Vorschau rechts aktualisiert sich live.
{% endstep %}

{% step %}
Klicke auf *Speichern*, um die Änderungen zu übernehmen, oder auf *Zurücksetzen*, um sie zu verwerfen.
{% endstep %}
{% endstepper %}

#### App löschen

{% stepper %}
{% step %}
Öffne die gewünschte App und navigiere zu *Einstellungen*.
{% endstep %}

{% step %}
Klicke auf *Löschen*.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Das Löschen ist endgültig. Alle Daten der App – inkl. Verbindungen, Module und DataCards – gehen unwiderruflich verloren.
{% endhint %}

***

### Beispiel: Chuck Norris API anbinden

Dieses Beispiel zeigt, wie du eine einfache öffentliche REST-API (ohne Authentifizierung) als App einrichtest und ein Modul erstellst, das einen zufälligen Witz abruft.

#### 1. App erstellen

Navigiere zu *Workspace → Apps* und lege eine neue App mit dem Namen „Chuck Norris API" an.

#### 2. Basisdaten hinterlegen

Navigiere zu *Basisdaten* und trage die Basis-URL der API ein:

```json
{
  "baseUrl": "https://api.chucknorris.io"
}
```

Speichere die Eingabe.

#### 3. Verbindung erstellen

Navigiere zu *Verbindungen* und erstelle eine neue Verbindung:

* **Name:** Chuck Norris Status
* **Typ:** Keine Authentifizierung

Konfiguriere den Health-Check-Request im Tab *Abfrage*:

```json
{
  "url": "{{baseUrl}}",
  "method": "GET"
}
```

Speichere die Verbindung.

#### 4. Modul erstellen

Navigiere zu *Module* und erstelle ein neues Modul:

* **Name:** get\_joke

Konfiguriere den Request im Tab *Request*:

```json
{
  "url": "{{baseUrl}}/jokes/random",
  "method": "GET"
}
```

Verknüpfe das Modul mit der Verbindung „Chuck Norris Status".

Wechsle zum Tab *Output* und definiere die Ausgabeparameter:

```json
[
  {
    "name": "value",
    "type": "text",
    "label": "Witz"
  },
  {
    "name": "id",
    "type": "text",
    "label": "ID"
  }
]
```

Speichere das Modul.

Das Modul **get\_joke** ist jetzt einsatzbereit und kann im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> als Schritt eingebunden werden. Nach der Ausführung stehen die Variablen **Witz** und **ID** im Flow zur Verfügung.

***

### Arrays in der API-Response (Workaround)

Arrays in der API-Antwort eines einzelnen Endpunkts können aktuell nicht direkt verarbeitet werden. Gibt ein Endpunkt ein Array zurück, muss die Antwortstruktur „geflattert" werden – d. h. die verschachtelten Einträge werden auf oberster Ebene mit einem Index als Präfix abgelegt.

**Beispiel – Original (nicht verarbeitbar):**

```json
{
  "total": 2,
  "results": [
    {
      "id": "1001",
      "properties": {
        "name": "Firma A",
        "amount": "5000",
        "status": "offen"
      }
    },
    {
      "id": "1002",
      "properties": {
        "name": "Firma B",
        "amount": "7500",
        "status": "abgeschlossen"
      }
    }
  ]
}
```

**Beispiel – Geflattert (verarbeitbar):**

```json
{
  "total": 2,
  "0_id": "1001",
  "0_name": "Firma A",
  "0_amount": "5000",
  "0_status": "offen",
  "1_id": "1002",
  "1_name": "Firma B",
  "1_amount": "7500",
  "1_status": "abgeschlossen"
}
```

**Merkmale der geflatteten Struktur:**

* Jeder Eintrag aus `results` erhält einen numerischen Index als Präfix (`0_`, `1_`, …).
* Alle verschachtelten Felder werden auf oberster Ebene abgelegt.
* Meta-Informationen wie `total` oder Paging-Angaben bleiben unverändert erhalten.

***

### Best Practices

* **Basisdaten sinnvoll nutzen:** Hinterlege wiederkehrende Werte wie die Basis-URL in den Basisdaten. So musst du Änderungen – z. B. bei einem API-Versionswechsel – nur an einer Stelle vornehmen, statt in jedem Modul einzeln.
* **Sprechende Namen vergeben:** Vergib für Module und Verbindungen Namen, die ihren Zweck klar beschreiben. Im Flow Builder siehst du später nur den Modulnamen – ein Name wie `get_sendungsstatus` ist deutlich hilfreicher als `modul_1`.
* **Beschreibung pflegen:** Nutze die Beschreibungsfunktion, um Zweck der App und Funktionsweise der einzelnen Module zu dokumentieren. Das erleichtert die Einbindung durch andere Teammitglieder erheblich.
* **Health Check sorgfältig konfigurieren:** Der Health Check entscheidet, ob eine Verbindung als verbunden gilt. Wähle einen Endpunkt, der zuverlässig erreichbar ist und keine Seiteneffekte hat – bei Verbindungen mit Authentifizierung einen, der ohne gültige Zugangsdaten fehlschlägt.
* **Output-Parameter aussagekräftig benennen:** Das `label`-Feld im Output-Tab bestimmt, wie die Variable später im Flow Builder und im Variablen-Picker angezeigt wird. Wähle Labels, die den Inhalt klar beschreiben – z. B. „Sendungsstatus" statt „value".


# Authentifizierung

Der App-Ersteller legt den Authentifizierungstyp einer Verbindung fest, der Installierer im AI Agent nutz bei Installation seine eigenen Zugangsdaten.

### Wo finde ich das?

Die Authentifizierung gehört zur Verbindung einer App und wird an zwei Stellen bearbeitet:

* Im Workspace unter *Apps → ‹App› → Verbindungen*: Hier legst du fest, welche Authentifizierung gilt, sowie bei OAuth2 die Client-Konfiguration.
* Im <code class="expression">space.vars.TERM\_AI\_AGENT</code> unter *Einstellungen → App Store → ‹App›*: Hier trägt der Installierer seine eigenen Zugangsdaten ein.

***

### Erklärung – Zwei Rollen, zwei Orte

Authentifizierung ist nicht Teil des Request-JSON, sondern eine Ebene darüber.&#x20;

<table><thead><tr><th width="177.81640625">Rolle</th><th width="347.5">Legt fest</th><th>Wo</th></tr></thead><tbody><tr><td><strong>App-Ersteller</strong></td><td>Den Auth-Typ der Verbindung und, bei OAuth2, die Client-Konfiguration der App.</td><td>Workspace → Apps</td></tr><tr><td><strong>App-Installierer</strong></td><td>Die konkreten Zugangsdaten – Benutzername, Token oder den Login beim externen Anbieter.</td><td><code class="expression">space.vars.TERM_AI_AGENT</code> → App Store</td></tr></tbody></table>

{% hint style="info" %}
Zugangsdaten gehören zur Installation, nicht zur App. Installieren zwei <code class="expression">space.vars.TERM\_AI\_AGENT</code>s dieselbe App, hat jeder seine eigenen Zugangsdaten.
{% endhint %}

***

### Die Authentifizierungstypen

Den Typ wählst du beim Anlegen der Verbindung im Feld *Typ*:

<table><thead><tr><th width="250">Typ</th><th>Wer trägt was ein</th><th width="150">Authorization-Header</th></tr></thead><tbody><tr><td><em>Keine Authentifizierung</em></td><td>niemand</td><td>–</td></tr><tr><td><em>Basic Auth</em></td><td>Installierer: Benutzername und Passwort</td><td>automatisch</td></tr><tr><td><em>Bearer Token</em></td><td>Installierer: Token</td><td>automatisch</td></tr><tr><td><em>OAuth2 Authorization Code</em></td><td>Ersteller: Client-Konfiguration <br>Installierer: Login beim Anbieter</td><td>automatisch</td></tr><tr><td><em>Benutzerdefinierte Authentifizierung</em></td><td>Installierer: Parameter </td><td>selbst schreiben</td></tr></tbody></table>

***

### Der Header und die Platzhalter

Bei *Basic Auth*, *Bearer Token* und *OAuth2* setzt die Plattform den `Authorization`-Header selbst – in der Healthcheck-Abfrage der Verbindung und in jedem Modul, das sie nutzt. Schreibst du den Header selbst ins JSON, gilt weiter deiner.

Brauchst du die Werte an anderer Stelle im Body, in einem Query-Parameter oder in einem abweichenden Header, stehen sie als Platzhalter bereit:

<table><thead><tr><th width="250">Typ</th><th>Platzhalter</th></tr></thead><tbody><tr><td><em>Basic Auth</em></td><td><code>{{auth.username}}</code>, <code>{{auth.password}}</code>, <code>{{auth.token}}</code> </td></tr><tr><td><em>Bearer Token</em></td><td><code>{{auth.token}}</code></td></tr><tr><td><em>OAuth2 Authorization Code</em></td><td><code>{{auth.accessToken}}</code></td></tr></tbody></table>

Der Editor listet die verfügbaren Platzhalter jeweils über dem Eingabefeld auf. Ein Name, der nicht in dieser Liste steht, wird nicht ersetzt und bleibt als Text im Request stehen.

***

### Installationsabhängige Werte im OAuth2-Flow

Manche Anbieter brauchen einen Wert, der je Installation anders ist, bevor der Login überhaupt starten kann; etwa den Shop-Namen bei Shopify, eine Tenant-ID oder eine Region. Dieser Wert steht in der Authorize-URL und kann vom Ersteller nicht immer fest mitgegeben werden.

Nutze dafür die normalen Parameter der Verbindung aus dem Tab *Parameter*. In allen drei OAuth2-Editoren steht `{{parameters.[NAME]}}` als Platzhalter zur Verfügung und wird durch den Wert ersetzt, den der Installierer eingetragen hat:

```json
{
  "url": "https://{{parameters.shop}}.myshopify.com/admin/oauth/authorize",
  "params": {
    "client_id": "{{auth.clientId}}",
    "redirect_uri": "{{auth.redirectUri}}",
    "response_type": "code",
    "state": "{{auth.state}}",
    "scope": "read_products"
  }
}
```

Der Ersatz greift in allen drei Stufen: Autorisierung, Token-Tausch und Erneuerung, sodass derselbe Wert auch später noch zur Verfügung steht.

{% hint style="info" %}
Ein Parameter, den du als *required* definierst, muss gefüllt sein: Fehlt der Wert, bricht der Verbindungsversuch ab. Ein optionaler Parameter ohne Wert wird durch eine leere Zeichenkette ersetzt – was in einer URL meist zu einem Fehler beim Anbieter führt. Die Basisdaten der App (`{{baseUrl}}`) werden in den OAuth2-Editoren **nicht** aufgelöst, dort gelten nur `{{auth.*}}` und `{{parameters.*}}`.
{% endhint %}

***

### Verwaltung – OAuth2 Authorization Code vorbereiten

Diese Schritte macht der App-Ersteller einmal. Der Tab *OAuth2-Konfiguration* erscheint nur bei Verbindungen dieses Typs.

{% stepper %}
{% step %}

#### Redirect URI beim Anbieter hinterlegen

Öffne *Verbindungen → ‹Verbindung› → OAuth2-Konfiguration*. Hier findest du die *Redirect URI*. Kopiere sie über das Kopieren-Symbol und hinterlege sie beim Anbieter als erlaubte Weiterleitungs-URL.
{% endstep %}

{% step %}

#### Client ID und Client Secret eintragen

Beides erhältst du vom Anbieter. Das Secret wird nach dem Speichern nicht mehr angezeigt – das Feld meldet dann *Ein Secret ist gespeichert. Feld leer lassen, um es beizubehalten.* Ein leeres Feld behält das zuvor gespeicherte Secret.
{% endstep %}

{% step %}

#### PKCE aktivieren, wenn der Anbieter es unterstützt

Der Schalter *PKCE aktivieren (Proof Key for Code Exchange)* sichert den Austausch zusätzlich ab. `{{auth.codeChallenge}}` und `{{auth.codeVerifier}}` werden dann automatisch erzeugt und stehen in den Editoren zur Verfügung.
{% endstep %}

{% step %}

#### Authorize Request anpassen

Das Feld ist mit einer Vorlage vorbelegt, die auf `example.com` zeigt. Ersetze die URL durch die Authorize-Adresse des Anbieters. Es gibt kein eigenes Feld für Scopes: Trage den Scope als Parameter in `params` ein.

`access_type` und `prompt` sind bewusst vorbelegt. Manche Anbieter liefern nur mit ihnen ein Refresh-Token, ohne welches die Verbindung nach etwa einer Stunde enden würde. Anbieter, die die Parameter nicht kennen, ignorieren sie.
{% endstep %}

{% step %}

#### Token Request anpassen

Auch hier zeigt die Vorlage auf `example.com`. Ersetze die URL durch die Token-Adresse des Anbieters und prüfe, ob Methode, Header und Body zu dessen Dokumentation passen.
{% endstep %}

{% step %}

#### Refresh Request nur bei Bedarf

Die Erneuerung läuft automatisch im Hintergrund. Einen eigenen *Refresh Request* brauchst du nur, wenn der Anbieter ein abweichendes Format erwartet. Dann schaltest du *Eigenen Refresh Request verwenden* ein.
{% endstep %}

{% step %}

#### Speichern

Bestätige unten mit *Speichern*. Danach kann die App installiert und die Verbindung autorisiert werden.
{% endstep %}
{% endstepper %}

***

### Verwaltung – Zugangsdaten eintragen

Diese Schritte macht der Installierer im <code class="expression">space.vars.TERM\_AI\_AGENT</code>, nach dem Installieren der App.

{% stepper %}
{% step %}

#### Verbindung öffnen

Öffne die App unter *Einstellungen → App Store* und klicke im Warnhinweis auf *Einrichten* oder auf das Stift-Symbol neben der Verbindung. Der Dialog nennt oben den Namen der Verbindung, ihren Auth-Typ und den Status *Verbunden* oder *Nicht verbunden*.
{% endstep %}

{% step %}

#### Zugangsdaten hinterlegen

Je Typ sind andere Felder zu füllen: bei *Basic Auth* *Benutzername* und *Passwort*, bei *Bearer Token* das Feld *Token*. Ein bereits gespeicherter Wert wird nicht mehr angezeigt; lässt du das Feld leer, bleibt er erhalten.
{% endstep %}

{% step %}

#### Parameter ausfüllen

Sieht die App *Parameter* vor, stehen sie darunter. Bei OAuth2 gehören sie vor den Login: Sie werden gespeichert, bevor sich das Fenster des Anbieters öffnet, und können Teil der Authorize-URL sein. Solange ein Pflichtfeld leer ist, bleibt die Schaltfläche inaktiv.
{% endstep %}

{% step %}

#### Bei OAuth2: Zugriff autorisieren

Klicke auf *Verbinden*. Es öffnet sich ein Popup-Fenster mit dem Login des Anbieters. Melde dich dort an und stimme dem Zugriff zu. Erscheint kein Fenster, blockiert der Browser Popups für diese Seite – erlaube sie und versuche es erneut.
{% endstep %}

{% step %}

#### Bestätigen

Schließe mit *Verbinden* ab. Die Plattform führt die Healthcheck-Abfrage der Verbindung gegen die echte API aus; erst wenn diese gelingt, steht die Verbindung auf *Verbunden* und die Module sind einsatzbereit.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Bei einer bereits eingerichteten Verbindung heißt der Dialog *Verbindung bearbeiten*, und die Schaltfläche heißt *Speichern* beziehungsweise bei OAuth2 *Erneut verbinden*.
{% endhint %}

***

### Tokens und ihre Erneuerung

Ein Zugriffstoken aus einem OAuth2-Login ist meist etwa eine Stunde gültig. Damit die Verbindung dennoch dauerhaft hält, erneuert die Plattform das Token selbst:

* **Vorausschauend**, fünf Minuten vor Ablauf. Scheitert das, folgen bis zu drei Versuche mit wachsendem Abstand.
* **Sofort**, wenn die API einen Modulaufruf mit *401* oder *403* ablehnt. Das Token wird erneuert und der Aufruf einmal wiederholt.

Wie lange ein Token gültig ist, entnimmt die Plattform der Antwort des Anbieters. Nennt er keine Laufzeit, gilt das Token als dauerhaft gültig und es wird keine Erneuerung eingeplant.

Scheitern alle Versuche, wird die Verbindung auf *Nicht verbunden* gesetzt. Auf der App-Detailseite erscheint dann der Hinweis *Verbindung gescheitert* mit dem Zeitpunkt des Ausfalls und der Schaltfläche *Neu verbinden*.

{% hint style="warning" %}
Ohne Refresh-Token kann nichts erneuert werden – die Verbindung endet dann mit dem ersten Ablauf des Tokens. Liefert ein Anbieter kein Refresh-Token, obwohl er es unterstützt, fehlen im *Authorize Request* meist die Parameter für den Offline-Zugriff. Überwache deshalb den ersten Refresh-Zyklus.
{% endhint %}

***

### Wenn eine Verbindung nicht zustande kommt

Schlägt eine Autorisierung fehl, nennt der Dialog den Grund:

<table><thead><tr><th width="330">Meldung</th><th>Was zu tun ist</th></tr></thead><tbody><tr><td><em>Die Autorisierung wurde abgebrochen.</em></td><td>Der Zugriff wurde im Fenster des Anbieters abgelehnt. Erneut versuchen und zustimmen.</td></tr><tr><td><em>Der externe Dienst hat die Autorisierung abgelehnt.</em></td><td>Berechtigungen beim Anbieter prüfen. Häufig fehlt dem Konto die Freigabe.</td></tr><tr><td><em>Die Autorisierung ist abgelaufen.</em></td><td>Zwischen Öffnen und Abschluss lag zu viel Zeit. Vorgang neu starten.</td></tr><tr><td><em>Der Zugriffstoken konnte nicht abgerufen werden.</em></td><td>Client ID, Client Secret und den <em>Token Request</em> der App prüfen.</td></tr><tr><td><em>Die Autorisierung war erfolgreich, aber die Healthcheck-Abfrage … ist fehlgeschlagen.</em></td><td>Der Login hat geklappt, die Test-Abfrage nicht. Endpunkt und Berechtigungen der Healthcheck-Abfrage prüfen.</td></tr><tr><td><em>Die OAuth2-Konfiguration dieser Verbindung ist unvollständig oder ungültig.</em></td><td>Die Angaben in der App fehlen oder passen nicht zusammen – Aufgabe des App-Erstellers.</td></tr><tr><td><em>Der Vorgang wurde nicht abgeschlossen.</em></td><td>Es kam keine Antwort zurück. Meist stimmt die Redirect URI beim Anbieter nicht, oder Client ID beziehungsweise Scopes sind falsch.</td></tr><tr><td><em>Der Zugriff ist abgelaufen und konnte nicht automatisch erneuert werden.</em></td><td>Erneut autorisieren über <em>Neu verbinden</em>.</td></tr></tbody></table>

***

### Best Practices

* **Erst der Anbieter, dann die App:** Hinterlege die Redirect URI beim Anbieter, bevor du testest. Sie ist die häufigste Ursache für einen Login, der ohne Rückmeldung endet.
* **Vorlagen wirklich ersetzen:** Authorize- und Token-Request sind mit `example.com` vorbelegt. Eine vergessene Vorlage fällt erst beim ersten Verbindungsversuch auf.
* **Installationsabhängiges als Parameter anlegen:** Alles, was je Installation anders ist, gehört in die Parameter der Verbindung. Nicht fest in die Authorize-URL. Sonst lässt sich die App nur ein einziges Mal sinnvoll installieren.
* **Healthcheck-Abfrage passend wählen:** Sie entscheidet, ob eine Autorisierung als erfolgreich gilt. Nimm einen Endpunkt, der ohne gültiges Token fehlschlägt. Ein Endpunkt, der immer antwortet, verbirgt einen kaputten Header.
* **Sprechende Namen für Verbindungen:** Im Einrichtungsdialog des Installierers ist der Name die einzige Orientierung, welche Zugangsdaten gemeint sind.


# Einstellungen

Im Bereich Einstellungen kannst du den Workspace dauerhaft löschen.

### Wo finde ich das?

Du erreichst die Einstellungen über die Navigationsleiste oder das Workspace Dashboard: *Workspace → Einstellungen*.

***

### Allgemein

Im Bereich *Allgemein* passt du den Namen deines Workspaces an. Trage dazu den gewünschten Namen in das Feld *Name des Workspaces* ein.

***

### Details

Im Bereich *Details* findest du technische Informationen zu deinem Workspace: die Workspace-ID sowie das Erstellungsdatum.

***

### Workspace löschen

{% hint style="info" %}
Diese Funktion steht nur Benutzern mit der [Rolle](/epic-ai-platform/epic-ai-platform/workspace/benutzer#rollen) *Inhaber* zur Verfügung.
{% endhint %}

Über die Schaltfläche *Löschen* löschst du den gesamten Workspace unwiderruflich. Nach dem Klick öffnet sich ein Bestätigungsdialog: Gib dort den Namen des Workspaces in das Eingabefeld ein, um die Aktion zu bestätigen.

{% hint style="danger" %}
Das Löschen eines Workspace kann nicht rückgängig gemacht werden. Dabei werden unwiderruflich gelöscht:

* alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>s und Apps, die dem Workspace zugeordnet sind,
* alle Daten innerhalb des Workspace,
* die Zugänge aller Mitglieder zu diesem Workspace.
  {% endhint %}


# Compliance

Im Workspace legst du die Aufbewahrungsfristen fest, denen alle AI Agents des Workspace folgen, und hältst über den Legal Hold bei Bedarf alle Löschungen an.

{% hint style="info" %}
Der Menüpunkt erscheint nur, wenn deine Rolle die Compliance-Einstellungen des Workspace lesen darf. In den Standardrollen ist das bei *Inhaber* und *Administrator* der Fall.
{% endhint %}

{% hint style="success" %}
Für den Um- und Einstieg ins Compliance-Center (KI-Transparenzhinweis), haben wir einen [Leitfaden](/best-practice/umstieg-auf-das-compliance-center-ki-hinweise-richtig-verlagern) vorbereitet. Nutze unsere Empfehlungen und Checklist.
{% endhint %}

### Wo finde ich das?

Du findest den Bereich im Workspace über den Eintrag *Compliance* in der Navigation.

***

### Was auf Workspace-Ebene geregelt wird

Das Compliance Center gibt es auf zwei Ebenen: im Workspace und im <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Der Workspace ist die organisatorische Ebene und regelt deshalb nur, was für alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>s zusammen gilt:

* **Aufbewahrungsfristen** für Konversationen, Kontakte und Compliance-Protokolle – als Vorgabe, der jeder <code class="expression">space.vars.TERM\_AI\_AGENT</code> folgt, solange er keine eigene Frist hat.
* **Legal Hold** – hält sämtliche automatischen Löschungen im gesamten Workspace an.

[Hinweise auf KI-Nutzung](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/compliance-center) und die Auskunft zu einzelnen Personen gehören dagegen zum <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Entsprechend hat der Workspace nur die Reiter *Übersicht* und *Aufbewahrung*, und seine Übersicht bewertet ausschließlich die Aufbewahrung.

{% hint style="warning" %}
Eine Vorgabe aus dem Workspace greift nur bei <code class="expression">space.vars.TERM\_AI\_AGENT</code>s, die keine eigenen Fristen gesetzt haben. Hat ein <code class="expression">space.vars.TERM\_AI\_AGENT</code> eine eigene Frist, hat diese Vorrang – auch, wenn du die Workspace-Vorgabe später änderst. Der Legal Hold ist davon ausgenommen: Hier hat die Workspace-Regelung Vorrang.
{% endhint %}

***

### Weiter zu den Details

Aufbau, Bedienung und die Bewertung der Einstellungen sind auf Workspace- und Agent-Ebene identisch und dort im Zusammenhang beschrieben.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><strong>Compliance Center</strong></td><td>Aufbau, Übersicht, Rollen und Voreinstellungen.</td><td><a href="/pages/ecjrmFEWlwVWhqO7TiPp">/pages/ecjrmFEWlwVWhqO7TiPp</a></td><td></td></tr><tr><td><strong>Aufbewahrung</strong></td><td>Datenkategorien, Fristen, Abhängigkeiten, Legal Hold und Löschlauf.</td><td><a href="/pages/zgW9agUrEUU7i2yE5GXD">/pages/zgW9agUrEUU7i2yE5GXD</a></td><td></td></tr></tbody></table>


# AI Agent

Ein AI Agent ist ein eigenständiger, intelligenter Assistent innerhalb deines Workspaces. Er enthält die gesamte Konversationslogik, alle Einstellungen und die angebundenen Kanäle.

### Wo finde ich den AI Agent?

Nach dem Login gelangst du auf die Übersicht. Dort werden dir alle vorhandenen <code class="expression">space.vars.TERM\_AI\_AGENT</code>s und Workspaces angezeigt. Wähle hier direkt aus der Liste den gewünschten AI Agent aus.

Wahlweise kannst du deinen AI Agent auch aus dem dazugehörigen Workspace öffnen. Dort kannst du über den Schnellzugriff auf dem Dashboard oder den Navigationsreiter "AI Agents" direkt in deinen AI Agent gelangen.

### Erklärung – Was ist ein AI Agent?

Ein <code class="expression">space.vars.TERM\_AI\_AGENT</code> ist ein eigenständiger Assistent innerhalb deines Workspaces. Er enthält die gesamte Konversationslogik, die du im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> erstellst – also alle [Flows](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flows), [Variablen](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen), [Entitäten](/epic-ai-platform/epic-ai-platform/ai-agent/build/entitaten) und [Einstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen).

Jeder <code class="expression">space.vars.TERM\_AI\_AGENT</code> hat eine eindeutige **AI-Agent-ID** (ein alphanumerischer Code, z. B. `FT7z5oNrCuQU8fsfLwt6`). Diese ID ist nützlich für Support-Anfragen und wird für API-Aufrufe benötigt.

{% hint style="info" %}
Die maximale Anzahl an <code class="expression">space.vars.TERM\_AI\_AGENT</code>s pro Workspace richtet sich nach deinem Preismodell.
{% endhint %}

***

### Wie funktioniert ein AI Agent?

Jede Konversation mit einem <code class="expression">space.vars.TERM\_AI\_AGENT</code> folgt einem definierten Ablauf:

1. **Einstieg** – Jede Konversation startet am Einstiegspunkt des Standard-Flows. Dieser existiert genau einmal pro <code class="expression">space.vars.TERM\_AI\_AGENT</code>.
2. **Verarbeitung** – Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> durchläuft den Flow und führt die hinterlegten Schritte aus: Nachrichten senden, Nutzereingaben entgegennehmen, Intentionen erkennen, Variablen setzen, Bedingungen prüfen oder externe Dienste aufrufen.
3. **Fallback** – Wird keine Intention erkannt oder läuft ein Pfad ins Leere, greift der Fallback. Er gilt global für alle Flows und fängt unerwartete Situationen auf.

{% hint style="info" %}
Der Ablauf wird im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> visuell per Drag & Drop aufgebaut – ohne Programmierkenntnisse.
{% endhint %}

### Was kann ein AI Agent tun?

* **Konversationen gestalten** – Im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> baust du Gesprächsabläufe auf. Schritte wie Nachrichten, Bedingungen, Variablen oder API-Aufrufe werden per Drag & Drop auf einem Canvas verbunden. (Siehe Artikel [Flow-Builder](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder) und [Flows](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flows).)
* **Nutzerabsichten erkennen** – Über Intentionen erkennt der <code class="expression">space.vars.TERM\_AI\_AGENT</code>, was ein Nutzer möchte – z.B. wird „Ich möchte meine Bestellung stornieren" der Intention „Stornierung" zugeordnet. (Siehe Artikel [Intentionen](/epic-ai-platform/epic-ai-platform/ai-agent/build/intentionen) und [FAQs](/epic-ai-platform/epic-ai-platform/ai-agent/build/faqs).)
* **Daten aus Eingaben extrahieren** – Entitäten erkennen automatisch strukturierte Werte in Nutzereingaben, z.B. eine IBAN, ein Datum oder eine Telefonnummer. Variablen speichern diese Werte für die weitere Verwendung im Flow. (Siehe Artikel [Entitäten](/epic-ai-platform/epic-ai-platform/ai-agent/build/entitaten) und [Variablen](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen).)
* **Kanalübergreifend kommunizieren** – Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> ist über verschiedene Kanäle erreichbar: Telefonie (Voice), Web-Widget, WhatsApp, Telegram, Facebook Messenger und E-Mail. (Siehe Artikel [Kanäle](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale).)
* **Externe Systeme ansprechen** – Über Apps und REST-APIs verbindest du den <code class="expression">space.vars.TERM\_AI\_AGENT</code> mit CRM-Systemen, Shop-Plattformen, Versanddienstleistern und weiteren Diensten. (Siehe Artikel [Apps / Appstore](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/apps-appstore).)
* **Wissen nutzen** – Lade PDFs hoch oder binde Websites ein, damit der <code class="expression">space.vars.TERM\_AI\_AGENT</code> Fragen auf Basis deiner Inhalte beantwortet. (Siehe Artikel [Wissen](/epic-ai-platform/epic-ai-platform/ai-agent/build/wissen).)
* **An menschliche Agenten übergeben** – Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> kann Konversationen nahtlos an dein Team übergeben. Mitarbeitende können das Gespräch in der Inbox übernehmen, weiterbearbeiten oder an Kollegen zuweisen. (Siehe Artikel [Inbox](/epic-ai-platform/epic-ai-platform/ai-agent/inbox).)

***

### Einen neuen AI Agent erstellen

Es gibt zwei Wege, einen neuen AI Agent zu erstellen:

* **Global über das Dashboard**: Klicke auf die Karte „Neuen AI Agent erstellen". Der Workspace muss hier im Dialog explizit zugewiesen werden.
* **Direkt aus einem Workspace heraus**: Klicke in der AI-Agent-Übersicht des Workspace oben rechts auf „Agent erstellen". Der Workspace ist dann bereits vorausgewählt.

In beiden Fällen öffnet sich derselbe mehrstufige Dialog „Neuen AI Agent erstellen":

1. **Name**: Vergib einen Namen für deinen AI Agent. Der AI Agent ist nur für dich und deine Teammitglieder sichtbar – er wird nicht öffentlich angezeigt. Du kannst den Namen später jederzeit ändern.
2. **Sprache**: Wähle die Standardsprache deines AI Agents aus den vorgeschlagenen Optionen (z. B. Deutsch, Englisch, Französisch, Italienisch, Spanisch, Niederländisch) oder öffne „Alle Sprachen anzeigen" für weitere Sprachen.
3. **Workspace zuweisen**: Wähle den Workspace, dem der AI Agent zugeordnet werden soll. Startest du die Erstellung direkt aus einem Workspace, ist dieser Schritt bereits vorausgefüllt.
4. Klicke auf „AI Agent erstellen". Die Konfiguration wird kurz vorbereitet.
5. Sobald dein AI Agent bereit ist, klicke auf „Jetzt konfigurieren", um direkt in den Flow-Builder zu gelangen und mit dem Aufbau deiner Konversationslogik zu beginnen.

Nach der Erstellung wirst du direkt in den [Flow-Builder](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder) weitergeleitet und kannst mit dem Aufbau deiner Konversationslogik beginnen.

{% hint style="info" %}
Du kannst später in den Einstellungen des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s weitere Sprachen hinzufügen. Die Standardsprache kann nachträglich nicht geändert werden.
{% endhint %}

***

### Best Practices

* **Aussagekräftigen Namen wählen:** Vergib einen Namen, der den Zweck des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s klar beschreibt – z. B. „Kundenservice" oder „Booking Assistant". Das erleichtert die Orientierung, besonders wenn mehrere <code class="expression">space.vars.TERM\_AI\_AGENT</code>s im Workspace vorhanden sind.
* **Sprache bewusst wählen:** Wähle als primäre Sprache die Sprache, in der die Mehrheit deiner Nutzer kommuniziert und in welcher du den Agent pflegen möchtest. Weitere Sprachen kannst du jederzeit nachträglich hinzufügen.
* **AI-Agent-ID:** Wenn du API-Anbindungen planst oder den Support kontaktierst, ist die AI-Agent-ID hilfreich. Du findest sie jederzeit auf der Karte des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s in der Übersicht oder in der URL.


# Dashboard

Bietet dir einen aktuellen Überblick über die wichtigsten Daten deines AI Agents.

### **Kennzahlen**

Vier Kacheln fassen die wichtigsten Kennzahlen der letzten 30 Tage zusammen, jeweils mit Veränderung zur Vorperiode:

* Anzahl geführter Konversationen
* Anzahl ausgetauschter Nachrichten
* Anzahl der Nutzerinteraktionen
* Intentionsgenauigkeit: Median Score der erkannten Intentionen

***

### **Schnellzugriff**

Über die Schnellzugriff-Kacheln gelangt man direkt zu den zentralen Bereichen des AI Agents: [Inbox](/epic-ai-platform/epic-ai-platform/ai-agent/inbox) (Konversationen anzeigen und beantworten), [Flow Builder](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder) (Flows im visuellen Editor bearbeiten), [Statistiken](/epic-ai-platform/epic-ai-platform/ai-agent/statistiken) (detaillierte Analysen und Auswertungen einsehen), [Einstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen) (Sprachen, Kanäle, API-Schlüssel und mehr konfigurieren) sowie die aktuellsten Releasenotes.&#x20;

***

### **Wissensquellen**

Zeigt die Gesamtzahl der hinterlegten [Wissensquellen](/epic-ai-platform/epic-ai-platform/ai-agent/build/wissen) sowie eine gekürzte Liste der hinterlegten Quellen (Websites, PDFs etc.)

***

### **Versionen**

Zeigt den Bereitstellungsstatus der Produktiv- und Test-Version des AI Agents.

***

### Online Status von Inbox-Benutzern

Ist ein Benutzer in der Inbox, wird er dir in dieser Ansicht (sofern du über die notwendigen Statistik-Berechtigungen verfügst) angezeigt. So weißt du immer, wer aus deinem Team gerade für deine Kunden erreichbar ist.


# Inbox

Die Inbox ist dein zentraler Arbeitsplatz für alle Konversationen deines AI Agents – kanalübergreifend und an einem Ort.

### Wo finde ich die Inbox?

Du erreichst die Inbox über die linke Navigation deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s unter *Inbox*.

### Erklärung – Was genau ist die Inbox?

Die Inbox bündelt alle eingehenden und ausgehenden Unterhaltungen deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s, unabhängig vom [Kanal](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale) (Web-Widget, WhatsApp, E-Mail, Telefon). Von hier aus kannst du Konversationen sichten, bearbeiten, zuweisen und organisieren. Außerdem verwaltest du über die Inbox deine [Kontakte](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/kontakte), [Organisationen](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/organisationen) und [Benachrichtigungen](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/benachrichtigungen).

***

### Aufbau der Inbox

Die Inbox besteht aus vier Kernbereichen:

* [**Bereiche-Navigation (linke Seite)**](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/bereiche-navigation-linke-seite): Dein Steuerungselement, um Konversationen nach Zuweisung, Status und Relevanz gefiltert aufzurufen – unterteilt in *Dein Bereich*, *Global*, *Teams* und *Ansichten*. Über den Schalter *Einklappen* / *Ausklappen* lässt sich die Navigation schmaler stellen: ausgeklappt siehst du alle Bezeichnungen und Zähler, eingeklappt nur die Icons – praktisch, wenn du mehr Platz für Konversationsliste und Nachrichtenverlauf brauchst.
* [**Konversationsliste (Mitte)**](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/konversationen): Zeigt die Konversationen des aktuell ausgewählten Bereichs an. Über die Suchleiste findest du gezielt einzelne Konversationen.
* [**Nachrichtenverlauf (zentral)**](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/konversationen): Der eigentliche Chat-Thread mit allen Nachrichten, Anhängen und internen Notizen.
* [**Konversationsdetails (rechte Seite)**](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/konversationsdetails-rechte-seite): Alle begleitenden Informationen wie Zuweisung, Tags und Kontaktdaten auf einen Blick.

***

### Was kann man in der Inbox machen?

Die wichtigsten Funktionen im Überblick:

* Konversationen durchsuchen, filtern und nach Bereichen sortiert aufrufen
* <code class="expression">space.vars.TERM\_AI\_AGENT</code>-geführte Gespräche übernehmen oder an Kollegen und Teams zuweisen
* Nachrichten senden, Schnellantworten nutzen und Dateien aus der Mediathek versenden
* Interne Notizen hinterlegen und Kollegen per @-Mention einbinden
* Tags zur Kategorisierung vergeben und eigene Ansichten für wiederkehrende Filter erstellen
* <code class="expression">space.vars.TERM\_AI</code>-gestützte Features nutzen: Texte umformulieren, Antwortvorschläge generieren und Chats zusammenfassen lassen
* Kontakte und Organisationen pflegen und verknüpfen
* Browser- und E-Mail-Benachrichtigungen individuell konfigurieren


# Bereiche-Navigation (Linke Seite)

Die Bereiche-Navigation ist das zentrale Inbox-Steuerungselement. Sie befindet sich auf der linken Seite und ermöglicht dir, Konversationen nach Zuweisung, Status und Relevanz gefiltert aufzurufen.

### Wo finde ich die Bereiche-Navigation?

Öffne die Inbox über die Hauptnavigation *AI Agent → Inbox*. Die Bereiche-Navigation erscheint direkt links neben der Konversationsliste.

Die Navigation ist in vier Hauptbereiche unterteilt: *Dein Bereich*, *Global*, *Teams* und *Ansichten*. Jeder Bereich enthält Unterbereiche, die als Filter auf deine Konversationen wirken. Neben jedem Unterbereich wird ein Counter angezeigt, der die aktuelle Anzahl der zutreffenden Konversationen darstellt.

Oberhalb der Bereiche findest du den Button *Neue Konversation*, mit dem du eine neue Konversation starten kannst. Diese Funktion ist auf WhatsApp beschränkt und erfordert einen eingerichteten WhatsApp-Kanal.

In der Konversationsliste – dem mittleren Bereich neben der Bereiche-Navigation – werden die Konversationen des aktuell ausgewählten Bereichs angezeigt. Über die Suchleiste findest du gezielt einzelne Konversationen.

{% hint style="info" %}
Die Counter in den Bereichen werden alle 5 Minuten automatisch aktualisiert – oder wenn du die Seite manuell neu lädst. Beachte dies, wenn du unmittelbar nach einer Zuweisung oder dem Abschluss eines Falls die aktuelle Zahl überprüfen möchtest.
{% endhint %}

***

### Erklärung – Was genau sind Bereiche?

Bereiche sind vordefinierte und anpassbare Filteransichten innerhalb deiner Inbox. Sie dienen zur Strukturierung und Priorisierung deiner täglichen Arbeit und sortieren die große Menge an Konversationen deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s nach Status, Zuweisung und Relevanz.

Die vier Hauptbereiche im Überblick:

* **Dein Bereich:** Dein persönlicher Arbeitsplatz. Hier findest du alle Konversationen, die dir zugewiesen sind oder deine Aufmerksamkeit erfordern.
* **Global:** Die vollständige Übersicht aller Konversationen deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s, unabhängig von Zuweisung oder Status. Dient primär zur Überwachung und Archivsuche.
* **Teams:** Team-Warteschlangen. Hier liegen Konversationen, die einem Team zugewiesen, aber noch von keinem einzelnen Mitarbeiter übernommen wurden.
* **Ansichten:** Benutzerdefinierte, gespeicherte Filterkombinationen, die du selbst erstellst, um schnell auf eine spezifische Auswahl an Konversationen zuzugreifen.

***

### Dein Bereich

*Dein Bereich* ist dein persönlicher Arbeitsplatz innerhalb der Inbox. Er bündelt alle Konversationen, die eine direkte oder indirekte Aktion von dir erfordern – weil du sie übernommen hast oder sie dir zugewiesen wurden. Die Konversationen sind automatisch nach Relevanz und Status vorsortiert.

#### Unterbereiche

* **Konversationen:** Alle dir zugewiesenen Konversationen auf einen Blick.
* **Zurückgestellt:** Konversationen, die du auf Wiedervorlage gesetzt hast. Sie erscheinen hier wieder, sobald der eingestellte Zeitpunkt erreicht ist.
* **Ungelesen:** Konversationen, die neue Nachrichten enthalten, aber noch nicht von dir als gelesen markiert wurden.
* **Zu erledigen:** Alle offenen Konversationen, die dir persönlich zugewiesen sind und eine Aktion erfordern.
* **Erwähnt:** Konversationen, in denen du von einem Kollegen über die interne Notizfunktion namentlich erwähnt wurdest.

#### Wie gelangen Konversationen hierher?

Die Zuordnung erfolgt automatisch durch deine Aktionen oder die deines Teams:

<table><thead><tr><th width="560.25">Aktion</th><th>Zuordnung (Unterbereich)</th></tr></thead><tbody><tr><td>Ein Kollege weist dir eine Konversation zu</td><td>Zu erledigen</td></tr><tr><td>Ein Kollege erwähnt dich in einer internen Notiz</td><td>Erwähnt</td></tr><tr><td>Du setzt eine Konversation auf einen späteren Zeitpunkt</td><td>Zurückgestellt</td></tr><tr><td>Eine zugewiesene Konversation erhält eine neue Nachricht</td><td>Ungelesen</td></tr><tr><td>Du übernimmst eine Konversation aus dem Teams-Bereich</td><td>Zu erledigen</td></tr><tr><td>Du schließt eine dir zugewiesene Konversation</td><td>Konversation verschwindet</td></tr></tbody></table>

#### Beispiele

* **Dringende Rückmeldung:** Du siehst im Unterbereich *Erwähnt*, dass dich ein Kollege um Input in einem komplexen Fall gebeten hat. Du priorisierst diesen Fall sofort.
* **Abarbeiten der offenen Fälle:** Du beginnst deinen Tag im Unterbereich *Zu erledigen* und öffnest die älteste Konversation, um sicherzustellen, dass die Bearbeitungszeiten eingehalten werden.
* **Follow-up:** Du hattest gestern einen Fall auf Wiedervorlage gesetzt. Er erscheint heute pünktlich in *Zurückgestellt* – du öffnest ihn und sendest das versprochene Dokument.
* **Neue Nachrichten:** Während der Arbeit leuchtet der Counter im Unterbereich *Ungelesen* auf. Das signalisiert dir, dass ein Kunde auf eine deiner zugewiesenen Konversationen geantwortet hat.

#### Best Practices für Dein Bereich

* Beginne immer mit *Erwähnt* – diese Fälle erfordern oft schnelle interne Abstimmung und beschleunigen komplexe Vorgänge.
* Überprüfe als Nächstes *Ungelesen* und *Zurückgestellt* – das gibt dir einen Überblick über neue Kundenaktivität und fällige Follow-ups.
* Arbeite dich durch *Zu erledigen* und schließe Konversationen unmittelbar nach Abschluss der Bearbeitung. Das hält deine persönliche Arbeitslast übersichtlich.
* Vermeide es, in den Bereichen *Teams* oder *Global* zu arbeiten, bevor *Dein Bereich* leer ist.

***

### Global

Der Bereich *Global* ist das vollständige Archiv deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Er zeigt alle Konversationen an – unabhängig davon, ob sie geschlossen, offen, zugewiesen oder unbearbeitet sind – und bietet eine System-Perspektive der gesamten Kommunikationslast.

#### Unterbereiche

* **Unzugewiesen:** Konversationen, die noch keinem Mitarbeiter oder Team zugewiesen wurden.
* **Unbeantwortet:** Konversationen, die eine Kundenantwort enthalten, aber noch keine Antwort vom Agenten erhalten haben.
* **Ungelesen:** Konversationen, die neue Nachrichten enthalten und noch nicht geöffnet wurden.
* **Zu erledigen:** Alle Konversationen, die aktuell offen sind und eine Aktion erfordern (unabhängig von der Zuweisung).
* **Offen:** Alle aktiven Konversationen, die noch in Bearbeitung sind.
* **Abgeschlossen:** Alle Konversationen, deren Bearbeitung durch Schließen beendet wurde.
* **Alle:** Die Gesamtheit aller Konversationen im System (offen, abgeschlossen, zurückgestellt etc.).

#### Wie gelangen Konversationen hierher?

Die Zuordnung erfolgt automatisch:

<table><thead><tr><th width="504.796875">Aktion</th><th>Zuordnung (Unterbereiche)</th></tr></thead><tbody><tr><td>Neue Kundenanfrage kommt rein</td><td>Unzugewiesen, Ungelesen, Offen und Alle</td></tr><tr><td>Ein Agent schließt einen Fall</td><td>Abgeschlossen und Alle</td></tr><tr><td>Ein Mitarbeiter übernimmt eine Konversation</td><td>Zu erledigen und Alle</td></tr><tr><td>Ein Mitarbeiter antwortet dem Kunden</td><td>Zu erledigen und Alle</td></tr><tr><td>Ein Kunde antwortet, die Konversation ist einem Mitarbeiter zugewiesen</td><td>Zu erledigen, Unbeantwortet, Ungelesen und Alle</td></tr></tbody></table>

#### Verwendung

Der Bereich *Global* wird hauptsächlich zur Überwachung, Archivsuche und strategischen Priorisierung genutzt. Er ist kein primärer Arbeitsbereich für die Fallbearbeitung. Hier kannst du:

* **Gesamtübersicht erhalten:** Über die Unterbereiche *Offen*, *Abgeschlossen* und *Alle* die allgemeine Arbeitslast und den Verlauf aller Konversationen einsehen.
* **Prioritäten des Systems identifizieren:** Im Unterbereich *Unzugewiesen* potenzielle Engpässe erkennen und Fälle manuell dem richtigen Team zuweisen.
* **Service-Qualität prüfen:** Über *Unbeantwortet* schnell feststellen, welche Kunden zu lange auf eine Antwort warten.
* **Historische Daten suchen:** Den Unterbereich *Alle* zur Suche nach alten oder geschlossenen Konversationen verwenden.

#### Beispiele

* **Stichprobe für Audits:** Der Teamleiter navigiert in *Abgeschlossen*, um stichprobenartig Protokolle von <code class="expression">space.vars.TERM\_AI\_AGENT</code>- oder Mitarbeiter-Interaktionen zu prüfen.
* **Suche:** Ein Kunde ruft an und gibt nur vage Informationen über ein Problem von vor zwei Monaten. Du wechselst in *Alle* und nutzt die Suche, um die Konversation zu finden.
* **Erkennen von Lücken:** Du bemerkst, dass der Zähler unter *Unzugewiesen* stark ansteigt, und weist diese Fälle proaktiv an das aktuell freie Team zu.
* **KPI-Überwachung:** Du nutzt die Counter von *Offen* und *Abgeschlossen* als visuellen Indikator für die aktuelle Performance und Arbeitslast.

#### Best Practices für Global

* Bearbeite Konversationen nicht direkt in *Global*. Sie sollten immer übernommen oder zugewiesen werden – dadurch wird der Fall in *Dein Bereich* oder *Teams* verschoben, die eigentlichen Arbeitsbereiche.
* Überwache *Unzugewiesen* und *Unbeantwortet* regelmäßig. Dies sind die wichtigsten Indikatoren für potenzielle kritische Wartezeiten.
* Nutze die Status-Counter für Management-Berichte. Sie bieten eine einfache Echtzeit-Grundlage für die Analyse des Gesamtaufkommens.
* Verwende *Alle* ausschließlich zur Archivsuche.

***

### Teams

Der Bereich *Teams* bildet in der Inbox die Warteschlangen für team-zugewiesene Konversationen ab. Hier liegen Konversationen, die vom <code class="expression">space.vars.TERM\_AI\_AGENT</code> oder von Kollegen einem bestimmten [Team](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/teams) zugewiesen, aber noch von keinem einzelnen Mitarbeiter übernommen wurden.

#### Rollensteuerung

Die Sichtbarkeit der einzelnen Team-Ordner wird durch die Benutzerrollen und Team-Mitgliedschaften gesteuert. Du siehst nur die Team-Ordner, in denen du auch Mitglied bist.

#### Verwendung

Der Bereich *Teams* ist der primäre Ort, an dem du und deine Kollegen neue, team-zugewiesene Konversationen zur Bearbeitung übernehmen. Hier kannst du:

* **Fälle übernehmen:** Wähle einen Team-Ordner, sieh dir die Liste der Konversationen an und übernimm die älteste oder dringlichste. Sie wird dadurch in *Dein Bereich* verschoben.
* **Priorität steuern:** Konversationen innerhalb der Team-Ordner können nach Wartezeit (älteste zuerst) oder Priorität sortiert werden, um die Einhaltung der Service Level Agreements (SLAs) zu gewährleisten.
* **Gesamtauslastung prüfen:** Du kannst sehen, wie viele Konversationen aktuell noch in den jeweiligen Team-Warteschlangen liegen.
* **Teamübergabe:** Konversationen aus *Dein Bereich*, die besser in ein anderes Team passen, kannst du direkt in einen Ordner im Bereich *Teams* verschieben.

#### Teams ein-/ausblenden und bearbeiten

Im Bereich *Teams* stehen dir zwei Aktionen zur Verfügung:

* **Auge-Icon:** Damit blendest du bestehende Teams in der Bereiche-Navigation ein und aus. Ein ausgeblendetes Team wird dir nicht mehr in der Inbox angezeigt, existiert aber weiterhin.
* **Stift-Icon:** Ein Klick führt dich direkt zu den [Team-Einstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/teams), in denen Teams angelegt, bearbeitet und gelöscht werden können.

#### Beispiele

* **Arbeitsbeginn im Team:** Du hast deine persönlichen Aufgaben in *Dein Bereich* erledigt. Du navigierst zu *Teams* und siehst, dass im Ordner „Team Support“ noch 15 Konversationen warten. Du übernimmst die ältesten drei.
* **Fall-Eskalation:** Ein Kunde meldet ein Problem, das sofort den Vertrieb erfordert. Du schreibst eine interne Notiz und weist die Konversation dem Ordner „Team Vertrieb“ zu, damit der nächste freie Vertriebsmitarbeiter sie übernehmen kann.
* **Überwachung der Wartezeit:** Der Teamleiter prüft mehrmals täglich die Team-Ordner, um zu sehen, ob die Anzahl der wartenden Konversationen zu hoch wird. Bei Bedarf wird Personal aus weniger ausgelasteten Teams zur Unterstützung eingesetzt.

#### Best Practices für Teams

* Arbeite nach dem FIFO-Prinzip (First In, First Out): übernimm zuerst die älteste, wartende Konversation. Das reduziert die durchschnittliche Bearbeitungszeit und hält die SLAs ein.
* Übernimm Konversationen sofort über *Übernehmen*, um den Fall in *Dein Bereich* zu verschieben. Das vermeidet, dass mehrere Teammitglieder an derselben Konversation arbeiten (Double-Handling).
* Nutze *Teams* nur zur Fallübernahme – die eigentliche Bearbeitung und Kommunikation erfolgt in *Dein Bereich*.
* Überprüfe zuerst den eigenen Bereich: Erst wenn *Dein Bereich* abgearbeitet ist, solltest du neue Konversationen aus *Teams* übernehmen.

***

### Ansichten

Ansichten sind benutzerdefinierte, gespeicherte Filterkombinationen, die du selbst erstellst. Sie ermöglichen dir, über die festen Unterteilungen der Hauptbereiche hinauszugehen und deine Inbox auf individuelle Bedürfnisse oder temporäre Arbeitsschwerpunkte zuzuschneiden.

#### Verwendung

Hier kannst du:

* **Eigene Filter speichern:** Eine Kombination aus mehreren Kriterien ([Tags](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/tags-und-trigger), Status, Eigenschaften) erstellen und als neue Ansicht unter einem selbstgewählten Namen speichern.
* **Spezialfälle abarbeiten:** Ansichten für wiederkehrende, aber nicht standardisierte Aufgaben definieren (z. B. alle Eskalationsfälle oder alle Rückrufe).
* **Eigene Konversationen filtern:** Über die Eigenschaft *Eigene Konversationen* eine Ansicht erstellen, die nur dir zugewiesene Fälle zeigt.
* **Sortierung wählen:** Bestimme, wie die Ergebnisse angezeigt werden:
  * *Unsortiert* – Zeigt Konversationen in der Reihenfolge an, in der sie im System eingegangen sind.
  * *Aktivität* – Sortiert nach der letzten Interaktion (neueste Aktivität oben).

#### Ansichten erstellen, bearbeiten und löschen

Der Bereich *Ansichten* ist der einzige Ort in der Bereiche-Navigation, den du vollständig selbst verwalten kannst.

{% stepper %}
{% step %}
Klicke im Bereich *Ansichten* auf das *Stift-Icon* neben der Überschrift, um das Verwaltungsmenü zu öffnen.
{% endstep %}

{% step %}
Klicke auf *Ansicht erstellen*.
{% endstep %}

{% step %}
Vergib einen aussagekräftigen *Namen* für die Ansicht (z. B. „Dringende Reklamationen“).
{% endstep %}

{% step %}
Wähle die gewünschten Filter aus:

* *Tags* – nach einem oder mehreren Tags (z. B. „Reklamation“).
* *Eigenschaften* – z. B. *Ungelesen* oder *Eigene Konversationen*.
* *Status* – *Offene Konversationen*, *Abgeschlossene Konversationen* oder *In Bearbeitung*.
* *Sortierung* – *Unsortiert* oder *Aktivität*.
  {% endstep %}

{% step %}
Klicke auf *Ansicht erstellen*, um die Ansicht zu speichern.
{% endstep %}
{% endstepper %}

Die neue Ansicht erscheint anschließend in der Bereiche-Navigation unter *Ansichten*.

Weitere Verwaltungsaktionen:

* **Ansicht bearbeiten:** Klicke auf das *Stift-Icon* neben der Ansicht, um Filter und Namen zu ändern.
* **Ansicht löschen:** Nicht mehr benötigte Ansichten kannst du jederzeit löschen, um die Navigation übersichtlich zu halten.
* **Ansicht ein- und ausblenden:** Über das *Auge-Icon* blendest du eine Ansicht vorübergehend aus. Sie verschwindet aus der Navigation, bleibt aber erhalten und kann jederzeit wieder eingeblendet werden.

#### Beispiele

* **Manager-Ansicht:** Ein Teamleiter erstellt eine Ansicht, die alle offenen Konversationen mit dem Tag „#Escalation“ anzeigt, um kritische Fälle unabhängig von der Zuweisung zu überwachen.
* **Nachbearbeitung von** <code class="expression">space.vars.TERM\_AI\_AGENT</code>**-Fällen:** Ein Mitarbeiter erstellt eine Ansicht mit dem Tag „Konversation vom Bot abgeschlossen“, um eine Stichprobe der erfolgreich gelösten Fälle zu prüfen.
* **Fokus auf ungelesene Anfragen:** Du kombinierst in einer Ansicht die Eigenschaft *Ungelesen* mit dem Tag „Wichtig“, um sicherzustellen, dass keine dringende Kundenantwort übersehen wird.

#### Best Practices für Ansichten

* Erstelle nur Ansichten für häufige oder komplexe Filter. Für einmalige Suchen genügt die Filterung in *Global* – das vermeidet eine Überladung der Navigation.
* Wähle klare, beschreibende Namen (z. B. „Dringende Reklamationen“). Das macht die Funktion der Ansicht sofort ersichtlich.
* Nutze die Sortierung *Aktivität* zur Fallbearbeitung. So werden Fälle mit der neuesten Interaktion zuerst angezeigt.
* Nutze die Funktion zum Ein- und Ausblenden. Das hält die Übersicht während spezieller Maßnahmen oder Kampagnen sauber, ohne die Ansicht dauerhaft zu verlieren.

***

### Best Practices – übergreifend

Empfehlung: Arbeite die Bereiche in dieser Reihenfolge ab, um effizient und strukturiert vorzugehen:

1. *Dein Bereich* – Bearbeite zuerst deine persönlich zugewiesenen Fälle. Beginne mit *Erwähnt*, dann *Ungelesen* und *Zurückgestellt*, dann *Zu erledigen*.
2. *Teams* – Erst wenn dein persönlicher Bereich abgearbeitet ist, übernimm neue Fälle aus den Team-Warteschlangen.
3. *Ansichten* – Nutze deine gespeicherten Ansichten für spezielle oder wiederkehrende Aufgaben.
4. *Global* – Verwende diesen Bereich nur zur Überwachung, Archivsuche und KPI-Prüfung. Bearbeite Konversationen nicht direkt hier.


# Konversationen

Eine Konversation ist der komplette Nachrichten-Thread zu einem konkreten Anliegen. Sie kann über verschiedene Kanäle geführt werden – z. B. über das Web-Widget, WhatsApp, E-Mail oder Telefon.

### Wo finde ich Konversationen?

Einzelne Konversationen kannst du über verschiedene Wege aufrufen:

* **Inbox:** Über *AI Agent → Inbox* werden Konversationen nach Bereichen angezeigt.
* **Suche:** Über die Suchleiste in der Inbox durchsuchst du Konversationen anhand der letzten Nachricht, des Kontaktnamens oder der Rufnummer (bei Telefonie).
* **Über den Kontakt:** Unter *AI Agent → Inbox → Kontakte* einen Kontakt öffnen und zu seinen Konversationen wechseln.

In der Konversationsübersicht wird neben jeder Konversation ein Icon angezeigt, das den jeweiligen Kanal symbolisiert (z. B. Telefon-Symbol für Voice, Web-Symbol für Web-Widget, Brief-Symbol für E-Mail).

***

### Erklärung – Was genau sind Konversationen?

Eine Konversation bündelt alle Informationen zu einem bestimmten Anliegen an einem Ort. Sie enthält:

* **Teilnehmende:** Kunde, <code class="expression">space.vars.TERM\_AI\_AGENT</code> und Mitarbeitende.
* **Nachrichten & Anhänge:** Der gesamte Nachrichtenverlauf inklusive gesendeter Dateien.
* **Metadaten:** Konversations-ID, Kanal, Zeitstempel, Status und Zuweisung.
* **Interne Notizen & Erwähnungen:** Nur für das Team sichtbare Anmerkungen.

#### Konversations-Status

Jede Konversation hat einen Status, der in der Kopfleiste angezeigt wird:

* **Offen:** Die Konversation wurde noch nicht von einem Mitarbeiter übernommen.
* **In Arbeit:** Ein Mitarbeiter bearbeitet die Konversation aktiv.
* **Zurückgestellt:** Die Konversation wurde für eine spätere Bearbeitung zurückgestellt.
* **Abgeschlossen:** Das Anliegen wurde gelöst und die Konversation ist geschlossen.

***

### Verwendung – Was kann man mit Konversationen machen?

Innerhalb einer Konversation stehen dir zahlreiche Werkzeuge zur effizienten Bearbeitung zur Verfügung.

#### Konversation übernehmen

Wenn ein <code class="expression">space.vars.TERM\_AI\_AGENT</code> eine Konversation führt und du als Mitarbeiter eingreifen möchtest, kannst du die Konversation manuell übernehmen.

{% stepper %}
{% step %}
Öffne die gewünschte Konversation.
{% endstep %}

{% step %}
Klicke unten auf den Button *Konversation übernehmen*.
{% endstep %}

{% step %}
Es erscheint ein Bestätigungsdialog mit dem Hinweis, dass der <code class="expression">space.vars.TERM\_AI\_AGENT</code> aktiv ist und die Übernahme ihn unterbricht.
{% endstep %}

{% step %}
Bestätige mit *Übernehmen*.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Ist der <code class="expression">space.vars.TERM\_AI\_AGENT</code> in der Unterhaltung noch aktiv, unterbricht die Übernahme ihn. Er antwortet in dieser Konversation nicht mehr automatisch, bis sie abgeschlossen wird oder ein [Trigger](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/tags-und-trigger#tags-als-trigger-verwenden) gesetzt wird.
{% endhint %}

#### Nachrichten senden

Nachdem du eine Konversation übernommen hast, kannst du direkt im Antwortfenster Nachrichten an den Kunden verfassen.

* Gib deine Nachricht im Tab *Antworten* in das Eingabefeld ein.
* Sende sie mit einem Klick auf das Senden-Symbol oder per Tastenkombination `Strg + Enter` (bzw. `Ctrl + Enter`).

**Schnellantworten**

Gib `/` im Nachrichtenfeld ein, um die [Schnellantworten](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/schnellantworten) zu öffnen. Damit fügst du vordefinierte Textbausteine schnell ein und versendest sie.

**Anhänge und Dateien senden**

Im unteren Bereich des Antwortfensters findest du mehrere Icons für zusätzliche Funktionen:

* **Anhang senden:** Lädt eine Datei von deinem Computer hoch und sendet sie direkt an den Kunden.
* **Datei aus Mediathek senden:** Wähle eine Datei aus der zentralen [Mediathek](/epic-ai-platform/epic-ai-platform/ai-agent/build/mediathek) und sende sie an den Kunden.

#### <code class="expression">space.vars.TERM\_AI</code>-Features

{% hint style="info" %}
Die <code class="expression">space.vars.TERM\_AI</code>-Features Ein müssen zuvor in den [KI-Einstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen) aktiviert werden.
{% endhint %}

Die <code class="expression">space.vars.TERM\_AI</code> unterstützt dich bei der Bearbeitung direkt im Antwortfenster:

* **Text umformulieren:** Optimiert eingegebene Texte auf Knopfdruck und schlägt alternative Formulierungen vor, um Tonalität und Stil zu verbessern. Du kannst das Nachrichtenfeld dabei wie einen Prompt nutzen – schreibe z. B. eine Nachricht und ergänze „übersetze auf Englisch“, und führe den Prompt über den Button aus.
* **Antwortvorschlag generieren:** Schlägt auf Basis der eingehenden Nachrichten passende Antworten vor. Diese Entwürfe kannst du prüfen, anpassen und direkt übernehmen.
* **Chat zusammenfassen:** Generiert eine prägnante Zusammenfassung des bisherigen Gesprächsverlaufs – besonders nützlich bei langen Dialogen oder bei der Übernahme einer Konversation.

#### Interne Notizen

Neben der direkten Kommunikation mit dem Kunden kannst du interne Notizen hinterlegen, die nur für dein Team sichtbar sind. Werden im Flow [Notiz-Elemente](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen#notiz-erstellen) genutzt, tauchen auch diese im Konversationsverlauf auf.

{% stepper %}
{% step %}
Wechsle im Antwortbereich auf den Tab *Notiz*.
{% endstep %}

{% step %}
Gib deine Notiz in das Eingabefeld ein.
{% endstep %}

{% step %}
Speichere die Notiz.
{% endstep %}
{% endstepper %}

Notizen eignen sich besonders für:

* Interne Absprachen oder Rückfragen an Kollegen.
* Dokumentation von Zwischenergebnissen oder Entscheidungen.
* Erwähnungen von Kollegen über *@-Mentions*, um diese direkt einzubinden. Die Konversation erscheint dann beim erwähnten Kollegen im Unterbereich *Erwähnt*.

#### Konversation als ungelesen markieren

Wenn du eine Konversation später bearbeiten möchtest, kannst du sie als ungelesen markieren. Klicke dazu auf das *Briefumschlag-Symbol* in der Kopfleiste.

#### Konversation zurückstellen

Wenn du auf eine Rückmeldung wartest oder die Konversation zu einem bestimmten Zeitpunkt wieder aufgreifen möchtest, kannst du sie zurückstellen.

{% stepper %}
{% step %}
Klicke in der Kopfleiste auf *Zurückstellen*.
{% endstep %}

{% step %}
Wähle einen vordefinierten Zeitraum: 3 Stunden, 6 Stunden, Morgen, 2 Tage, 3 Tage, 7 Tage, 14 Tage oder 28 Tage.
{% endstep %}

{% step %}
Alternativ wählst du über *Individuell* ein konkretes Datum im Kalender.
{% endstep %}
{% endstepper %}

Die Konversation verschwindet aus deiner aktiven Inbox und erscheint automatisch zum gewählten Zeitpunkt wieder.

{% hint style="info" %}
Bei einer zurückgestellten Konversation werden in der rechten Seitenleiste Datum und Uhrzeit angezeigt, zu denen sie wieder erscheint.
{% endhint %}

#### Konversation abschließen

Wenn das Anliegen gelöst ist, klicke in der Kopfleiste auf *Abschließen*. Die Konversation wird als abgeschlossen markiert und verschwindet aus der aktiven Inbox.

#### Konversation wieder öffnen

Eine abgeschlossene Konversation kannst du jederzeit wieder öffnen. Klicke dazu auf das *Wieder-öffnen-Symbol* in der Kopfleiste.

#### Konversation zuweisen

Konversationen können gezielt an einzelne Mitarbeiter oder ganze Teams übergeben werden. Die Zuweisung erfolgt über das Zuweisungsfeld in der rechten Seitenleiste.

#### Nachrichtendetails und Tags pro Nachricht

Wenn du mit der Maus über eine einzelne Nachricht fährst, erscheinen zwei Symbole:

* **Info-Symbol (i):** Zeigt die Details der jeweiligen Nachricht an – z. B. Erstellungszeitpunkt, Sendezeitpunkt, Verarbeitungsstatus, Zustellstatus und ob die Nachricht gelesen wurde.
* **Tag-Symbol:** Weist einer einzelnen Nachricht Tags zu. Diese Tags können anschließend über den Filter in der Kopfleiste gefiltert werden.

{% hint style="info" %}
Im Info-Symbol werden auch eventuelle Fehlermeldungen angezeigt – etwa wenn bei WhatsApp eine Zustellung gescheitert ist, weil der Kunde nicht zugestimmt hat.
{% endhint %}

#### Nachrichten filtern

Du kannst Nachrichten innerhalb einer Konversation nach Tags filtern, um bestimmte Inhalte schneller zu finden.

{% stepper %}
{% step %}
Klicke auf das *Filter-Symbol* in der Kopfleiste der Konversation.
{% endstep %}

{% step %}
Im geöffneten Filterbereich kannst du nach vorhandenen Tags filtern.
{% endstep %}
{% endstepper %}

***

### Beispiele

#### Zusammenarbeit via @-Mention

Ein Support-Mitarbeiter erhält eine komplexe technische Anfrage.

1. Er wechselt auf den Tab *Notiz* und schreibt: `@Jannis Kannst du prüfen, ob dieser Fehler mit dem Update von gestern zusammenhängt?`
2. Die Konversation erscheint bei Jannis im Unterbereich *Erwähnt*.
3. Der IT-Techniker gibt Feedback in einer weiteren Notiz.
4. Sobald die Antwort feststeht, antwortet der Support-Mitarbeiter dem Kunden und schließt die Konversation ab.

#### <code class="expression">space.vars.TERM\_AI</code>-Zusammenfassung bei Schichtwechsel

Ein Fall zieht sich über mehrere Tage und viele Nachrichten hin. Ein neuer Mitarbeiter übernimmt am nächsten Morgen.

1. Statt 20 Nachrichten zu lesen, klickt er auf *Chat zusammenfassen*.
2. Die <code class="expression">space.vars.TERM\_AI</code> generiert eine kurze Zusammenfassung, z. B.: „Kunde beschwert sich über defektes Display. Fotos wurden geschickt, Prüfung durch Technik steht noch aus. Kunde erwartet Rückruf bis 14 Uhr.“
3. Der Mitarbeiter ist sofort arbeitsfähig und kann gezielt weiterarbeiten.

#### Nutzung der Mediathek für Standardprozesse

Ein Kunde fragt nach einer Bedienungsanleitung.

1. Der Mitarbeiter klickt auf das Symbol *Datei aus Mediathek senden* im Antwortfenster.
2. Er wählt das aktuelle PDF-Handbuch aus der Mediathek aus.
3. Mit nur zwei Klicks ist das Dokument versendet – und es ist sichergestellt, dass immer die aktuellste Version herausgegeben wird.

***

### Best Practices

* **Status konsequent pflegen:** Schließe Konversationen ab, sobald das Anliegen gelöst ist. Das hält die Inbox aller Beteiligten sauber.
* **Zurückstellen statt vergessen:** Wenn du auf eine Rückmeldung wartest, nutze die *Zurückstellen*-Funktion. So geht keine Konversation unter.
* **Interne Notizen nutzen:** Dokumentiere bei komplexen Fällen kurz das Ergebnis in einer Notiz. Schreibt der Kunde später erneut und ein anderer Kollege übernimmt, ist der Kontext sofort verfügbar.
* **Transparente Zuweisung:** Soll ein Kollege den Fall komplett übernehmen, nutze immer die Zuweisungsfunktion in der Seitenleiste. Eine interne Notiz allein reicht oft nicht aus, da der Fall sonst in deiner Inbox-Statistik bleibt.
* **Tags konsequent verwenden:** Setze Tags ein, um Konversationen zu kategorisieren und später gezielt auswerten zu können.
* <code class="expression">space.vars.TERM\_AI</code>**-Zusammenfassung bei Übernahmen lesen:** Lies bei der Übernahme einer <code class="expression">space.vars.TERM\_AI\_AGENT</code>-Konversation zuerst die Zusammenfassung. Nichts frustriert Kunden mehr, als alles noch einmal erklären zu müssen, was sie gerade dem <code class="expression">space.vars.TERM\_AI\_AGENT</code> erzählt haben.
* <code class="expression">space.vars.TERM\_AI\_AGENT</code>**-Performance prüfen:** Reserviere dir wöchentlich 30 Minuten, um 5–10 zufällige <code class="expression">space.vars.TERM\_AI\_AGENT</code>-Konversationen zu prüfen. Nutze interne Notizen und Erwähnungen, um Feedback zur Performance zu dokumentieren.


# Konversationsdetails (Rechte Seite)

Die Konversationsdetails bündeln alle begleitenden Informationen einer Unterhaltung – wie Zuweisung, Tags, Kontaktdaten und interne Notizen – kompakt in der rechten Seitenleiste.

### Wo finde ich die Konversationsdetails?

Die Seitenleiste wird automatisch auf der rechten Seite angezeigt, sobald du eine Konversation öffnest.

***

### Was genau ist die Seitenleiste?

Während die Mitte der Inbox den Nachrichtenverlauf zeigt, bündelt die rechte Seite alle begleitenden Informationen zur Konversation. Sie gliedert sich in folgende Bereiche:

* **Konversations-ID und Name:** Die interne ID sowie der Name der Konversation. Der Name wird kanalabhängig vergeben, kann aber per Freitexteingabe aktualisiert werden.
* **Mitarbeiter-Zuweisung:** Zeigt den aktuell zugewiesenen Mitarbeiter an und erlaubt es, die Konversation einem anderen Mitarbeiter zuzuweisen.
* **Team-Zuweisung:** Zeigt das zugewiesene Team an und ermöglicht die Zuordnung zu einem bestimmten Team.
* **Widget-Karten:** Aufklappbare Karten mit konversationsbezogenen Variablenwerten – darunter Standard-Karten (Tags, Kontaktdaten, Organisationen, Notizen), benutzerdefinierte [Widgets](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/inbox-widgets) sowie App-Karten. Welche Karten erscheinen, ist pro Benutzer und pro <code class="expression">space.vars.TERM\_AI\_AGENT</code> konfigurierbar.
* **Data-Cards:** Individuelle Karten, die über Schnittstellen externe Daten in Echtzeit abrufen und direkt in der Seitenleiste anzeigen.

***

### Verwendung

#### Mitarbeiter zuweisen

Du kannst eine Konversation einem bestimmten Mitarbeiter zuweisen, um die Zuständigkeit klar zu regeln.

{% stepper %}
{% step %}
Klicke in der Seitenleiste auf das Feld mit dem aktuell zugewiesenen Mitarbeiter (oder auf *Nicht zugewiesen*).
{% endstep %}

{% step %}
Es öffnet sich ein Overlay mit der Überschrift *Mitarbeiter zuweisen*.
{% endstep %}

{% step %}
Wähle den gewünschten Mitarbeiter aus der Liste. Die Konversation erscheint anschließend in seiner Inbox.
{% endstep %}
{% endstepper %}

#### Konversation verlassen

Wenn du selbst einer Konversation zugewiesen bist und die Zuweisung aufheben möchtest, klicke auf das *Verlassen-Symbol* (Pfeil-Icon) neben deinem Namen in der Seitenleiste.

#### Team zuweisen

{% stepper %}
{% step %}
Klicke auf das Feld *Kein Team* (oder auf das aktuell zugewiesene Team).
{% endstep %}

{% step %}
Es öffnet sich ein Overlay mit der Überschrift *Team zuweisen*.
{% endstep %}

{% step %}
Wähle das gewünschte Team. Die Konversation erscheint anschließend bei allen Mitgliedern des Teams. Um die Zuweisung aufzuheben, wähle *Zuweisung aufheben*.
{% endstep %}
{% endstepper %}

#### Tags verwalten

Über Tags kannst du Konversationen kategorisieren, um sie später gezielt zu filtern und auszuwerten.

**Tag hinzufügen:**

{% stepper %}
{% step %}
Klicke im Bereich *Tags* auf das Plus-Symbol (+).
{% endstep %}

{% step %}
Es öffnet sich ein Overlay mit der Überschrift *Konversation taggen*.
{% endstep %}

{% step %}
Wähle einen oder mehrere vorhandene Tags aus der Liste per Häkchen aus, oder suche gezielt nach einem bestimmten Tag.
{% endstep %}
{% endstepper %}

**Tag entfernen:** Entferne das Häkchen direkt am jeweiligen Tag.

#### Kontaktdaten einsehen und bearbeiten

Im Bereich *Kontaktdaten* werden folgende Informationen zum zugehörigen Kontakt angezeigt:

* **Name:** Bei unbekannten Kontakten wird ein anonymisierter Name angezeigt (z. B. „Anon. Krokodil #4a5888“).
* **Telefonnummer:** Falls vorhanden, sonst *Telefonnummer hinzufügen*.
* **E-Mail-Adresse:** Falls vorhanden, sonst *E-Mail-Adresse hinzufügen*.
* **Erstellt:** Das Datum, an dem der Kontakt angelegt wurde.

Über den Button *Kontakt öffnen* springst du direkt in die vollständige Kontaktansicht, um weitere Details einzusehen oder Stammdaten zu ergänzen.

#### Notizen

Im Bereich *Notizen* kannst du interne Anmerkungen zur Konversation hinterlegen. Diese sind nur für dein Team sichtbar – der Kunde sieht sie nicht.

Gib deine Notiz in das Eingabefeld ein und speichere sie mit `Strg + Enter`.

Die Seitenleisten-Notiz dient als schneller Kontexthinweis zur gesamten Konversation. Der *Notiz*-Tab im Antwortbereich ist hingegen für ausführlichere interne Kommunikation und @-Mentions gedacht.

#### Data-Cards

Data-Cards sind individuelle Informationskarten, die über Schnittstellen externe Daten abrufen und in Echtzeit in der Seitenleiste anzeigen. So sind relevante Informationen aus externen Systemen direkt in der Konversation verfügbar, ohne das Programm wechseln zu müssen.

Ein typisches Beispiel: Ein E-Commerce-Unternehmen hat eine Schnittstelle zum Shop-System eingerichtet. Schreibt ein Kunde „Wo bleibt meine Bestellung?“, zeigt die Data-Card automatisch die letzten Bestellungen inklusive Sendungsstatus an.

{% hint style="info" %}
[Data-Cards](/epic-ai-platform/epic-ai-platform/workspace/apps#datacard-erstellen) müssen über Schnittstellen eingerichtet werden und sind nicht standardmäßig verfügbar.
{% endhint %}

***

### Widgets verwalten

Widgets sind benutzerdefinierte Karten, die konversationsbezogene Variablenwerte in der Seitenleiste anzeigen. Agenten können Werte direkt in der Karte einsehen und bei Bedarf manuell anpassen. Ändert sich ein Variablenwert im laufenden Flow, wird er automatisch in der Karte aktualisiert.

{% hint style="info" %}
Widgets werden von Administratoren oder Inhabern unter *Einstellungen → Inbox → Widgets* erstellt. Details zur Erstellung und Konfiguration findest du unter [Widgets](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/inbox-widgets).
{% endhint %}

#### Karten ein- und ausblenden

Nicht jede Karte muss für jeden Benutzenden sichtbar sein. Über *Einstellungen* am unteren Rand der Seitenleiste öffnest du die Übersicht *Widgets ein-/ausblenden*.

Dort werden alle verfügbaren Karten in drei Gruppen angezeigt:

* **Standard:** z. B. Tags, Kontaktdaten, Organisationen, Notizen.
* **Benutzerdefiniert:** manuell erstellte Widgets.
* **App-Karten:** aus integrierten Apps.

Setze oder entferne das Häkchen neben einer Karte, um sie ein- oder auszublenden. Die blaue Zahl neben dem Widget-Titel zeigt an, an welcher Position die Karte in der Seitenleiste erscheint.

{% hint style="info" %}
Die Einblende- und Positionseinstellungen gelten pro Benutzer und pro <code class="expression">space.vars.TERM\_AI\_AGENT</code> und werden individuell gespeichert.
{% endhint %}

#### Werte anzeigen und bearbeiten

Felder, für die noch kein Wert gesetzt ist, zeigen einen grauen Platzhaltertext an (z. B. *Name hinzufügen*).

{% stepper %}
{% step %}
Klicke auf das gewünschte Feld.
{% endstep %}

{% step %}
Trage den neuen Wert ein oder wähle ihn aus:

* **Text/Zahl:** Direkte Texteingabe.
* **Checkbox:** Häkchen setzen oder entfernen.
* **Dropdown:** Wähle einen der vordefinierten Werte aus der Auswahlliste.
* **Datum:** Es öffnet sich ein Kalender – wähle das Datum und bestätige mit *Übernehmen*.
  {% endstep %}

{% step %}
Bestätige die Eingabe mit `Enter`, um den Wert zu speichern.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Solange ein Wert noch nicht gespeichert wurde, erscheint ein oranges Warndreieck neben dem Feld. Das Speichern eines beliebigen Feldes speichert alle ausstehenden Änderungen der Karte gleichzeitig. Um eine Änderung zu verwerfen, klicke das Feld an und drücke `ESC`.
{% endhint %}

#### Karte kopieren

Über das *Kopieren-Symbol* (⧉) neben dem Kartentitel kopierst du den gesamten Inhalt der Karte in die Zwischenablage – also alle sichtbaren Felder mit ihren Labels und aktuellen Werten. Das ist praktisch, um Konversationsdaten schnell in ein anderes Tool (z. B. ein CRM oder Ticketsystem) zu übertragen.

***

### Best Practices

* **Zuweisung immer nutzen:** Soll ein Kollege einen Fall komplett übernehmen, verwende die Zuweisungsfunktion. Eine interne Notiz mit „@Max, mach du das mal“ reicht nicht aus – der Fall bleibt sonst in deiner Inbox-Statistik.
* **Tags konsequent vergeben:** Vergib Tags bereits während der Bearbeitung, nicht erst nachträglich. So bleiben Konversationen von Anfang an strukturiert und filterbar.
* **Kontaktdaten frühzeitig pflegen:** Ergänze fehlende Stammdaten direkt während der Konversation über *Kontakt öffnen*. Vollständige Kontaktdaten erleichtern spätere Zuordnungen.
* **Organisationen verknüpfen:** Ordne Kontakte einer Organisation zu, sobald bekannt ist, zu welchem Unternehmen sie gehören.
* **Notizen für Kontext nutzen:** Hinterlege bei komplexen Fällen eine kurze Notiz in der Seitenleiste. Übernimmt ein Kollege den Fall später, ist der Kontext sofort verfügbar.
* **Widget-Werte immer bestätigen:** Das orange Warndreieck zeigt ungespeicherte Änderungen an. Drücke `Enter` zum Speichern – oder `ESC`, um die Änderung zu verwerfen.
* **Widgets gezielt einblenden:** Blende nur die Karten ein, die für deinen Arbeitsbereich relevant sind. Das hält die Seitenleiste übersichtlich.


# Kontakte

Kontakte sind die zentrale Anlaufstelle, um alle Informationen zu Personen zu verwalten, die mit deinem AI Agent interagieren. Jeder Kontakt bündelt Stammdaten und Konversationshistoire.

### Wo finde ich die Kontakte?

Navigiere über die linke Seitenleiste zu *Inbox → Kontakte*. Dort werden alle vorhandenen Kontakte in einer Tabelle aufgelistet.

Die Tabelle zeigt folgende Spalten: *Name*, *E-Mail*, *Telefonnummer*, *Adresse* und *Erstellt am*. Über die Suchleiste oben suchst du gezielt nach einem bestimmten Kontakt.

{% hint style="info" %}
Kontaktdaten lassen sich auch direkt aus der Inbox heraus pflegen. Öffnest du eine Konversation, werden auf der rechten Seite die Kontaktdaten des jeweiligen Gesprächspartners angezeigt. Dort kannst du Daten einsehen, bearbeiten und den Kontakt mit einer Organisation verknüpfen.
{% endhint %}

***

### Erklärung – Was genau sind Kontakte?

Ein Kontakt ist ein Datensatz, der eine einzelne Person repräsentiert, die mit deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> kommuniziert hat. Kontakte werden automatisch angelegt, sobald eine erste Konversation startet. Dabei werden bekannte Datenfelder vorausgefüllt – die Informationen sind jedoch zunächst oft unvollständig und sollten manuell ergänzt werden.

Kontaktiert eine Person deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> über mehrere Kanäle (z. B. Chat und Telefon), werden die Konversationen einem gemeinsamen Kontakt zugeordnet, sofern es einen gemeinsamen Nenner wie E-Mail-Adresse oder Telefonnummer gibt.

#### Kontaktdaten

Für jeden Kontakt stehen folgende Datenfelder zur Verfügung:

* **Name:** Der Name der Person.
* **Telefonnummer:** Die Telefonnummer des Kontakts.
* **E-Mail-Adresse:** Die E-Mail-Adresse des Kontakts.
* **Sprache:** Die Sprache des Kontakts (z. B. `DE`).
* **Hausnummer:** Hausnummer der Adresse.
* **Straße:** Straßenname der Adresse.
* **Postleitzahl:** PLZ der Adresse.
* **Stadt/Ort:** Stadt oder Ort der Adresse.
* **Land:** Land der Adresse.

#### Organisationen

Im Bereich *Organisationen* eines Kontakts siehst du, welchen Organisationen dieser Kontakt zugeordnet ist. Besteht noch keine Verknüpfung, wird der Hinweis *Der Kontakt ist mit keiner Organisation verknüpft* angezeigt. Über den Button *Organisation verknüpfen* ordnest du den Kontakt einer bestehenden Organisation zu.

#### Konversationen

Im Bereich *Konversationen* werden alle Konversationen aufgelistet, die dieser Kontakt bisher geführt hat. Du siehst das Datum, die Konversations-ID sowie eine Vorschau auf die letzte Nachricht. Mit einem Klick auf einen Eintrag öffnest du die jeweilige Konversation und siehst den Verlauf. Über den Button *Mehr laden* lädst du ältere Konversationen nach.

***

### Verwendung – Wofür werden Kontakte verwendet?

* **Wichtige Informationen speichern:** Kontakte bündeln alle relevanten Informationen zu einer Person an einem zentralen Ort. So kannst du bei eingehenden Anfragen schnell auf Name, Telefonnummer, E-Mail-Adresse oder Spracheinstellung zugreifen.
* **Interaktionshistorie nachverfolgen:** Über den Bereich *Konversationen* in der Kontaktansicht siehst du chronologisch alle bisherigen Chats und Telefonate, die ein Kontakt mit deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> geführt hat. Das hilft dir, den Kontext früherer Gespräche schnell nachzuvollziehen.
* **Schnellzugriff auf Konversationen:** Du kannst jede Konversation direkt aus dem Kontaktprofil heraus öffnen und musst nicht in der Inbox nach einzelnen Gesprächen suchen.
* **Organisatorische Zuordnung:** Kontakte lassen sich mit Organisationen verknüpfen. So wird auf einen Blick sichtbar, welche Personen zu welchem Unternehmen gehören. Die Verknüpfung ist in beide Richtungen nutzbar – vom Kontakt zur Organisation und umgekehrt.
* **Kontaktdaten direkt in der Inbox pflegen:** Öffnest du in der Inbox eine Konversation, werden rechts die Kontaktdaten des Gesprächspartners angezeigt. Dort kannst du Daten bearbeiten, Tags vergeben, Organisationen verknüpfen und Notizen hinterlegen – ohne den Bereich *Kontakte* separat aufzurufen.

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### Automatische Erstellung

Ein Kontakt wird automatisch angelegt, sobald die erste Konversation mit einer neuen Person startet. Dabei werden bekannte Datenfelder (z. B. die Telefonnummer bei einem Anruf) vorausgefüllt. Die restlichen Felder sind zunächst leer und können manuell ergänzt werden.

#### Kontakt manuell erstellen

{% stepper %}
{% step %}
Navigiere über die linke Seitenleiste zu *Kontakte*.
{% endstep %}

{% step %}
Klicke unten rechts auf den Button *Kontakt erstellen*.
{% endstep %}

{% step %}
Fülle den Name aus und wähle die Sprache.
{% endstep %}

{% step %}
Speichere den Kontakt.
{% endstep %}
{% endstepper %}

#### Kontakt bearbeiten

Es gibt zwei Wege, einen Kontakt zu bearbeiten:

* **Über die Kontaktansicht:** Navigiere zu *Kontakte*, wähle den gewünschten Kontakt aus der Liste und klicke in der Detailansicht auf das jeweilige Feld (z. B. *Telefonnummer hinzufügen*), um den Wert einzugeben oder zu ändern.
* **Direkt aus der Inbox:** Öffne eine Konversation – die Kontaktdaten erscheinen rechts. Klicke auf *Kontakt öffnen* für die vollständige Detailansicht oder bearbeite die sichtbaren Felder direkt.

#### Organisation verknüpfen

{% stepper %}
{% step %}
Öffne den gewünschten Kontakt in der Detailansicht.
{% endstep %}

{% step %}
Scrolle zum Bereich *Organisationen*.
{% endstep %}

{% step %}
Klicke auf *Organisation verknüpfen*.
{% endstep %}

{% step %}
Suche nach der gewünschten Organisation und wähle sie aus.
{% endstep %}
{% endstepper %}

#### Kontakt löschen

Kontakte kannst du über die Tabellenansicht mit einem Klick auf das Mülltonnen-Symbol löschen. Die Kontaktkarte wird unwiderruflich gelöscht – die zugehörigen Konversationen bleiben jedoch erhalten.

***

### Beispiel: Kontakt nach einem Erstgespräch vervollständigen

**Szenario:** Ein Kunde ruft zum ersten Mal an. Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> erfasst automatisch die Telefonnummer. Nach dem Gespräch möchtest du die restlichen Kontaktdaten ergänzen.

{% stepper %}
{% step %}
Navigiere zu *Kontakte* und suche in der Liste nach der Telefonnummer des Anrufers (z. B. „+4946193069108“).
{% endstep %}

{% step %}
Klicke auf den Kontakt, um die Detailansicht zu öffnen.
{% endstep %}

{% step %}
Ergänze die fehlenden Daten – z. B. Name, E-Mail-Adresse und Adresse (Straße, Hausnummer, PLZ, Stadt/Ort, Land).
{% endstep %}

{% step %}
Scrolle zum Bereich *Organisationen*, klicke auf *Organisation verknüpfen* und wähle die passende Organisation aus.
{% endstep %}
{% endstepper %}

Ab sofort ist der Kontakt vollständig gepflegt und der Organisation zugeordnet. Bei zukünftigen Anrufen wird er automatisch erkannt.

***

### Best Practices

* **Hybride Datenpflege:** Nutze einen zweistufigen Prozess, um eine persönliche Kundenansprache sicherzustellen:
  * **Automatisierte Erfassung durch den** <code class="expression">space.vars.TERM\_AI\_AGENT</code>**:** Beim Erstkontakt erfragt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> fehlende Stammdaten wie Name, E-Mail-Adresse oder Sprache. Diese werden automatisch hinterlegt, sofern die Felder einen validen Wert besitzen.
  * **Manuelles Überschreiben nach dem Gespräch:** Ist das Gespräch abgeschlossen, kannst du die erfassten Daten über die Kontaktbearbeitung final prüfen und bei Bedarf korrigieren. So ist beim nächsten Kontakt sofort eine persönliche Anrede möglich.
* **Kontaktdaten zeitnah pflegen:** Ergänze fehlende Daten möglichst direkt nach dem ersten Gespräch. Je vollständiger die Daten, desto besser funktioniert die automatische Zuordnung bei zukünftigen Kontaktaufnahmen über verschiedene Kanäle.
* **Organisationszuordnung nutzen:** Verknüpfe Kontakte frühzeitig mit der zugehörigen Organisation. So hast du jederzeit einen vollständigen Überblick über alle Ansprechpartner eines Unternehmens und deren gesamte Kommunikationshistorie.


# Organisationen

Organisationen ermöglichen es dir, Unternehmen, Firmen oder Gruppen zentral zu verwalten und mit bestehenden Kontakten zu verknüpfen. So hast du alle Informationen und Konversationen an einem Ort.

### Wo finde ich die Organisationen?

Navigiere über die linke Seitenleiste zu *Inbox → Organisationen*. Dort werden alle angelegten Organisationen in einer durchsuchbaren Tabelle dargestellt.

Die Tabelle zeigt folgende Spalten: *Name*, *E-Mail*, *Webseite*, *Adresse* und *Erstellt am*. Über die Suchleiste oben suchst du gezielt nach einer bestimmten Organisation.

***

### Erklärung – Was genau sind Organisationen?

Eine Organisation ist ein Datensatz, der eine Firma, ein Unternehmen oder eine Gruppe repräsentiert. Jede Organisation kann mit verschiedenen Informationen angereichert und mit Kontakten verknüpft werden.

#### Organisationsdaten

Für jede Organisation stehen folgende Datenfelder zur Verfügung:

* **Name:** Der Name der Organisation (Pflichtfeld bei der Erstellung).
* **Branche:** Die Branche, in der die Organisation tätig ist.
* **E-Mail-Adresse:** Die zentrale E-Mail-Adresse der Organisation.
* **Website:** Die Webadresse der Organisation.
* **Mitarbeiter:** Anzahl oder Namen der Mitarbeiter.
* **Hausnummer:** Hausnummer der Geschäftsadresse.
* **Straße:** Straßenname der Geschäftsadresse.
* **Postleitzahl:** PLZ der Geschäftsadresse.
* **Stadt/Ort:** Stadt oder Ort der Geschäftsadresse.
* **Land:** Land der Geschäftsadresse.

#### Kontakte

Im Bereich *Kontakte* einer Organisation siehst du, welche Kontakte dieser Organisation zugeordnet sind. Besteht noch keine Verknüpfung, wird der Hinweis *Der Organisation sind noch keine Kontakte zugeordnet* angezeigt. Über den Button *Kontakt verknüpfen* verbindest du bestehende [Kontakte](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/kontakte) mit der Organisation.

#### Konversationen

Im Bereich *Konversationen* werden alle Konversationen aufgelistet, die die verknüpften Kontakte bisher geführt haben. Du siehst den Zeitpunkt der letzten Nachricht sowie eine Vorschau darauf und den Absender. Mit einem Klick auf einen Eintrag öffnest du die jeweilige Konversation direkt.

***

### Verwendung – Wofür werden Organisationen verwendet?

* **Wichtige Informationen bündeln:** Organisationen speichern alle relevanten Daten zu einem Unternehmen an einem zentralen Ort. So kannst du bei Anfragen schnell auf Branche, Adresse oder Kontaktdaten zugreifen, ohne in verschiedenen Systemen suchen zu müssen.
* **Kontakte zuordnen:** Du kannst einzelne Kontakte einer Organisation zuweisen. So wird auf einen Blick sichtbar, welche Personen zu welchem Unternehmen gehören – besonders hilfreich, wenn mehrere Ansprechpartner derselben Firma mit deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> kommunizieren.
* **Interaktionshistorie nachverfolgen:** Über den Bereich *Konversationen* in der Organisationsansicht siehst du chronologisch alle bisherigen Chats und Gespräche der verknüpften Kontakte. Du kannst jede [Konversation](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/konversationen) direkt aus der Organisationsansicht heraus öffnen und den Verlauf einsehen.

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

{% hint style="info" %}
Die Verwaltung von Organisationen erfolgt ausschließlich über die Ansicht *Organisationen* in der linken Seitenleiste.
{% endhint %}

#### Organisation erstellen

{% stepper %}
{% step %}
Navigiere über die linke Seitenleiste zu *Organisationen*.
{% endstep %}

{% step %}
Klicke unten rechts auf den Button *Organisation erstellen*.
{% endstep %}

{% step %}
Gib im Dialogfeld den *Namen* der Organisation ein.
{% endstep %}

{% step %}
Klicke auf *Organisation erstellen*, um sie anzulegen.
{% endstep %}
{% endstepper %}

Nach der Erstellung wirst du zur Detailansicht weitergeleitet. Dort kannst du weitere Organisationsdaten wie Branche, Adresse oder Website ergänzen.

#### Organisation bearbeiten

{% stepper %}
{% step %}
Navigiere zu *Organisationen* und wähle die gewünschte Organisation aus der Liste.
{% endstep %}

{% step %}
Klicke in der Detailansicht auf das jeweilige Feld (z. B. *Branche hinzufügen*), um den Wert einzugeben oder zu ändern.
{% endstep %}

{% step %}
Die Änderungen werden beim Herausklicken oder mit `Enter` gespeichert.
{% endstep %}
{% endstepper %}

#### Kontakt verknüpfen

{% stepper %}
{% step %}
Öffne die gewünschte Organisation in der Detailansicht.
{% endstep %}

{% step %}
Scrolle zum Bereich *Kontakte*.
{% endstep %}

{% step %}
Klicke auf *Kontakt verknüpfen*.
{% endstep %}

{% step %}
Suche im Suchfeld nach dem gewünschten Kontakt.
{% endstep %}

{% step %}
Wähle den Kontakt aus, um ihn der Organisation zuzuordnen.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Es können nur bereits bestehende Kontakte verknüpft werden. Sind noch keine Kontakte vorhanden, wird der Hinweis *Es wurden keine Kontakte gefunden. Lege einen Kontakt an, um diesen mit einer Organisation zu verknüpfen* angezeigt.
{% endhint %}

#### Organisation löschen

Organisationen kannst du in der Tabellenübersicht mit einem Klick auf das Mülltonnen-Symbol löschen.

***

### Beispiel: Kundenfirma anlegen und Ansprechpartner zuordnen

**Szenario:** Ein Kunde der Firma „Muster GmbH“ kontaktiert deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Du möchtest die Firma im System anlegen und den Kontakt zuordnen.

{% stepper %}
{% step %}
Navigiere zu *Organisationen* und klicke auf *Organisation erstellen*.
{% endstep %}

{% step %}
Gib als Namen „Muster GmbH“ ein und bestätige mit *Organisation erstellen*.
{% endstep %}

{% step %}
Ergänze in der Detailansicht die Organisationsdaten – z. B. Branche, E-Mail-Adresse, Website und Adresse.
{% endstep %}

{% step %}
Scrolle zum Bereich *Kontakte* und klicke auf *Kontakt verknüpfen*.
{% endstep %}

{% step %}
Suche nach dem Kontakt „Max Müller“ und wähle ihn aus.
{% endstep %}
{% endstepper %}

Ab sofort siehst du unter der Organisation „Muster GmbH“ alle Konversationen, die Max Müller mit deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> geführt hat.

***

### Best Practices

* **Aussagekräftige Namen verwenden:** Nutze den vollständigen Firmennamen inklusive Rechtsform (z. B. „Muster GmbH“ statt „Muster“), damit Organisationen eindeutig identifizierbar sind.
* **Daten vollständig pflegen:** Fülle möglichst viele Felder aus. Vollständige Organisationsdaten erleichtern die Zuordnung und spätere Suche erheblich.
* **Kontakte zeitnah zuordnen:** Verknüpfe Kontakte direkt nach der Erstellung einer Organisation. So gehen keine Konversationen verloren und die Interaktionshistorie ist von Anfang an vollständig.
* **Regelmäßig prüfen:** Kontrolliere in regelmäßigen Abständen, ob die Organisationsdaten noch aktuell sind und ob alle relevanten Kontakte zugeordnet wurden.


# Benachrichtigungen

Mit Benachrichtigungen wirst du über wichtige Ereignisse in der Inbox informiert.

### Wo finde ich die Benachrichtigungseinstellungen?

Die Benachrichtigungseinstellungen findest du in AI Agent *→* Inbox. Klicke dazu unten links auf das *Glocken-Symbol*. Es öffnet sich ein Dialogfenster, in dem du alle Benachrichtigungsoptionen konfigurierst.

{% hint style="info" %}
Die Einstellungen beziehen sich immer nur auf den aktuell geöffneten <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Möchtest du Benachrichtigungen für mehrere <code class="expression">space.vars.TERM\_AI\_AGENT</code>s erhalten, musst du die Einstellungen für jeden einzeln vornehmen. Die Inbox muss in einem Tab aktiv sein, damit Benachrichtigungen ausgelöst werden.
{% endhint %}

***

### Welche Benachrichtigungen gibt es?

Es stehen vier Benachrichtigungstypen zur Verfügung. Für jeden Typ kannst du unabhängig festlegen, ob du per *Browser* und/oder per *E-Mail* benachrichtigt werden möchtest.

* **Nicht zugewiesene Konversationen, die vom** <code class="expression">space.vars.TERM\_AI\_AGENT</code> **übergeben werden:** Du wirst benachrichtigt, wenn der <code class="expression">space.vars.TERM\_AI\_AGENT</code> eine Konversation über das Element [Übergabe an Agent (Chat)](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen#ubergabe-an-agent-chat) an die Inbox übergibt und diese noch keinem Teammitglied zugewiesen ist. Besonders nützlich, um neue Anfragen schnell zu erkennen und zu übernehmen.
* **Konversationen, die dir vom** <code class="expression">space.vars.TERM\_AI\_AGENT</code> **zugewiesen werden:** Du wirst benachrichtigt, wenn der <code class="expression">space.vars.TERM\_AI\_AGENT</code> eine Konversation über das Element [Mitarbeiter zuweisen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen#mitarbeiter-zuweisen) direkt an dich persönlich übergibt. So verpasst du keine Konversation, für die du verantwortlich bist.
* **Aktivitäten in Konversationen, die dir zugewiesen sind:** Du wirst benachrichtigt, wenn in einer dir bereits zugewiesenen Konversation eine neue eingehende Nachricht eintrifft. So bleibst du bei laufenden Gesprächen immer auf dem aktuellen Stand.
* **Konversationen, die deinem Team zugewiesen sind:** Du wirst benachrichtigt, wenn der <code class="expression">space.vars.TERM\_AI\_AGENT</code> eine Konversation über das Element [Team zuweisen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen#team-zuweisen) an ein Team übergibt, in dem du Mitglied bist.

***

### Benachrichtigungskanäle

* **Browser-Benachrichtigungen:** Erscheinen als Push-Benachrichtigungen auf deinem Gerät – auch wenn du gerade nicht aktiv in der Inbox arbeitest.
* **E-Mail-Benachrichtigungen:** Werden an die E-Mail-Adresse deines Benutzerkontos gesendet. Jede Benachrichtigung wird sofort als einzelne E-Mail verschickt – es gibt keine gebündelte Zustellung.

{% hint style="info" %}
Beim ersten Öffnen der Inbox fordert dich dein Browser auf, Push-Benachrichtigungen zu erlauben. Du musst diese Berechtigung erteilen, damit Browser-Benachrichtigungen funktionieren. Hast du sie abgelehnt, kannst du sie nachträglich in den Browser-Einstellungen wieder aktivieren.

Bei längerer Inaktivität des Inbox-Tabs können Browser-Benachrichtigungen aussetzen. **Empfehlung:** Füge die Plattform in den Leistungseinstellungen deines Browsers als dauerhaft aktive Seite hinzu, um eine zuverlässige Zustellung sicherzustellen.
{% endhint %}

***

### Benachrichtigungen einrichten

{% stepper %}
{% step %}
Öffne die Inbox des gewünschten <code class="expression">space.vars.TERM\_AI\_AGENT</code>s.
{% endstep %}

{% step %}
Klicke unten links auf das *Glocken-Symbol*.
{% endstep %}

{% step %}
Aktiviere die gewünschten Checkboxen für die jeweiligen Benachrichtigungstypen und Kanäle (*Browser* und/oder *E-Mail*).
{% endstep %}

{% step %}
Klicke auf *Schließen*, um die Einstellungen zu übernehmen.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Standardmäßig sind alle Benachrichtigungen deaktiviert. Du musst die gewünschten Optionen aktiv einschalten.
{% endhint %}

***

### Best Practices

* Aktiviere für alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>s, die du betreust, mindestens die Benachrichtigung *Konversationen, die dir zugewiesen werden*. So verpasst du keine persönlich an dich gerichtete Übergabe.
* Arbeitest du im Team und übernimmst regelmäßig nicht zugewiesene Konversationen, aktiviere zusätzlich die Benachrichtigung *Nicht zugewiesene Konversationen*. Das verkürzt die Reaktionszeit für deine Nutzer.
* Nutze *Browser*-Benachrichtigungen, wenn du schnell reagieren möchtest, und *E-Mail*-Benachrichtigungen als zusätzliches Backup – z. B. wenn du nicht dauerhaft im Browser eingeloggt bist.
* Denke daran, die Einstellungen für jeden <code class="expression">space.vars.TERM\_AI\_AGENT</code> separat zu konfigurieren. Legst du einen neuen <code class="expression">space.vars.TERM\_AI\_AGENT</code> an oder erhältst Zugriff auf einen weiteren, sind die Benachrichtigungen dort zunächst deaktiviert.


# Versionen & Bereitstellungsumgebungen

Versionen erfassen den exakten Entwicklungsstand deines AI Agents zu einem bestimmten Zeitpunkt. Sie bilden die Grundlage für jede Bereitstellung.

## Versionen & Bereitstellungsumgebungen

### Wo finde ich Versionen?

Den Bereich für Versionen erreichst du in der linken Navigation über *Versionen*. Dort findest du:

* **Umgebungskacheln (oben):** Drei farbige Kacheln zeigen dir auf einen Blick, welche Version mit welchem zugrundeliegenden [Modell](/epic-ai-platform/epic-ai-platform/ai-agent/daten/modelle) derzeit in welcher Umgebung bereitgestellt ist – und seit wann.
* **Versionsliste (unten):** Eine Tabelle aller Versionen mit Versionsnummer, Name, Erstellungszeitpunkt, Modell, Bereitstellungsstatus und ID.

### Was ist eine Version?

Eine Version ist ein Snapshot – eine Momentaufnahme – deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Sie speichert den gesamten Entwicklungsstand genau so, wie er im Moment der Erstellung aussieht. Spätere Änderungen im [<code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder) fließen nicht in eine bereits erstellte Version ein.

#### Voraussetzung: trainiertes Modell

Jeder Version liegt ein trainiertes Modell zugrunde. Bevor du eine Version erstellen kannst, muss mindestens ein Modell trainiert worden sein – automatisch wird das zuletzt trainierte Modell als Grundlage verwendet.

#### Warum brauche ich Versionen?

Um deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> in einer Umgebung (Test oder Produktiv) bereitzustellen, muss eine Version erstellt worden sein.

#### Wie Versionsnummern vergeben werden

Das System nutzt ein numerisches Format (z. B. 1.0, 2.2) und unterscheidet automatisch zwischen zwei Arten:

| Typ          | Kriterium                                          | Beispiel                               |
| ------------ | -------------------------------------------------- | -------------------------------------- |
| Major Update | Ein neues Modell liegt der Version zugrunde.       | Die erste Ziffer erhöht sich (`2.0`).  |
| Minor Update | Änderungen am Flow oder Inhalt ohne Modellwechsel. | Die zweite Ziffer erhöht sich (`1.1`). |

Die Versionsnummer wird beim Erstellen automatisch zugewiesen und ist im Erstellungsdialog sichtbar.

### Bereitstellungsumgebungen

Es gibt drei getrennte Umgebungen, die einen sicheren Release-Zyklus ermöglichen:

* **Entwicklung (DEV):** Trainierst du ein neues Modell, wird es automatisch hier bereitgestellt. Die Umgebung spiegelt deinen aktuellen Stand im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> wider und dient der internen Entwicklung und dem [Debugging](/epic-ai-platform/epic-ai-platform/ai-agent/debugging).
* **Test (TEST):** Stelle eine Version hier bereit, damit du und andere Benutzer den <code class="expression">space.vars.TERM\_AI\_AGENT</code> auf einem realen [Kanal](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale) testen können – z. B. über das Web-Widget oder eine intern bekannte Telefonnummer.
* **Produktiv (PROD):** Stelle eine Version hier bereit, damit alle Nutzer darauf zugreifen können. Diese Version ist über alle Kanäle erreichbar.

{% hint style="info" %}
Kanäle lassen sich in jeder Umgebung anlegen. Achte darauf, dass nur die Kanäle für Endkunden erreichbar sind, die in der Produktivumgebung operieren.
{% endhint %}

### Mit Versionen arbeiten

#### Neue Version erstellen und bereitstellen

{% stepper %}
{% step %}
Klicke oben rechts auf *Version erstellen*.
{% endstep %}

{% step %}
**Name:** Vergib einen aussagekräftigen Namen – z. B. „Black Week 2026".
{% endstep %}

{% step %}
**Beschreibung (optional):** Beschreibe die vorgenommenen Änderungen für mehr Transparenz und Nachvollziehbarkeit – z. B. „Hinzufügen des Lieferverzögerungshinweises, Erweiterung der FAQs um Informationen zur Black Week."
{% endstep %}

{% step %}
**Vorgesehenes Modell:** Es wird automatisch das aktuellste Modell als Grundlage genutzt. Eine manuelle Auswahl ist nicht möglich.
{% endstep %}

{% step %}
**Bereitstellung:** Wähle die Zielumgebung *Test* oder *Produktiv*. Mit *Keine Bereitstellung* wird die Version zunächst nur gesichert.
{% endstep %}

{% step %}
Bestätige mit *Version veröffentlichen*.
{% endstep %}
{% endstepper %}

#### Version nachträglich bereitstellen

Du kannst eine bereits erstellte Version auch nachträglich in einer Umgebung bereitstellen:

{% stepper %}
{% step %}
Wähle die gewünschte Version aus der Liste.
{% endstep %}

{% step %}
Klicke auf *Bereitstellen*.
{% endstep %}

{% step %}
Wähle die Zielumgebung: *Keine Bereitstellung* (nur sichern), *Test* (zum Testen vor dem Go-live) oder *Produktiv* (für alle Nutzer erreichbar).
{% endstep %}

{% step %}
Bestätige mit *Bereitstellen*.
{% endstep %}
{% endstepper %}

In der Übersicht erscheint kurz der Status *In Bereitstellung*. Der Zeitstempel wird gesetzt, sobald die Version erfolgreich bereitgestellt wurde.

{% hint style="info" %}
Es kann einige Minuten dauern, bis eine Version bereitgestellt und das Umgebungslabel aktualisiert ist.
{% endhint %}

#### Versionsdetails einsehen

Ein Klick auf eine Version in der Liste öffnet die Detailansicht. Sie ist in zwei Bereiche unterteilt:

* **Details:** Name, Versionsnummer, zugrundeliegende Modell-ID, aktueller Bereitstellungsstatus und Versions-ID. Eine beim Erstellen hinterlegte Beschreibung wird hier ebenfalls angezeigt.
* **Bereitstellung:** Zeitstempel für Erstellung und – falls bereitgestellt – Bereitstellung sowie die zugehörige Deployment-ID.

#### Auf eine Version zurücksetzen

Über den Button *Zurücksetzen* im Bereich *Auf Version zurücksetzen* setzt du den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> auf den Entwicklungsstand der gewählten Version zurück.

Im Bestätigungsdialog legst du per Schalter *Einstellungen ebenfalls zurücksetzen* fest, ob auch die allgemeinen Einstellungen deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s auf den Stand dieser Version zurückgesetzt werden. Ist der Schalter deaktiviert, bleiben deine aktuellen Einstellungen erhalten und nur der Flow-Stand wird zurückgesetzt.

{% hint style="danger" %}
Nicht gespeicherte Änderungen im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> gehen beim Zurücksetzen verloren. Erstelle bei Bedarf vorher eine neue Version, um den aktuellen Stand zu sichern.
{% endhint %}

### Versionen löschen

#### Einzelne Version löschen

{% stepper %}
{% step %}
Öffne die Detailansicht der gewünschten Version.
{% endstep %}

{% step %}
Klicke auf *Löschen* (roter Button unten rechts).
{% endstep %}

{% step %}
Bestätige den Löschvorgang im Bestätigungsdialog.
{% endstep %}
{% endstepper %}

#### Mehrere Versionen löschen

{% stepper %}
{% step %}
Markiere die gewünschten Versionen per Checkbox in der Versionsliste.
{% endstep %}

{% step %}
Klicke oben rechts auf den Mülleimer-Button.
{% endstep %}

{% step %}
Bestätige den Löschvorgang.
{% endstep %}
{% endstepper %}

{% hint style="danger" %}
Löschst du eine Version, die aktuell bereitgestellt ist, wird die Bereitstellung sofort abgebrochen. Dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> ist für Benutzer auf dem entsprechenden Kanal dann vorübergehend nicht mehr erreichbar. Der Löschvorgang kann **nicht** rückgängig gemacht werden.
{% endhint %}

### Beispiel: Version erstellen, testen und live stellen

Das folgende Beispiel zeigt den empfohlenen Ablauf von der Entwicklung bis zur Live-Schaltung. **Szenario:** Du hast neue FAQs zur Black Week hinzugefügt und einen Hinweis auf Lieferverzögerungen ergänzt.

{% stepper %}
{% step %}
**Modell trainieren:** Trainiere ein neues Modell, um die Änderungen an Intentionen und Entitäten zu übernehmen. Das neue Modell wird automatisch in der Entwicklungsumgebung (DEV) bereitgestellt.
{% endstep %}

{% step %}
**Im Debug testen:** Prüfe die Änderungen direkt in der Plattform über die Entwicklungsumgebung.
{% endstep %}

{% step %}
**Version erstellen:** Gehe in der Navigation zu *Versionen* und klicke auf *Version erstellen*. Vergib den Namen „Black Week 2026" und die Beschreibung „Hinzufügen des Lieferverzögerungshinweises, Erweiterung der FAQs um Informationen zur Black Week." Wähle als Bereitstellung die *Testumgebung*.
{% endstep %}

{% step %}
**Intern testen:** Teste die Version auf einem realen Kanal in der Testumgebung – z. B. über das Web-Widget oder eine intern bekannte Telefonnummer.
{% endstep %}

{% step %}
**Live stellen:** Nach erfolgreicher Abnahme öffnest du die Detailansicht der Version und stellst sie in der *Produktivumgebung* bereit.
{% endstep %}

{% step %}
**Iterieren:** Bei weiteren Änderungen beginnst du den Prozess wieder bei Schritt 1.
{% endstep %}
{% endstepper %}

### Best Practices

* **Immer zuerst testen:** Stelle neue Versionen zunächst in der Testumgebung bereit und prüfe sie auf einem realen Kanal, bevor du sie in der Produktivumgebung live schaltest.
* **Aussagekräftige Namen und Beschreibungen verwenden:** Benenne Versionen so, dass du auch nach Wochen noch weißt, welche Änderungen sie enthalten. Nutze die Beschreibung, um konkrete Änderungen zu dokumentieren.
* **Vor dem Zurücksetzen absichern:** Erstelle eine neue Version, bevor du den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> auf einen älteren Stand zurücksetzt. So geht kein aktueller Entwicklungsstand verloren.
* **Bereitgestellte Versionen nicht leichtfertig löschen:** Prüfe vor dem Löschen, ob eine Version aktuell bereitgestellt ist. Das Löschen einer bereitgestellten Version macht deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> für Endnutzer unerreichbar.
* **Kanäle bewusst zuordnen:** Achte darauf, dass nur Kanäle, die in der Produktivumgebung operieren, für Endkunden erreichbar sind (siehe [Kanäle](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale)).


# Debugging

Das Debugging-Tool ist eine integrierte Testumgebung, mit der du Gespräche und einzelne Interaktionen deines AI Agents simulieren kannst – ohne dass echte Nutzer betroffen sind.

### Wo finde ich das Debugging-Tool?

Das Tool lässt sich auf zwei Arten öffnen:

1. **Global:** Über den Button „Debugging öffnen" in der Navigationsleiste.
2. <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>**:** Direkt aus einem Schritt heraus über das Käfer-Symbol oben rechts. In diesem Fall startet die Konversation exakt an dieser Stelle im Flow.

{% hint style="info" %}
Beim Öffnen aus einem Schritt heraus musst du den vorherigen Flow-Verlauf nicht erneut durchlaufen. Die Simulation setzt direkt am gewählten Schritt an.
{% endhint %}

***

### Erklärung – Was genau ist das Debugging-Tool?

Das Debugging-Tool ist eine isolierte Umgebung, in der du ganze Gespräche oder einzelne Interaktionen deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s simulieren kannst. Es dient dazu, Flows, Bedingungen und Variablen in Echtzeit zu testen, bevor sie produktiv eingesetzt werden.

#### Wichtige Eigenschaften

* **Sichtbarkeit:** Das Tool öffnet sich als Overlay auf der rechten Seite des Bildschirms.
* **Umgebung:** Die Konversation findet ausschließlich in der Entwicklungsumgebung statt. Sie wird nicht dauerhaft gespeichert und erscheint nicht in der Inbox.
* **Live-Testing:** Änderungen an Flows sind sofort und ohne Versionierung testbar.

{% hint style="info" %}
Änderungen an Intentionen oder Entitäten erfordern weiterhin die Erstellung eines neuen [Modells](/epic-ai-platform/epic-ai-platform/ai-agent/daten/modelle) bevor sie im Debugging-Tool wirksam werden.
{% endhint %}

#### Debug-Kanal

Bei der ersten Nutzung des <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>s wird automatisch ein interner Debug-Kanal im Hintergrund erstellt. Dieser Kanal ist in den Kanaleinstellungen sichtbar und dient ausschließlich der Kommunikation im Debugging-Tool.

***

### Verwendung – Was kann man mit dem Debugging-Tool machen?

#### Debug-Chat nutzen

Der Debug-Chat simuliert einen Endnutzer-Kanal. Du kannst darin Nachrichten eingeben, als wärst du ein Nutzer deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s.

* Die Konversation startet standardmäßig mit dem globalen Einstiegspunkt, sofern sie nicht aus einem spezifischen Schritt heraus gestartet wurde.
* Die Unterhaltung bleibt erhalten, bis sie manuell zurückgesetzt wird. Du kannst das Overlay schließen und die Konversation später an derselben Stelle fortführen.
* Um die Konversation zurückzusetzen, wähle das Uhrensymbol „Nachrichten zurücksetzen".

{% hint style="warning" %}
Nach dem Zurücksetzen kann die Konversation nicht wiederhergestellt werden.
{% endhint %}

#### Variablen-Monitor verwenden

Ein entscheidender Vorteil des Debug-Chats ist die Einsicht in das „Gedächtnis" deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Der Variablen-Monitor zeigt dir alle definierten Variablen und ihre aktuellen Echtzeit-Werte an.

**Variablen-Monitor öffnen:**

1. Öffne den Debug-Chat.
2. Klicke auf das Icon „Variablen" in der linken Seitenleiste des Chats.
3. Die Variablen-Übersicht der aktuellen Konversation wird angezeigt.

**Variablen zurücksetzen:**

Wähle das Uhrensymbol „Variablen zurücksetzen", um alle Variablen zu löschen bzw. auf ihre Standardwerte zurückzusetzen.

**Werte manuell überschreiben:**

Du kannst Variablenwerte direkt im Variablen-Monitor überschreiben, um verschiedene Szenarien zu testen. Das ist besonders nützlich, um Bedingungen mit unterschiedlichen Werten zu prüfen, ohne den gesamten Flow erneut durchlaufen zu müssen.

***

### Beispiele

#### Flow-Logik mit manipulierten Variablen testen

Angenommen, dein Flow enthält eine Bedingung, die prüft, ob die Variable `Anzahl Artikel (Benutzerdefiniert - Konversation)` größer als 3 ist. Statt den gesamten Flow durchzuspielen, kannst du den Wert direkt im Variablen-Monitor ändern:

1. Öffne den Debug-Chat.
2. Öffne den Variablen-Monitor über das Icon „Variablen" in der linken Seitenleiste.
3. Suche die Variable `Anzahl Artikel (Benutzerdefiniert - Konversation)`.
4. Überschreibe den Wert manuell – z. B. mit `5`.
5. Setze die Konversation fort und beobachte, ob die Bedingung korrekt den erwarteten Pfad wählt.
6. Wiederhole den Test mit einem anderen Wert – z. B. `2` –, um auch den alternativen Pfad zu prüfen.

#### Entitäts-Erkennung überprüfen

Du möchtest testen, ob die Entität `IBAN` korrekt erkannt und in einer benutzerdefinierten Variable gespeichert wird:

1. Öffne den Debug-Chat über das Käfer-Symbol im entsprechenden Schritt, in dem die IBAN-Eingabe erwartet wird.
2. Gib eine Nachricht mit einer Test-IBAN ein, z. B. `DE89370400440532013000`.
3. Öffne den Variablen-Monitor und prüfe, ob die Entität `IBAN (Entität)` den Wert korrekt enthält.
4. Prüfe anschließend, ob der Wert wie erwartet in die benutzerdefinierte Variable `IBAN (Benutzerdefiniert - Kontakt)` übernommen wurde (siehe Artikel „Variablen", Abschnitt „Werte von Entitäten in Variablen speichern").

{% hint style="info" %}
Entitätswerte werden nach jeder neuen Benutzereingabe zurückgesetzt. Stelle sicher, dass der Wert rechtzeitig in einer benutzerdefinierten Variable gespeichert wird.
{% endhint %}

***

### Best Practices

* **Gezielter Einstieg nutzen:** Starte den Debug-Chat direkt aus einem Schritt heraus über das Käfer-Symbol. So kannst du komplexe Logiken am Ende eines langen Flows testen, ohne den gesamten Flow durchlaufen zu müssen.
* **Bedingungen systematisch testen:** Nutze die Möglichkeit, Variablenwerte im Variablen-Monitor manuell zu ändern. Prüfe damit, ob Wenn-Dann-Bedingungen korrekt reagieren – z. B. wenn eine Variable leer ist, einen bestimmten Wert enthält oder einen Grenzwert über- bzw. unterschreitet.
* **Entitäten-Erkennung prüfen:** Kontrolliere im Variablen-Monitor, ob Regex- oder Listen-Entitäten wie erwartet extrahiert werden. Beachte dabei, dass Entitätswerte sich nach jeder neuen Eingabe zurücksetzen, sofern sie nicht in benutzerdefinierten Variablen gespeichert werden (siehe Artikel „Variablen").
* **Debug-Chat und Web-Widget gezielt einsetzen:** Verwende den Debug-Chat für schnelle Logik-Tests in der Entwicklungsumgebung. Nutze das [Web-Widget](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale/web-kanal) für Tests, die in der Inbox erhalten bleiben sollen.


# Build

Im Bereich *Build* baust du das Verhalten deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s auf. Hier gestaltest du Gesprächsabläufe im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, definierst Intentionen und Entitäten, legst Trigger und Variablen fest und pflegst Wissen, FAQs und Medien. Du erreichst den Bereich über die linke Navigation im Abschnitt *Build*.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Flow Builder</strong></td><td>Die visuelle Arbeitsumgebung, in der du Gesprächsabläufe auf einem Canvas aus einzelnen Schritten zusammensetzt.</td><td><a href="/pages/F9EBj0t9QQT8aAEaDxPX">/pages/F9EBj0t9QQT8aAEaDxPX</a></td></tr><tr><td><strong>Intentionen</strong></td><td>Nutzerabsichten definieren und mit Flows verknüpfen, damit der <code class="expression">space.vars.TERM_AI_AGENT</code> passend reagiert.</td><td><a href="/pages/MSUgwqJkzTIYlsIoxCNk">/pages/MSUgwqJkzTIYlsIoxCNk</a></td></tr><tr><td><strong>Entitäten</strong></td><td>Strukturierte Informationen wie IBAN, Datum oder Telefonnummer aus Eingaben erkennen und normalisieren.</td><td><a href="/pages/AckOiY6uA5xTs60yaBX5">/pages/AckOiY6uA5xTs60yaBX5</a></td></tr><tr><td><strong>Trigger</strong></td><td>Flows automatisch anhand von Ereignissen wie Tags oder benutzerdefinierten Events starten.</td><td><a href="/pages/AN1Arblfx8noA7yEJFeW">/pages/AN1Arblfx8noA7yEJFeW</a></td></tr><tr><td><strong>Variablen</strong></td><td>Werte während einer Konversation speichern, wiederverwenden und im Flow weiterverarbeiten.</td><td><a href="/pages/y7IHFlg9z3AS3uSOFoZu">/pages/y7IHFlg9z3AS3uSOFoZu</a></td></tr><tr><td><strong>FAQs</strong></td><td>Häufige Fragen mit festen Antworten hinterlegen, die der <code class="expression">space.vars.TERM_AI_AGENT</code> direkt ausspielt.</td><td><a href="/pages/hPhTC3p50ReF8KeGQO72">/pages/hPhTC3p50ReF8KeGQO72</a></td></tr><tr><td><strong>Mediathek</strong></td><td>Bilder, Videos, Audiodateien und Dokumente zentral verwalten und in Flows verwenden.</td><td><a href="/pages/oL7CPPY4vjiCmB9Or4I6">/pages/oL7CPPY4vjiCmB9Or4I6</a></td></tr><tr><td><strong>Wissen</strong></td><td>Wissensquellen pflegen, auf deren Basis der <code class="expression">space.vars.TERM_AI_AGENT</code> KI-gestützte Antworten gibt.</td><td><a href="/pages/y0NNZ6fTeC6MHAXGROh2">/pages/y0NNZ6fTeC6MHAXGROh2</a></td></tr></tbody></table>


# Flow-Builder

Der Flow-Builder ist die zentrale Arbeitsumgebung, in der du das Verhalten deines AI Agents gestaltest. Auf einem Canvas ordnest du Schritte an, verbindest sie miteinander und definierst den Prozess.

### Wo finde ich den Flow Builder?

Du erreichst den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> über die linke Navigation im Bereich *Build*. Dort wird zunächst die [Flow-Übersicht](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flows) angezeigt – eine Tabellenansicht aller vorhandenen Flows. Mit einem Klick auf einen Flow gelangst du in den jeweiligen Canvas, also die visuelle Arbeitsfläche des <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>s.

***

### Erklärung – Was genau ist der Flow Builder?

Der <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> ist ein visueller Editor, in dem du den Gesprächsablauf deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s per Drag & Drop zusammenbaust. Die Arbeitsfläche wird als Canvas bezeichnet. Auf diesem Canvas platzierst du sogenannte Schritte – also die einzelnen Bausteine eines Flows – und verbindest sie über Verbindungslinien miteinander.

Jeder Flow hat einen eigenen Canvas. Innerhalb dieses Canvas bestimmst du, was der <code class="expression">space.vars.TERM\_AI\_AGENT</code> tun soll: Nachrichten senden, auf Nutzereingaben warten, Bedingungen prüfen, Variablen setzen, externe Dienste aufrufen und vieles mehr.

Die Benutzeroberfläche des <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>s besteht aus drei Bereichen:

* **Navigation (links):** Die Hauptnavigation der Plattform bleibt dauerhaft sichtbar und ermöglicht dir jederzeit den Wechsel zu anderen Bereichen.
* **Canvas (Mitte):** Die zentrale Arbeitsfläche, auf der du Schritte platzierst, verbindest und bearbeitest.
* **Seitenleiste (rechts):** Über die Seitenleiste *Schritt hinzufügen* erreichst du alle verfügbaren Schritttypen, gruppiert nach Kategorien. Sie lässt sich bei Bedarf ein- und ausklappen.

***

### Navigation und Bedienung im Canvas

#### Canvas bewegen und zoomen

Du kannst den Canvas frei bewegen und zoomen, um auch bei komplexen Flows den Überblick zu behalten:

* **Verschieben:** Halte die Maustaste auf einer freien Fläche gedrückt und ziehe den Canvas in die gewünschte Richtung.
* **Zoomen:** Nutze das Mausrad oder die Schaltflächen *Vergrößern* und *Verkleinern* (Icons + und –) in der Toolbar am unteren Rand des Canvas; daneben zeigt eine prozentuale Anzeige den aktuellen Zoomfaktor.
* **Ausschnitt anpassen:** Über *Alles anzeigen* passt du den Bildausschnitt automatisch so an, dass alle eingefügten Schritte sichtbar sind.
* **Automatisch anordnen:** Über *Anordnen* ordnet der <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> die Schritte auf dem Canvas automatisch an.

#### Sprache wechseln

In der Toolbar findest du außerdem ein Sprach-Dropdown. Darüber wählst du die [Sprache](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/sprache) aus, für die du aktuell Inhalte konfigurierst – z. B. „Deutsch". Die Sprachauswahl betrifft sprachabhängige Inhalte wie Textnachrichten in Blöcken.

#### Tastenkürzel

Der <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> unterstützt einige gängige Tastenkürzel, die deine Arbeit beschleunigen. Um Schritte zu kopieren oder zu löschen, müssen diese zuerst ausgewählt werden (siehe Mehrfachauswahl).

* `cmd + C` , `cmd + V` / `Strg + C` , `Strg + V` – Schritt(e) kopieren und einfügen
* `cmd + C` / `Strg + C`  – Schritt speichern
* `Backspace` – Ausgewählte Schritte löschen
* `Shift + Maus ziehen` – Mehrere Schritte per Auswahlrahmen auswählen (Mehrfachauswahl)
* `cmd + F` / `Strg + F` – Browser-Suche öffnen (um Text auf dem Canvas zu finden)

***

### Schritte – Die Bausteine deines Flows

Schritte sind die einzelnen Bausteine, aus denen ein Flow aufgebaut ist. Jeder Schritt erfüllt eine bestimmte Aufgabe – z. B. eine Nachricht senden, eine Bedingung prüfen oder einen externen Dienst aufrufen.

#### Verfügbare Schritttypen

Die Schritttypen sind in der Seitenleiste *Schritt hinzufügen* nach Kategorien gruppiert. Die wichtigsten Kategorien im Überblick:

* **Häufig verwendet:** [Block](https://app.gitbook.com/o/wXYrN1q5ohURJgNXVgUX/s/lPKAb01EobrvyBElGbvZ/~/changes/57/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block), [Intention](https://app.gitbook.com/o/wXYrN1q5ohURJgNXVgUX/s/lPKAb01EobrvyBElGbvZ/~/changes/57/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/intentionen), [Kontext](https://app.gitbook.com/o/wXYrN1q5ohURJgNXVgUX/s/lPKAb01EobrvyBElGbvZ/~/changes/57/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/kontext), [Flow](https://app.gitbook.com/o/wXYrN1q5ohURJgNXVgUX/s/lPKAb01EobrvyBElGbvZ/~/changes/57/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flow-subflow) – die am häufigsten genutzten Schritte für den schnellen Zugriff.
* **Flow-Kontrolle:** [Bedingung](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/bedingung), [Verzögerung](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/verzogerung), [A/B-Split](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/a-b-split), [Ende](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/ende) – Schritte, die den Ablauf steuern und verzweigen.
* **Generative KI:** [Entitätserkennung](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-entitatserkennung), [Prompt ausführen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-prompt-ausfuhren), [Gespräch führen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-gesprach-fuhren) – <code class="expression">space.vars.TERM\_AI</code>-gestützte Schritte für dynamische Dialoge.
* **Erweiterte Funktionen:** [Flow (Subflow)](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flow-subflow), [Anruf weiterleiten](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/anruf-weiterleiten) – Schritte für die Strukturierung in Subflows und für die Weiterleitung von Anrufen.
* **Interne Funktionen:** [Kontakt bearbeiten](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/kontakt-bearbeiten) – Schritt, um die Kontaktkarte eines Kunden zu pflegen.
* **Trigger:** [Tag hinzugefügt](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/tag-hinzugefugt), [Tag entfernt](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/tag-entfernt), [Variable geändert](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/variable-geandert), [Benutzerdefiniertes Event](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/benutzerdefiniertes-event) – Schritte, die Flows automatisch auslösen.
* **App-Module:** Installierte [Apps](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/app-module) mit ihren Modulen, die als eigenständige Schritte eingebunden werden können.

#### Schritte hinzufügen

1. Klicke in der Seitenleiste *Schritt hinzufügen* auf den gewünschten Schritttyp und ziehe ihn auf den Canvas.
2. Klicke auf den neuen Schritt, um ihn zu konfigurieren – das jeweilige Bearbeitungspanel öffnet sich.

#### Schritte bearbeiten

Klicke auf einen Schritt im Canvas, um sein Bearbeitungspanel zu öffnen. Je nach Schritttyp stehen unterschiedliche Konfigurationsmöglichkeiten zur Verfügung – z. B. Name, Beschreibung, Elemente, Bedingungen oder Prompt-Eingaben.

#### Schritte verschieben

Schritte lassen sich per Drag & Drop frei auf dem Canvas positionieren. Ziehe einen Schritt einfach an die gewünschte Stelle. Bestehende Verbindungen bleiben dabei erhalten.

Um mehrere Schritte gleichzeitig zu verschieben, nutze die Mehrfachauswahl: Halte `Shift` gedrückt und ziehe ein Auswahlfenster über die gewünschten Schritte. Anschließend kannst du die gesamte Auswahl gemeinsam verschieben.

#### Schritte kopieren: Innerhalb eines AI Agents

Du kannst einen oder mehrere Schritte kopieren und an anderer Stelle im Canvas einfügen:

* **Per Tastenkürzel:** Halte `Shift` gedrückt und ziehe mit der Maus einen Auswahlrahmen um die gewünschten Schritte, um sie auszuwählen. Drücke anschließend `Strg + C` zum Kopieren und `Strg + V` zum Einfügen.
* **Per Rechtsklick:** Wähle einen oder mehrere Schritte aus, klicke mit der rechten Maustaste und wähle *Kopieren* aus dem Kontextmenü.

Beim Kopieren werden die Schritte inklusive ihrer Konfiguration dupliziert. Sofern verbundene Schritte mitkopiert werden, werden auch die Verbindungen dupliziert.

{% hint style="info" %}
Trigger und Intentionen sowie Einstieg und Fallback können nicht kopiert werden, da sie im <code class="expression">space.vars.TERM\_AI\_AGENT</code> einzigartig sind.
{% endhint %}

#### Schritte kopieren: In einen anderen AI Agents

Du kannst Blöcke nicht nur innerhalb eines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s kopieren, sondern auch von einem <code class="expression">space.vars.TERM\_AI\_AGENT</code> in einen anderen einfügen – unabhängig davon, ob sich beide im selben Workspace befinden.

Beim Kopieren zwischen <code class="expression">space.vars.TERM\_AI\_AGENT</code>s gelten jedoch einige Einschränkungen.

**Was wird nicht mitkopiert:**

* **Variablen, Entitäten und Tags:** Diese werden nicht automatisch übertragen. Sie können im Ziel-<code class="expression">space.vars.TERM\_AI\_AGENT</code> als Platzhalter oder gelöschte Elemente angezeigt werden. Stelle sicher, dass die benötigten Ressourcen im Ziel-<code class="expression">space.vars.TERM\_AI\_AGENT</code> vorhanden sind, oder lege sie dort nachträglich an.
* **Intentionen und Trigger:** Diese können grundsätzlich nicht kopiert werden.
* **App-Module:** Auch App-Module werden nicht mit übertragen.

{% hint style="danger" %}
**Sprache beachten:** Die Ausgangssprache des kopierten Blocks sollte im Ziel-<code class="expression">space.vars.TERM\_AI\_AGENT</code> **vor dem Einfügen** aktiviert werden. Andernfalls können die Textinhalte nicht übernommen werden.
{% endhint %}

#### Schritte löschen

Es gibt mehrere Wege, einen Schritt zu löschen:

* **Über das Bearbeitungspanel:** Öffne den Schritt und klicke auf das Papierkorb-Symbol.
* **Per Tastatur:** Halte `Shift` gedrückt und ziehe mit der Maus einen Auswahlrahmen um die gewünschten Schritte, um sie auszuwählen. Drücke dann `Backspace`.
* **Per Rechtsklick:** Wähle einen oder mehrere Schritte aus, klicke mit der rechten Maustaste und wähle *Löschen* aus dem Kontextmenü.

{% hint style="warning" %}
Das Löschen eines Schritts entfernt auch alle Verbindungen, die von oder zu diesem Schritt führen. Überprüfe nach dem Löschen den Flow auf fehlende Verbindungen oder Logiklücken.
{% endhint %}

***

### Schritte verbinden

Verbindungen zwischen Schritten legen fest, in welcher Reihenfolge der <code class="expression">space.vars.TERM\_AI\_AGENT</code> die Schritte durchläuft. Verbindungen werden als Linien zwischen den Schritten dargestellt und zeigen die Richtung des Gesprächsflusses an.

{% hint style="info" %}
Unverbundene Schritte und Ausgänge führen automatisch in den Fallback.
{% endhint %}

#### Verbindung erstellen

1. Bewege die Maus über den Ausgangspunkt (den kleinen Kreis) am rechten Rand eines Schritts.
2. Klicke und ziehe eine Linie zum Eingangspunkt des gewünschten Zielschritts.
3. Lasse die Maustaste los, um die Verbindung herzustellen.

Verfügt ein Schritt über mehrere Ausgänge – z. B. bei einer Bedingung (Wahr/Falsch), einem Kontext-Schritt oder [Anruf weiterleiten](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/anruf-weiterleiten) –, wird beim Ziehen einer Verbindung ein Auswahlmenü mit den verfügbaren Ausgängen angezeigt. Wähle den gewünschten Ausgang aus, um die Verbindung zuzuordnen.

Die Verbindungslinien werden automatisch mit dem Namen des jeweiligen Ausgangs beschriftet, sodass du auf einen Blick erkennst, welcher Pfad wohin führt.

#### Verbindung entfernen

Um eine bestehende Verbindung zu entfernen, klicke direkt auf die Verbindungslinie und wähle *Verbindung Löschen* aus. Die Verbindung wird dadurch gelöscht.

#### Verbindung neu zuweisen

Du kannst einen Ausgang auch direkt neu verbinden, ohne die alte Verbindung vorher zu löschen. Ziehe dazu eine neue Linie vom Ausgangspunkt des Schritts zum gewünschten neuen Zielschritt. Die bisherige Verbindung wird automatisch durch die neue ersetzt.

***

### IDs im Flow Builder

Innerhalb deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s sind alle Elemente über eindeutige IDs identifizierbar. Das betrifft Flows, Schritte, Tags, Variablen und weitere Objekte.

Für Flows und Schritte gilt dabei folgendes System:

* **Flow-IDs** sind pro <code class="expression">space.vars.TERM\_AI\_AGENT</code> einmalig. Jeder Flow hat eine eindeutige ID, die in der Flow-Tabellenansicht angezeigt wird.
* **Schritt-IDs** sind pro Flow einmalig. Ein Schritt hat innerhalb seines Flows eine eindeutige ID. Dieselbe ID kann aber in einem anderen Flow erneut vorkommen.

Durch die Kombination aus Flow-ID und Schritt-ID bleibt jeder Schritt im gesamten <code class="expression">space.vars.TERM\_AI\_AGENT</code> eindeutig identifizierbar.

{% hint style="info" %}
IDs sind vor allem dann relevant, wenn du mit der API arbeitest, die [Rohdaten](/epic-ai-platform/epic-ai-platform/ai-agent/statistiken/export-and-datenmodell) auswertest oder bei [Support-Anfragen](/support) einen bestimmten Schritt oder Flow referenzieren möchtest.
{% endhint %}

***

### Best Practices

* **Schritte logisch anordnen:** Platziere Schritte auf dem Canvas so, dass der Gesprächsfluss von links nach rechts oder von oben nach unten verläuft. Das erleichtert die Orientierung – besonders bei größeren Flows.
* **Aussagekräftige Namen vergeben:** Benenne jeden Schritt so, dass sein Zweck auf einen Blick erkennbar ist – z. B. „IBAN abfragen" statt „Block 1". Das spart Zeit bei der späteren Wartung.
* **Subflows für Struktur nutzen:** Lagere wiederkehrende oder thematisch abgegrenzte Abläufe in Subflows aus. Das hält den Hauptflow übersichtlich und macht einzelne Teile wiederverwendbar.
* **Verbindungen regelmäßig prüfen:** Stelle sicher, dass alle Ausgänge mit einem Folgeschritt verbunden sind. Unverbundene Ausgänge können dazu führen, dass der [Fallback](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flows#der-standard-flow-einstieg-and-fallback) ausgelöst wird oder der Flow unerwartet endet.
* **Beschreibungsfelder nutzen:** Viele Schritte bieten ein optionales Beschreibungsfeld. Nutze es, um den Zweck eines Schritts zu dokumentieren – besonders bei komplexen Flows oder wenn mehrere Personen am <code class="expression">space.vars.TERM\_AI\_AGENT</code> arbeiten.
* **Mehrfachauswahl für Effizienz:** Nutze `Shift + Maus ziehen` und die Kopier-Funktion, um ähnliche Schritte schnell zu duplizieren und anzupassen, anstatt sie einzeln neu zu erstellen.


# Flows

Flows sind die zentrale Struktur, in der du das Verhalten deines AI Agents aufbaust. Jeder Flow enthält einen eigenen Canvas, auf dem du Schritte anordnest, um Konversationsabläufe zu gestalten.

### Wo finde ich die Flows?

Du findest die Flow-Übersicht im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> – erreichbar über die linke Navigation im Bereich *Build*. Dort werden alle vorhandenen Flows in einer Tabellenansicht angezeigt.

Die Tabelle zeigt für jeden Flow den Namen, das Erstelldatum, das Datum der letzten Änderung sowie eine eindeutige ID. Eingerückte Einträge in der Tabelle sind sogenannte [Subflows](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flow-subflow).

Wenn noch kein Flow eingerichtet wurde, siehst du einen leeren Zustand mit der Schaltfläche *Flow einrichten*, über die du deinen ersten Flow – den Standard-Flow – anlegen kannst.

***

### Erklärung – Was genau sind Flows?

Flows bilden die Grundstruktur deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Sie bestehen aus je einem Canvas, auf dem du Schritte wie Nachrichten, Bedingungen, Aktionen und weitere Elemente anordnest. Mit einem Klick auf einen Flow in der Tabellenansicht gelangst du in den jeweiligen Canvas.

Flows lassen sich auf zwei Ebenen organisieren:

* **Flows auf oberster Ebene** erscheinen direkt in der Tabellenansicht. Sie sind gleichwertig zueinander und können unabhängig voneinander genutzt werden. Da sie – ausgenommen vom Standard-Flow – keine nativen Einstiegspunkte haben, solltest du ihnen einen [Trigger](/epic-ai-platform/epic-ai-platform/ai-agent/build/trigger) oder eine [Intention](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/intentionen) als Einstiegspunkt geben.
* **Subflows** sind Flows, die innerhalb eines anderen Flows über einen [Flow-Schritt](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flow-subflow) im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> eingefügt werden. In der Tabellenansicht werden sie eingerückt unter ihrem übergeordneten Flow dargestellt.

#### Der Standard-Flow: Einstieg & Fallback

Der erste Flow, den du einrichtest, ist der sogenannte **Standard-Flow**. Er hat eine besondere Rolle und unterscheidet sich von allen anderen Flows:

* Der Standard-Flow kann **nicht umbenannt** und **nicht gelöscht** werden.
* Er enthält zwei einmalige, automatisch angelegte Schritte:
  * **Einstieg:** Hier beginnen standardmäßig alle Konversationen mit dem <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Der Einstieg existiert nur einmal pro <code class="expression">space.vars.TERM\_AI\_AGENT</code>.
  * **Fallback:** Wenn im Flow etwas schiefgeht, ein Ausgang unverbunden ist oder eine Intention nicht getroffen wird, wird die Konversation ab dem Fallback weitergeführt. Der Fallback gilt **global für alle Flows** – er ist pro <code class="expression">space.vars.TERM\_AI\_AGENT</code> einmalig.

{% hint style="info" %}
Sowohl der Einstieg als auch der Fallback sind feste Bestandteile des Standard-Flows und können nicht entfernt oder in andere Flows verschoben werden.
{% endhint %}

#### Was sind Subflows?

Ein Subflow ist ein Flow, der innerhalb eines anderen Flows eingebettet wird. Du erstellst einen Subflow, indem du im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> einen Schritt vom Typ *Flow* einfügst und ihm einen Namen gibst.

Subflows eignen sich besonders gut, um wiederkehrende oder thematisch abgegrenzte Konversationsteile auszulagern – zum Beispiel eine Produktberatung, einen Reklamationsprozess oder eine Lieferstatusabfrage.

In der Tabellenansicht erkennst du Subflows an ihrer Einrückung unter dem übergeordneten Flow. Beispiel:

* 1\. Produktberatung
* 2\. Bestellthemen
  * 2.1 Lieferung
  * 2.2 Reklamation
    * 2.2.3 Widerruf/Retoure

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### Flow erstellen

{% stepper %}
{% step %}
Navigiere zur Flow-Übersicht im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> (linke Navigation, Bereich *Build*).
{% endstep %}

{% step %}
Klicke oben rechts auf die Schaltfläche *Flow erstellen*.
{% endstep %}

{% step %}
Es öffnet sich ein Dialog, in dem du einen Namen für den Flow eingibst.
{% endstep %}

{% step %}
Klicke auf *Flow erstellen*, um den neuen Flow anzulegen.
{% endstep %}
{% endstepper %}

Der Flow erscheint nun in der Tabellenansicht und kann über einen Klick auf seinen Namen geöffnet werden.

{% hint style="info" %}
Wenn du den allerersten Flow einrichtest, wird dieser automatisch zum Standard-Flow. Er enthält dann die Schritte *Einstieg* und *Fallback*.
{% endhint %}

#### Subflow erstellen

Subflows werden nicht über die Tabellenansicht erstellt, sondern direkt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> eines bestehenden Flows. Füge dazu einen Schritt vom Typ [Flow](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flow-subflow) ein und vergib einen Namen. Der Subflow erscheint anschließend eingerückt in der Tabellenansicht.

#### Flow löschen

Flows auf oberster Ebene (außer dem Standard-Flow) kannst du über die Tabellenansicht löschen:

{% stepper %}
{% step %}
Fahre mit der Maus über den gewünschten Flow in der Tabelle.
{% endstep %}

{% step %}
Klicke auf das Papierkorb-Symbol am rechten Rand der Zeile.
{% endstep %}

{% step %}
Es erscheint ein Bestätigungsdialog mit dem Hinweis, dass alle Schritte im Flow sowie alle untergeordneten Flows (Subflows) gelöscht werden.
{% endstep %}

{% step %}
Klicke auf *Flow löschen*, um den Vorgang zu bestätigen – oder auf *Abbrechen*, um den Löschvorgang abzubrechen.
{% endstep %}
{% endstepper %}

Subflows können auf zwei Wegen gelöscht werden:

* Über die Tabellenansicht (wie oben beschrieben).
* Durch das Löschen des zugehörigen *Flow*-Schritts im übergeordneten <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.

{% hint style="warning" %}
Beim Löschen eines Flows werden **alle Schritte darin sowie alle untergeordneten Subflows** unwiderruflich entfernt. Stelle sicher, dass der Flow und seine Subflows nicht mehr benötigt werden, bevor du ihn löschst.
{% endhint %}

#### Flows umbenennen

Flows auf oberster Ebene lassen sich nur über die *Flow-Übersicht* umbenennen: Fahre mit der Maus über die entsprechende Zeile und klicke auf das Stift-Symbol. Subflows kannst du zusätzlich direkt im Flow umbenennen, über den zugehörigen *Flow*-Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.

***

### Beispiele

#### Beispiel: Flow-Struktur für einen Kundenservice-<code class="expression">space.vars.TERM\_AI\_AGENT</code>

Ein typischer Kundenservice-<code class="expression">space.vars.TERM\_AI\_AGENT</code> könnte folgende Flow-Struktur nutzen:

* **Standard** (Standard-Flow mit Einstieg und Fallback)
* **1. Produktberatung** (Subflow für Beratungsgespräche; Trigger oder Intention als Einstieg)
* **2. Bestellthemen** (Subflow als Überkategorie; Trigger oder Intention als Einstieg)
  * **2.1 Lieferung** (Subflow für Lieferstatus-Anfragen)
  * **2.2 Reklamation** (Subflow für Reklamationsabwicklung)
  * **2.3 Widerruf/Retoure** (Subflow für Widerrufs- und Retourenprozesse)

Der Standard-Flow dient als Einstiegspunkt. Von dort wird der Nutzer je nach Anliegen in den passenden Subflow weitergeleitet. Falls keine Intention erkannt wird, greift der Fallback im Standard-Flow und fängt die Konversation auf.

***

### Best Practices

* **Nutze eine klare Namenskonvention für Flows und Subflows:** Nummeriere zusammengehörige Flows (z. B. „2.1 Lieferung", „2.2 Reklamation"), damit die Tabellenansicht übersichtlich bleibt und die Hierarchie sofort erkennbar ist.
* **Halte Flows thematisch fokussiert:** Lagere eigenständige Themen wie „Reklamation" oder „Produktberatung" in eigene Subflows aus, anstatt alles in einem einzigen Flow zu bauen. Das verbessert die Übersichtlichkeit und erleichtert spätere Anpassungen.
* **Prüfe den Fallback regelmäßig:** Da der Fallback global für alle Flows greift, sollte er eine sinnvolle Auffangnachricht enthalten – z. B. eine freundliche Rückfrage oder die Weiterleitung an einen Mitarbeiter.
* **Lösche Flows mit Bedacht:** Da beim Löschen auch alle Subflows entfernt werden, solltest du vorher sicherstellen, dass keine wichtigen Konversationsabläufe betroffen sind.


# Block

Ein Block ist der zentrale Baustein im Flow-Builder. Er definiert, was der AI Agent an einer bestimmten Stelle im Gesprächsfluss tut – bspw. Nachrichten senden, Variablen speichern oder Tags setzen.

### Wo finde ich Blöcke?

Blöcke werden direkt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> erstellt und verwaltet. Einen neuen Block fügst du über die rechte Seitenleiste hinzu: *Schritt hinzufügen → Häufig verwendet → Block*.

### Was ist ein Block?

Ein Block ist ein Schritt im Gesprächsfluss, der eine oder mehrere Aktionen ausführt. Er wird im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> als eigenständiger Knoten dargestellt und kann mit anderen Schritten verbunden werden.

Innerhalb eines Blocks kombinierst du beliebig viele Elemente – z. B. zuerst eine Textnachricht senden, dann eine Variable speichern und anschließend ein Tag setzen.

### Aufbau eines Blocks

Wenn du einen Block bearbeitest, öffnet sich das Bearbeitungspanel. Oben legst du die Rahmendaten des Blocks fest:

<table><thead><tr><th width="180">Bereich</th><th>Funktion</th></tr></thead><tbody><tr><td>Name</td><td>Aussagekräftiger Name des Blocks, im <code class="expression">space.vars.TERM_FLOW_BUILDER</code> sichtbar – z. B. „Begrüßung senden". Hilft, den Überblick im Gesprächsfluss zu behalten.</td></tr><tr><td>Beschreibung</td><td>Optionale interne Notiz über das Stift-Symbol, um den Zweck des Blocks zu dokumentieren.</td></tr><tr><td>Sprache</td><td>Aktive Sprache, für die du gerade Elemente konfigurierst. Bei mehrsprachigen <code class="expression">space.vars.TERM_AI_AGENT</code>s hinterlegst du pro Sprache eigene Inhalte.</td></tr></tbody></table>

{% hint style="info" %}
Ist für eine Sprache kein Inhalt hinterlegt, greift das System automatisch auf die Standardsprache zurück – sofern *Automatisches Übersetzen* in den Spracheinstellungen aktiviert ist. Mehr dazu im Artikel [Sprachen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/sprache).
{% endhint %}

### Elemente

Über den Button *Element hinzufügen* fügst du dem Block Inhalte und Aktionen hinzu. Elemente werden der Reihe nach ausgeführt – die Reihenfolge änderst du jederzeit über das Verschieben-Symbol (sechs Punkte).

Die verfügbaren Elemente sind in vier Kategorien eingeteilt. Details zu jedem Element findest du im jeweiligen Artikel:

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Basis</strong></td><td>Nachrichten ausgeben und Nutzerinteraktionen steuern – z. B. Textnachricht, Buttons oder WhatsApp Template.</td><td><a href="/pages/VFMI5bSPKKUwFPUdlYuR">/pages/VFMI5bSPKKUwFPUdlYuR</a></td></tr><tr><td><strong>Aktionen</strong></td><td>Im Hintergrund wirkende Aktionen – Tags setzen, Variablen speichern, zuweisen oder an einen Agenten übergeben.</td><td><a href="/pages/z6OrpB7zHvLn21976p6X">/pages/z6OrpB7zHvLn21976p6X</a></td></tr><tr><td><strong>Dateien</strong></td><td>Medien und Dokumente senden – Bild, Video, Audio oder Dokument.</td><td><a href="/pages/IvJyj7jCDrFTXi86LldM">/pages/IvJyj7jCDrFTXi86LldM</a></td></tr><tr><td><strong>Voice Agent</strong></td><td>Sprachausgabe und Gesprächssteuerung, nur für <code class="expression">space.vars.TERM_VOICE_AGENT</code>-Flows.</td><td><a href="/pages/drHZk0MqAd2Czok75WEl">/pages/drHZk0MqAd2Czok75WEl</a></td></tr></tbody></table>

### Nutzereingabe erwarten

Im Bereich *Weitere Optionen* findest du die Checkbox *Erwartet Nutzereingabe nach diesem Block*.

Ist die Option aktiviert, wartet der <code class="expression">space.vars.TERM\_AI\_AGENT</code> nach Ausführung aller Elemente auf eine Eingabe des Nutzers – der Flow pausiert an dieser Stelle, und die eingehende Nutzereingabe dient als Verbindungspunkt zu nachfolgenden Schritten.

Ist die Option nicht aktiviert, führt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> den nächsten Schritt direkt und automatisch aus. Aktiviere sie also gezielt dort, wo der <code class="expression">space.vars.TERM\_AI\_AGENT</code> auf eine Antwort angewiesen ist – z. B. nach einer Frage oder einer Dateneingabe.

{% hint style="info" %}
Ist die Option nicht aktiviert und der Block nicht mit einem weiteren Schritt verbunden, löst die nächste Nutzereingabe automatisch die Intentionserkennung aus.\
\
Ist die Option aktiviert, der Block aber nicht mit einem weiteren Schritt verbunden, landet die Nutzereingabe im Fallback. Der Agent wartet in diesem Fall zwar auf eine Eingabe, weiß aber nicht, wohin er sie weiterleiten soll – da kein Verbindungspunkt zu einem nachfolgenden Schritt existiert.
{% endhint %}

### Block erstellen

{% stepper %}
{% step %}
Öffne den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> und klicke in der rechten Seitenleiste auf *Schritt hinzufügen*.
{% endstep %}

{% step %}
Wähle unter *Häufig verwendet* den Eintrag *Block* aus.
{% endstep %}

{% step %}
Der neue Block erscheint im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> und das Bearbeitungspanel öffnet sich.
{% endstep %}

{% step %}
Vergib einen aussagekräftigen Namen für den Block.
{% endstep %}

{% step %}
Wähle bei Bedarf eine Sprache aus dem Dropdown aus.
{% endstep %}

{% step %}
Klicke auf *Element hinzufügen*, um dem Block Inhalte oder Aktionen hinzuzufügen, und konfiguriere die Elemente nach deinen Anforderungen.
{% endstep %}

{% step %}
Aktiviere die Option *Erwartet Nutzereingabe nach diesem Block*, falls der <code class="expression">space.vars.TERM\_AI\_AGENT</code> hier auf eine Nutzereingabe warten soll.
{% endstep %}

{% step %}
Klicke auf *Ok*, um den Block zu speichern.
{% endstep %}
{% endstepper %}

### Block bearbeiten

{% stepper %}
{% step %}
Klicke im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> auf den Block, den du bearbeiten möchtest. Das Bearbeitungspanel öffnet sich.
{% endstep %}

{% step %}
Nimm deine Änderungen vor – z. B. den Namen anpassen oder Elemente hinzufügen bzw. entfernen.
{% endstep %}

{% step %}
Klicke auf *Ok*, um die Änderungen zu speichern.
{% endstep %}
{% endstepper %}

### Block löschen

{% stepper %}
{% step %}
Öffne den Block, den du löschen möchtest.
{% endstep %}

{% step %}
Klicke oben rechts im Bearbeitungspanel auf das Papierkorb-Symbol.
{% endstep %}

{% step %}
Bestätige das Löschen.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Das Löschen eines Blocks entfernt ihn aus dem Flow. Bestehende Verbindungen zu anderen Schritten – z. B. Intentionen oder Blöcke, die auf diesen Block zeigen – werden dabei getrennt. Überprüfe den Flow anschließend auf fehlende Verbindungen oder Logikfehler.
{% endhint %}

### Beispiel: Block zur IBAN-Abfrage erstellen

In diesem Beispiel soll der <code class="expression">space.vars.TERM\_AI\_AGENT</code> den Nutzer nach seiner IBAN fragen und anschließend auf die Eingabe warten.

{% stepper %}
{% step %}
Klicke in der Seitenleiste auf *Schritt hinzufügen → Block*.
{% endstep %}

{% step %}
Benenne den Block: „IBAN abfragen".
{% endstep %}

{% step %}
Klicke auf *Element hinzufügen* und wähle *Textnachricht* aus.
{% endstep %}

{% step %}
Trage folgende Nachricht ein: „Bitte teile uns deine IBAN mit."
{% endstep %}

{% step %}
Aktiviere die Checkbox *Erwartet Nutzereingabe nach diesem Block*.
{% endstep %}

{% step %}
Klicke auf *Ok*.
{% endstep %}

{% step %}
Verbinde den Block im Flow mit dem nächsten Schritt – z. B. mit einem Block, der die erkannte IBAN in einer Variable speichert. Mehr dazu im Artikel [Variablen](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen).
{% endstep %}
{% endstepper %}

### Best Practices

* **Beschreibende Namen vergeben:** Ein Name wie „Begrüßung senden" ist im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> auf einen Blick verständlich – anders als „Block 1".
* **Zweck dokumentieren:** Nutze das Beschreibungsfeld, besonders bei komplexen Flows mit vielen Schritten. So behältst du auch später den Überblick.
* **Nutzereingabe bewusst setzen:** Aktiviere *Erwartet Nutzereingabe nach diesem Block* nur, wo wirklich eine Antwort erwartet wird – sonst pausiert der Flow ungewollt.
* **Elemente sinnvoll bündeln:** Kombiniere Elemente, die logisch zusammengehören – z. B. eine Textnachricht senden und gleichzeitig ein Tag setzen. So bleibt der Flow übersichtlich und die Anzahl der Schritte gering.


# Elemente: Basis

Die Kategorie „Basis" enthält die grundlegenden Elemente für die Ausgabe von Nachrichten und die Steuerung von Nutzerinteraktionen.

### Textnachricht

Eine Textnachricht sendet einen einfachen Text an den Nutzer.

Gib den gewünschten Text direkt in das Eingabefeld ein. Du kannst Variablen über den [Variablen-Picker](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen#variablen-picker) einfügen, um den Text dynamisch zu gestalten – eingefügte Variablen werden automatisch farblich hervorgehoben (siehe Artikel [Variablen](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen)).

**Beispiel:** `Hallo {{Vorname (Benutzerdefiniert - Kontakt)}}, wie kann ich dir helfen?`

{% hint style="info" %}
Textnachrichten sind mit allen Kanälen kompatibel.
{% endhint %}

***

### Buttons

Das Buttons-Element zeigt dem Nutzer eine oder mehrere klickbare Schaltflächen an. Jeder Button führt bei Klick eine definierte Aktion aus.

#### Button hinzufügen

Füge über das Button-Element einen neuen Button hinzu. Für jeden Button kannst du Folgendes festlegen:

* **Name:** Die Beschriftung des Buttons, die dem Nutzer angezeigt wird. Der Name kann maximal 20 Zeichen lang sein; Grund dafür sind Limitationen seitens WhatsApp.
* **Typ:** Legt fest, was beim Klick passiert. Es gibt zwei Typen:
  * **Block:** Der Klick leitet den Nutzer zu einem anderen Block im Flow weiter. Du wählst den Ziel-Block aus dem Flow aus, indem du eine Verbindung ziehst.
  * **URL:** Der Klick öffnet eine externe Webseite. Du gibst die gewünschte URL ein.
* **Payload:** Legt einen Wert fest, der beim Klick auf den Button automatisch in der Systemvariable `Payload des zuletzt geklickten Buttons (Konversation)` gespeichert wird. Du kannst entweder einen Freitext oder den Wert einer bestehenden Variable angeben. Da der Payload-Wert automatisch gespeichert wird, musst du anschließend keine eigene Variable setzen. Stattdessen kannst du die Systemvariable `Payload des zuletzt geklickten Buttons (Konversation)` direkt im weiteren Flow verwenden; beispielsweise in Bedingungen oder Nachrichten.

Klicke auf *Übernehmen*, um den Button zu speichern.

#### Mehrere Buttons

Du kannst bis zu 10 Buttons in einem Element anlegen. Die Buttons werden dem Nutzer, abhängig vom Kanal, nebeneinander oder untereinander angezeigt.

#### Beispiel

Ein Block fragt den Nutzer nach seinem Anliegen und bietet drei Optionen als Buttons an:

* Button 1: „Bestellung verfolgen" → Typ: *Block* → Ziel: Block „Sendestatus abfragen"
* Button 2: „Rechnung anfragen" → Typ: *Block* → Ziel: Block „Rechnung"
* Button 3: „Zur Website" → Typ: *URL* → `https://www.beispiel.de`

{% hint style="info" %}
Buttons sind ausschließlich mit Textkanälen kompatibel.
{% endhint %}

***

### WhatsApp-Template

Ein WhatsApp-Template sendet eine vorab genehmigte Nachrichtenvorlage an den Nutzer über WhatsApp.

WhatsApp schreibt vor, dass Nachrichten, die außerhalb eines aktiven Gesprächsfensters (24 Stunden nach der letzten Nutzernachricht) gesendet werden, ein genehmigtes Template verwenden müssen. Über dieses Element wählst du das gewünschte Template aus.

Klicke auf *Template auswählen*, um ein verfügbares Template auszuwählen.

{% hint style="info" %}
Das WhatsApp-Template ist ausschließlich mit dem WhatsApp-Kanal kompatibel.
{% endhint %}

***

### Best Practices

* **Textnachrichten kurz halten:** Formuliere präzise Nachrichten. Lange Texte werden auf mobilen Geräten schlecht lesbar. Teile komplexe Informationen lieber auf mehrere Blöcke auf.
* **Variablen in Textnachrichten nutzen:** Personalisierte Nachrichten erhöhen die Qualität des Gesprächs. Verwende Variablen wie `{{Vorname (Benutzerdefiniert - Kontakt)}}`, um Nutzer direkt anzusprechen.
* **Buttons sparsam einsetzen:** Biete nicht mehr Buttons an, als nötig. Zu viele Optionen überfordern den Nutzer. Drei bis vier Buttons sind in der Regel ausreichend.
* **Button-Namen klar formulieren:** Der Button-Name sollte eindeutig beschreiben, was nach dem Klick passiert – z. B. „Bestellung verfolgen" statt „Weiter".


# Elemente: Aktionen

Aktionen sind Elemente innerhalb eines Blocks, die während des Gesprächsflows automatisch ausgeführt werden. Sie steuern keine Ausgaben an den Nutzer, sondern wirken im Hintergrund.

### Konversation als ungelesen markieren

Markiert die aktuelle Konversation in der Inbox als ungelesen. Es sind keine weiteren Einstellungen notwendig.

**Typischer Anwendungsfall:** Die Konversation soll nach dem Durchlauf des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s für einen Agenten sichtbar als „neu" markiert werden, damit sie nicht übersehen wird.

***

### Konversation zurückstellen

Stellt die aktuelle Konversation für eine definierte Zeitspanne zurück. Gib die gewünschte Zeitspanne in den Feldern *Tage*, *Stunden*, *Minuten* und *Sekunden* ein. Während dieser Zeit erscheint sie nicht aktiv in der Inbox. Wenn die eingestellte Zeit zusammen 0 Sekunden beträgt, wird eine bestehende Zurückstellung aufgehoben.

**Typischer Anwendungsfall:** Die Konversation soll erst nach einer Wartezeit wieder bearbeitet werden – z. B. nach einem Rückruf oder einer Frist.

***

### Tag hinzufügen

Fügt der aktuellen Konversation einen vorhandenen Tag hinzu.

Klicke auf *Tag auswählen*, um den Tag-Picker zu öffnen, und wähle den gewünschten Tag aus. Tags werden dort farbig angezeigt.

**Typischer Anwendungsfall:** Konversationen automatisch kategorisieren, z. B. „Bestellung", „Beschwerde" oder „Rückruf gewünscht".

{% hint style="info" %}
[Tags](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/tags-und-trigger) müssen vorab im System angelegt worden sein.
{% endhint %}

***

### Tag entfernen

Entfernt einen vorhandenen Tag von der aktuellen Konversation.

Klicke auf *Tag auswählen* und wähle den Tag aus, der entfernt werden soll.

**Typischer Anwendungsfall:** Einen temporären Tag entfernen, sobald ein bestimmter Schritt im Flow abgeschlossen wurde – z. B. den Tag „In Bearbeitung" nach Abschluss entfernen.

***

### Variable festlegen

Weist einer [benutzerdefinierten Variable](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen) einen Wert zu. Im Bearbeitungspanel wird dieses Element als *Variable Wert zuweisen* bezeichnet.

1. Klicke auf *Variable auswählen*, um den [Variablen-Picker](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen#variablen-picker) zu öffnen.
2. Wähle die gewünschte Variable aus.
3. Trage im Feld *Wert* den Wert ein – entweder als statischen Text oder über den Variablen-Picker als dynamischen Wert aus einer anderen Variable oder Entität.

Nur benutzerdefinierte Variablen können manuell befüllt werden. Automatisch befüllte Variablen (z. B. aus den Kategorien Kontakt, Konversation oder Entitäten) können nicht überschrieben werden.

**Typischer Anwendungsfall:** Den erkannten Wert einer Entität (z. B. IBAN) dauerhaft in einer benutzerdefinierten Variable speichern, um ihn später im Flow weiterzuverwenden.

***

### Notiz erstellen

Erstellt eine interne Notiz zur aktuellen Konversation. Die Notiz ist nur für Agenten in der Inbox sichtbar – nicht für den Nutzer. Gib den gewünschten Notiztext in das Textfeld ein. Variablen können eingefügt werden, um die Notiz dynamisch zu befüllen.

**Typischer Anwendungsfall:** Wichtige Informationen aus dem Gesprächsverlauf für den zuständigen Agenten festhalten – z. B. das genannte Anliegen oder eine erkannte Kundennummer.

{% hint style="info" %}
Notizen werden im Debug-Modus nicht angezeigt. Sie sind ausschließlich in der Inbox für Agenten sichtbar.
{% endhint %}

***

### Übergabe an Agent (Chat)

Übergibt die aktuelle Konversation an einen menschlichen Mitarbeiter. Das zuständige Team wird benachrichtigt und kann die Unterhaltung übernehmen. Es sind keine weiteren Einstellungen notwendig.

Nach diesem Element können keine weiteren Elemente im selben Block folgen. Das Element ist nicht verschiebbar und wird immer an letzter Stelle angezeigt.

**Typischer Anwendungsfall:** Die Konversation an einen menschlichen Mitarbeiter übergeben, sobald der <code class="expression">space.vars.TERM\_AI\_AGENT</code> das Anliegen nicht abschließend klären kann.

***

### Team zuweisen

Weist die aktuelle Konversation einem bestimmten Team zu.

Klicke auf die Auswahlschaltfläche und wähle das gewünschte Team aus der Liste. Zusätzlich steht die Option *Zuweisung aufheben* zur Verfügung, um eine bestehende Zuweisung aufzuheben.

**Typischer Anwendungsfall:** Konversationen automatisch an das zuständige Team weiterleiten – z. B. „Support" oder „Vertrieb" – abhängig vom erkannten Anliegen des Nutzers.

{% hint style="info" %}
[Teams](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/teams) müssen vorab im System angelegt worden sein. Diese Funktion kann nur in Verbindung mit Text-Kanälen genutzt werden.
{% endhint %}

***

### Mitarbeiter zuweisen

Weist die aktuelle Konversation einem bestimmten Mitarbeiter zu.

Klicke auf die Auswahlschaltfläche und wähle den gewünschten Mitarbeiter aus der Liste. Folgende Optionen stehen zusätzlich zur Verfügung:

* *Zuweisung aufheben* – hebt eine bestehende Zuweisung auf.
* *Vorherigem Mitarbeiter zuweisen* – weist die Konversation automatisch dem Mitarbeiter zu, der zuletzt mit dem Nutzer in Kontakt war.

**Typischer Anwendungsfall:** VIP-Kunden direkt einem festen Ansprechpartner zuweisen, oder nach einer Übergabe sicherstellen, dass der richtige Mitarbeiter informiert wird.

***

### Best Practices

* **Aktionen gezielt kombinieren:** Mehrere Aktionen in einem Block werden der Reihe nach ausgeführt. Kombiniere sie sinnvoll – z. B. zuerst eine Variable setzen, dann ein Team zuweisen und abschließend die Konversation als ungelesen markieren.
* **Tags konsequent nutzen:** Ein einheitliches Tag-System macht die Auswertung in der Inbox deutlich einfacher. Lege Tags vorab fest und verwende sie konsistent im gesamten Flow.
* **Notizen für Agenten vorausfüllen:** Nutze Variablen in Notizen, damit Agenten beim Öffnen der Konversation sofort alle relevanten Informationen sehen – z. B. das genannte Anliegen oder die erkannte Kundennummer.
* **Vorherigen Mitarbeiter automatisch zuweisen:** Bei bekannten Nutzern sorgt die Option *Vorherigem Mitarbeiter zuweisen* dafür, dass der vertraute Ansprechpartner automatisch zugewiesen wird – das verbessert die Beziehungsqualität.


# Elemente: Dateien

Mit den Datei-Elementen kannst du Medien und Dokumente direkt aus einem Block heraus an den Nutzer senden. Die Kategorie „Dateien" umfasst vier Elemente: Bild, Video, Audio und Dokument.

{% hint style="info" %}
Die Elemente Bild, Video und Dokument sind ausschließlich mit Textkanälen kompatibel.
{% endhint %}

### Datei auswählen

Bei allen vier Elementen öffnet sich beim Klick auf die Auswahlschaltfläche derselbe *Datei auswählen*-Dialog. Er bietet zwei Tabs:

* *Datei aus Mediathek:* Wähle eine bereits hochgeladene Datei aus der zentralen [Mediathek](/epic-ai-platform/epic-ai-platform/ai-agent/build/mediathek) aus.
* *Vom Computer:* Lade eine neue Datei direkt von deinem Gerät hoch.

***

### Elemente im Überblick

#### Bild senden

Sendet ein Bild an den Nutzer.

Klicke auf die Auswahlschaltfläche, um den Datei-Dialog zu öffnen, und wähle das gewünschte Bild aus der Mediathek aus oder lade es vom Computer hoch.

**Typischer Anwendungsfall:** Produktbilder, Anleitungsgrafiken oder visuelle Bestätigungen im Gesprächsverlauf anzeigen – z. B. ein Bild des bestellten Artikels.

***

#### Video senden

Sendet ein Video an den Nutzer.

Klicke auf die Auswahlschaltfläche und wähle das gewünschte Video aus.

**Typischer Anwendungsfall:** Erklärvideos oder kurze Anleitungen direkt im Chat teilen – z. B. eine Schritt-für-Schritt-Videoerklärung zur Produktnutzung.

***

#### Audio senden

Sendet eine Audiodatei an den Nutzer.

Klicke auf die *Auswahlschaltfläche* und wähle die gewünschte Audiodatei aus. Typischer Anwendungsfall: Sprachhinweise oder kurze Audioansagen im Chat bereitstellen – z. B. eine aufgezeichnete Begrüßungsnachricht.

Bei Voice Agents wird die hinterlegte Datei im Gespräch abgespielt – vorausgesetzt, sie erfüllt das erforderliche Audioformat.

{% hint style="warning" %}
Damit die Datei bei Voice Agents korrekt abgespielt wird, muss sie folgendes Format erfüllen: **16 kHz, 16 Bit, Mono, unkomprimiertes PCM (WAV)**. Andere Formate – etwa komprimierte MP3 – sind nicht kompatibel und werden als Rauschen wiedergegeben.
{% endhint %}

***

#### Dokument senden

Sendet ein Dokument an den Nutzer.

Klicke auf die Auswahlschaltfläche und wähle das gewünschte Dokument aus.

**Typischer Anwendungsfall:** PDFs wie Rechnungen, AGBs, Produktdatenblätter oder Anleitungen direkt im Gespräch bereitstellen.

***

### Best Practices

* **Mediathek nutzen:** Lade häufig verwendete Dateien einmalig in die Mediathek hoch, anstatt sie jedes Mal neu vom Computer hochzuladen. Das spart Zeit und sorgt für konsistente Inhalte im gesamten Flow.
* **Dateinamen aussagekräftig benennen:** Verwende in der Mediathek klare Dateinamen, damit du die richtigen Dateien beim Auswählen schnell findest – z. B. `produkthandbuch-v2.pdf` statt `dokument_final_neu.pdf`.
* **Dateigröße im Blick behalten:** Große Dateien können die Ladezeit im Chat erhöhen und auf manchen Kanälen Limits überschreiten. Komprimiere Bilder und Videos, bevor du sie hochlädst.
* **Kontext vor der Datei liefern:** Kombiniere ein Datei-Element immer mit einer vorausgehenden Textnachricht, die erklärt, was der Nutzer gleich erhält – z. B. „Hier ist dein Produktdatenblatt:" gefolgt vom Dokument-Element.


# Elemente: Voice Agent

Die Voice-Elemente steuern die Sprachausgabe und den Gesprächsablauf in Voice-Kanälen. Sie sind ausschließlich für Voice Agent-Flows vorgesehen und nicht mit Textkanälen kompatibel.

### Sprachausgabe

Das Element *Sprachausgabe* legt fest, was der <code class="expression">space.vars.TERM\_VOICE\_AGENT</code> an dieser Stelle im Flow vorliest.

Gib den gewünschten Text direkt in das Textfeld ein. Alternativ kannst du den *SSML-Editor* öffnen, um die Sprachausgabe feiner zu steuern.

{% hint style="info" %}
SSML-Tags haben keine Auswirkung, wenn eine Stimme von 11Labs genutzt wird.
{% endhint %}

#### SSML-Editor

SSML (Speech Synthesis Markup Language) ermöglicht es, die Sprachausgabe präzise anzupassen – zum Beispiel Aussprache, Betonung oder Pausen. Der SSML-Editor bietet dafür vier Hilfswerkzeuge:

* **Aussprache** – Legt fest, wie ein bestimmtes Wort ausgesprochen werden soll. Zur Auswahl stehen verschiedene Interpretationstypen: Zahl, Aufzählung, Buchstabieren, Bruch (mathematisch), Zensieren, Einheit, Datum und weitere. Das ausgewählte Wort wird im Editor grün hervorgehoben.
* **Betonung** – Passt die Betonung eines Wortes oder Satzes an.
* **Pause** – Fügt eine definierte Pause in die Sprachausgabe ein.
* **Variable** – Fügt eine Variable in die Sprachausgabe ein, um Inhalte dynamisch vorzulesen.

#### SSML-Code-Editor (Profi-Feature)

{% hint style="warning" %}
Es handelt sich hierbei um eine Funktion für technisch versierte Nutzende. Eingegebener Code sollte zwingend über einen Anruf verifiziert werden, da fehlerhafte SSML-Tags zum Absturz von Anrufen führen.

Voice-Tags sind mit dem [AudioCodes-Kanal](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale/audiocodes-kanal) leider nicht kompatibel – es handelt sich hierbei um Plattformeinschränkungen, auf die wir keinen Einfluss nehmen können.
{% endhint %}

Über den *Code-Editor* lässt sich der zugrundeliegende SSML-Code direkt bearbeiten. Im Code-Editor stehen Tastenkürzel zur Verfügung: `Strg + Leertaste` für Vorschläge, `cmd/strg + S` zum Speichern.

Klicke auf *Änderungen speichern*, um den SSML-Text zu übernehmen.

**Typischer Anwendungsfall:** Eine Telefonnummer soll buchstabenweise vorgelesen werden, oder eine Zahl soll als Ordinalzahl (z. B. „erste", „zweite") ausgesprochen werden.

***

### Gespräch beenden

Beendet das aktive Telefonat. Nach diesem Element können keine weiteren Elemente im selben Block folgen. Das Element ist nicht verschiebbar und wird immer an letzter Stelle angezeigt.

Optional können SIP-Header mitgegeben werden. Klicke auf *SIP-Header hinzufügen* und trage Name und Wert ein. SIP-Header ermöglichen es, beim Beenden des Gesprächs zusätzliche technische Informationen an das Telefonsystem zu übergeben.

**Typischer Anwendungsfall:** Das Gespräch nach einer abgeschlossenen Interaktion sauber beenden – z. B. nach einer Bestätigung oder einer Weiterleitung, die fehlgeschlagen ist.

***

### Gespräch übertragen

{% hint style="warning" %}
Dieses Element ist veraltet und in der Oberfläche als *Legacy* gekennzeichnet. Nutze für neue Flows den Schritt [Anruf weiterleiten](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/anruf-weiterleiten): Er bietet Ausgänge für Fehlerfälle wie *Besetzt* oder *Nicht erreichbar* und eine einstellbare Klingeldauer. Bestehende Flows funktionieren unverändert weiter.
{% endhint %}

Leitet das aktive Telefonat an eine andere Rufnummer weiter. Nach diesem Element können keine weiteren Elemente im selben Block folgen. Das Element ist nicht verschiebbar und wird immer an letzter Stelle angezeigt.

Trage im Feld *Rufnummer zur Weiterleitung* die Zielrufnummer ein. Die Rufnummer muss im E.164-Format angegeben werden (mit Länderkennung, z. B. +49…).

Optional können SIP-Header mitgegeben werden. Klicke auf *SIP-Header hinzufügen* und trage Name und Wert ein.

Kommt die Weiterleitung nicht zustande, etwa weil besetzt ist oder niemand abnimmt, endet der Anruf. Eine Fehlerbehandlung im Flow ist mit diesem Element nicht möglich.

**Typischer Anwendungsfall:** Einen Anrufer nach der Vorqualifizierung durch den <code class="expression">space.vars.TERM\_AI\_AGENT</code> direkt an den zuständigen Agenten oder eine Fachabteilung weiterleiten.

***

### Einstellungen ändern

Passt bestimmte [Kanaleinstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale/voice-kanal#konfiguration-und-spracheinstellungen) temporär für die nächste Benutzereingabe an. Die Änderungen gelten ausschließlich für den folgenden Eingabeschritt und werden danach zurückgesetzt.

**Typischer Anwendungsfall:** Bei einer komplexen Frage, bei der der Anrufer länger sprechen muss, den Timeout für Spracheingabe einmalig erhöhen, damit der <code class="expression">space.vars.TERM\_AI\_AGENT</code> nicht zu früh unterbricht.

***

### Best Practices

* **Sprachausgabe natürlich formulieren:** Schreibe Texte so, wie sie gesprochen werden sollen – also ausgeschrieben statt abgekürzt. Statt „Str." besser „Straße", statt „€" besser „Euro". Das vermeidet unerwartete Aussprachen.
* **SSML gezielt einsetzen:** Nutze den SSML-Editor nur dort, wo die automatische Aussprache tatsächlich fehlerhaft ist – z. B. bei Telefonnummern, IBANs oder Fachbegriffen. Zu viele SSML-Tags machen den Flow schwerer wartbar.
* **Voice-Flows immer abschließen:** Beende <code class="expression">space.vars.TERM\_VOICE\_AGENT</code>-Flows immer mit dem Element *Gespräch beenden* oder mit dem Schritt [Anruf weiterleiten](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/anruf-weiterleiten). Ein Flow, der ohne Abschluss endet, kann zu unerwünschtem Verhalten führen.
* **Timeouts bei langen Antworten anpassen:** Wenn Anrufer längere Eingaben machen sollen – z. B. eine Adresse nennen – setze das Element *Einstellungen ändern* direkt vor dem entsprechenden Block und erhöhe den Timeout für Spracheingabe gezielt für diesen Schritt.


# Intentionen

Der Schritt „Intention" legt fest, welcher Flow bei einer erkannten Nutzerabsicht gestartet wird.

### Wo finde ich den Schritt?

Der Schritt *Intention* lässt sich im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> über *Schritt hinzufügen* einfügen. Er ist unter der Kategorie *Häufig verwendet* zu finden.

***

### Erklärung – Was genau ist der Schritt *Intention*?

Der Schritt *Intention* wartet auf eine Benutzereingabe und prüft, ob diese einer definierten Intention entspricht. Wird die zugeordnete Intention erkannt, startet automatisch der nachfolgende Flow.

Jede Intention kann im gesamten <code class="expression">space.vars.TERM\_AI\_AGENT</code> **nur einmal** als Einstiegspunkt verwendet werden. Ist eine Intention bereits einem Schritt zugewiesen, steht sie für andere Intentions-Schritte nicht mehr zur Auswahl.

Der Schritt hat einen Ausgang:

* *Erkannte Intention* – Der nachfolgende Flow wird gestartet.

Wird keine Intention erkannt, greift stattdessen der [Fallback](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flows#der-standard-flow-einstieg-and-fallback). Ist die KI-Einstellung [Generative KI](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen) aktiv, wird vor dem Fallback versucht, eine Antwort im Wissen zu finden und auszuspielen.

***

### Verwendung – Intention einem Schritt zuweisen

{% stepper %}
{% step %}
Füge im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> einen neuen Schritt vom Typ *Intention* hinzu.
{% endstep %}

{% step %}
Klicke auf den Schritt, um ihn zu öffnen. Das Bearbeitungspanel erscheint.
{% endstep %}

{% step %}
Klicke auf *Intention auswählen* und wähle die auslösende Intention aus der Liste aus.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

Der Schritt ist nun mit der gewählten Intention verknüpft. Sobald ein Nutzer eine Eingabe macht, die dieser Intention entspricht, startet der nachfolgende Flow automatisch.

{% hint style="info" %}
Intentionen, die bereits einem anderen Intentions-Schritt zugewiesen sind, erscheinen nicht mehr in der Auswahlliste.
{% endhint %}

***

### Neue Intention direkt erstellen

Falls die benötigte Intention noch nicht existiert, kannst du sie direkt aus dem Schritt heraus anlegen.

{% stepper %}
{% step %}
Öffne das Bearbeitungspanel.
{% endstep %}

{% step %}
Klicke auf *Neue Intention erstellen*.
{% endstep %}

{% step %}
Du wirst zur [Intentionsverwaltung](/epic-ai-platform/epic-ai-platform/ai-agent/build/intentionen) unter *AI Agent → Build → Intentionen* weitergeleitet.
{% endstep %}

{% step %}
Lege dort die neue Intention an und kehre anschließend zum <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> zurück.
{% endstep %}
{% endstepper %}

***

### Beispiel

**Szenario:** Ein Nutzer möchte den Status seiner Lieferung abfragen.

{% stepper %}
{% step %}
Füge im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> einen Schritt *Intention* hinzu.
{% endstep %}

{% step %}
Weise dem Schritt die Intention `Sendungsverfolgung` zu.
{% endstep %}

{% step %}
Verbinde den Schritt mit dem Flow, der die Sendungsverfolgung abwickelt.
{% endstep %}
{% endstepper %}

**Ergebnis:** Gibt ein Nutzer nun „Wo ist mein Paket?" oder „Wann kommt meine Lieferung?" ein, erkennt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> die Intention `Sendungsverfolgung` und startet automatisch den zugehörigen Flow.

***

### Best Practices

* **Aussagekräftige Intentionsnamen vergeben:** Benenne Intentionen so, dass ihr Zweck auf einen Blick erkennbar ist – z. B. `→ Rechnung` statt `Intention 1`. Das erleichtert die Wartung des Flows erheblich.
* **Intention-Schritt gezielt einsetzen:** Setze den Intention-Schritt gezielt an den Anfang eines Flows, um klar erkennbare Nutzeranliegen direkt in den passenden Ablauf zu leiten.
* **Intentionen thematisch klar abgrenzen:** Jede Intention sollte ein eigenständiges Anliegen abdecken, ohne sich inhaltlich mit anderen zu überschneiden – das erleichtert die korrekte Erkennung und Weiterleitung im Flow.
* **Beschreibung nutzen:** Hinterlege eine kurze Beschreibung im Schritt, damit du und dein Team auf einen Blick erkennen, welchen Zweck der Schritt im Flow erfüllt – z. B. „startet Rechnungsnummer-Abfrage".


# Kontext

Der Kontext-Schritt ermöglicht es, Nutzer-Intentionen gezielt innerhalb eines bestimmten Gesprächsabschnitts abzufangen – ohne den gesamten Flow zu unterbrechen.

### Wo finde ich das?

Den Kontext-Schritt fügst du direkt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> über *Schritt hinzufügen → Kontext* ein. Er ist unter der Kategorie *Häufig verwendet* gelistet.

{% hint style="info" %}
Die Intentionen selbst werden nicht im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> verwaltet, sondern separat unter *AI Agent → Build → Intentionen*. Die Verwaltung von [Intentionen](/epic-ai-platform/epic-ai-platform/ai-agent/build/intentionen) ist in einem eigenen Artikel beschrieben.
{% endhint %}

***

### Erklärung – Was genau ist der Kontext-Schritt?

Wenn eine Intention erkannt wird, springt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> normalerweise zum zugehörigen Trigger-Block im Flow – egal, an welcher Stelle im Gespräch sich der Nutzer gerade befindet. Das kann gewünscht sein, in vielen Fällen möchtest du aber steuern, dass eine Intention nur in einem bestimmten Gesprächsabschnitt reagiert.

Genau das leistet der Kontext-Schritt: Er überwacht eine oder mehrere Intentionen **lokal**, also nur an der Stelle im Flow, an der er eingebaut ist. Wird eine der hinterlegten Intentionen erkannt, leitet der Kontext-Schritt den Flow gezielt an den passenden Ausgang weiter. Das macht den Kontext-Schritt besonders nützlich, wenn du Intentionen an mehreren Stellen im Flow wiederverwenden oder kontextabhängig unterschiedlich behandeln möchtest.

***

### Verwendung – Was kann man damit machen?

#### Intentionen lokal abfangen

Platziere einen Kontext-Schritt im Flow, um an dieser Stelle gezielt auf bestimmte Nutzer-Intentionen zu reagieren. Für jede Intention legst du einen eigenen Ausgang fest. Dieser Ausgang kann dann mit dem nächsten Schritt im Flow verbunden werden.

**Typisches Szenario:** Ein Nutzer befindet sich mitten in einem Buchungsablauf. Du möchtest, dass er jederzeit zur Stornierung wechseln kann – aber nur innerhalb dieses Abschnitts, nicht global im gesamten <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Ein weiteres Beispiel: Du möchtest Intentionen wie „Bestätigung" und „Ablehnung" gezielt und isoliert im Flow verwenden.

#### Mehrere Intentionen in einem Schritt

Du kannst einem Kontext-Schritt mehrere Intentionen hinzufügen. Jede Intention erhält dabei einen eigenen benannten Ausgang, den du separat verbinden kannst.

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### Kontext-Schritt erstellen

{% stepper %}
{% step %}
Öffne den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> und navigiere zur Stelle im Flow, an der du den Kontext-Schritt einfügen möchtest.
{% endstep %}

{% step %}
Klicke auf *Schritt hinzufügen* und wähle unter *Häufig verwendet* den Eintrag *Kontext* aus. Das Bearbeitungspanel öffnet sich.
{% endstep %}

{% step %}
Vergib einen aussagekräftigen Namen für den Schritt. Dieser ist nur intern sichtbar und hilft dir, den Schritt im Flow zu identifizieren.
{% endstep %}

{% step %}
Klicke auf *Intention hinzufügen*. Trage im Feld *Name des Ausgangs* einen Namen ein und wähle über *Intention wählen* die gewünschte Intention aus.
{% endstep %}

{% step %}
Wiederhole den vorherigen Schritt für jede weitere Intention, die du am selben Kontext-Schritt abfangen möchtest.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

#### Kontext-Schritt bearbeiten

Klicke im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> auf den bestehenden Kontext-Schritt, um das Bearbeitungspanel erneut zu öffnen. Du kannst:

* den *Namen* des Schritts ändern,
* über *Intention hinzufügen* Intentionen ergänzen oder entfernen,
* den *Namen eines Ausgangs* anpassen.

{% hint style="info" %}
Eine Änderung des Ausgangsnamens wirkt sich auf bestehende Verbindungen im Flow aus. Prüfe nach der Umbenennung, ob die Verbindungen noch korrekt sind.
{% endhint %}

#### Kontext-Schritt löschen

Du kannst den Kontext-Schritt wie jeden anderen Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> löschen. Klicke dazu auf das Papierkorb-Symbol im Bearbeitungspanel.

{% hint style="warning" %}
Beim Löschen werden alle Verbindungen, die von den Ausgängen dieses Schritts ausgehen, entfernt. Der nachfolgende Flow kann dadurch unterbrochen werden. Prüfe den Flow nach dem Löschen auf offene oder fehlende Verbindungen.
{% endhint %}

***

### Beispiel: Themenabbruch während eines Buchungsablaufs

Ein Nutzer durchläuft einen mehrstufigen Buchungsprozess für ein Hotelzimmer. Du möchtest sicherstellen, dass er jederzeit zur Stornierung oder zu einer allgemeinen Frage wechseln kann – aber nur innerhalb dieses Abschnitts.

**Voraussetzung:** Die Intentionen „Stornierung" und „Allgemeine Frage" sind bereits unter *AI Agent → Build → Intentionen* angelegt.

{% stepper %}
{% step %}
Füge im Buchungsflow einen Kontext-Schritt ein.
{% endstep %}

{% step %}
Vergib den Namen `Buchung – Kontext`.
{% endstep %}

{% step %}
Füge die Intention „Stornierung" hinzu und benenne den Ausgang `→ Stornierung`.
{% endstep %}

{% step %}
Füge die Intention „Allgemeine Frage" hinzu und benenne den Ausgang `→ Allgemeine Frage`.
{% endstep %}

{% step %}
Verbinde den Ausgang `→ Stornierung` mit dem Block für den Stornierungsablauf.
{% endstep %}

{% step %}
Verbinde den Ausgang `→ Allgemeine Frage` mit dem Block für allgemeine Auskünfte.
{% endstep %}
{% endstepper %}

Erkennt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> nun während des Buchungsprozesses eine dieser Intentionen, wird der Nutzer gezielt weitergeleitet – ohne den gesamten Flow zu unterbrechen.

***

### Best Practices

* **Aussagekräftige Ausgangsnamen vergeben:** Benenne Ausgänge so, dass ihr Zweck auf einen Blick erkennbar ist – z. B. `→ Stornierung` statt `Ausgang 1`. Das erleichtert die Wartung des Flows erheblich.
* **Kontext-Schritt gezielt einsetzen:** Nutze den Kontext-Schritt nicht als globalen Ersatz für Intentionen, sondern dort, wo eine Intention nur in einem bestimmten Gesprächsabschnitt relevant ist. Für global gültige Intentionen ist weiterhin der Trigger-Block im Flow die richtige Wahl.
* **Intentionen wiederverwenden:** Dieselbe Intention kann in mehreren Kontext-Schritten an verschiedenen Stellen im Flow verwendet werden. So vermeidest du redundante Intentionen und hältst die Intentionen-Verwaltung übersichtlich.


# Bedingung

Mit einer Bedingung steuerst du den Gesprächsfluss deines AI Agents: Je nachdem, ob eine oder mehrere Regeln zutreffen, wird der AI Agent auf unterschiedliche Pfade weitergeleitet.

### Wo finde ich das?

Die Bedingung fügst du direkt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> über das Panel *Schritt hinzufügen* ein. Navigiere dort zur Kategorie *Flow-Kontrolle* und wähle *Bedingung* aus.

***

### Erklärung – Was genau ist eine Bedingung?

Eine Bedingung ist ein Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, der den Flow in zwei Pfade aufteilt:

* *Wahr* – Alle definierten Regeln treffen zu.
* *Falsch* – Mindestens eine Regel trifft nicht zu.

Du definierst die Regeln, indem du jeweils einen *linken Wert*, einen *Operator* und einen *rechten Wert* angibst. Das System prüft zur Laufzeit, ob der Vergleich zutrifft.

{% hint style="info" %}
Wichtig: Jeder der beiden Pfade sollte mit einem Folgeschritt verbunden sein. Wird ein Pfad eingeschlagen, an dessen Ausgang kein Schritt hängt, wird der Nutzer automatisch in den Fallback geleitet.
{% endhint %}

#### Verfügbare Operatoren

<table><thead><tr><th width="243.3687744140625">Operator</th><th>Bedeutung</th></tr></thead><tbody><tr><td><code>gleich (==)</code></td><td>Linker Wert ist identisch mit rechtem Wert</td></tr><tr><td><code>ungleich (!=)</code></td><td>Linker Wert ist nicht identisch mit rechtem Wert</td></tr><tr><td><code>größer als (>)</code></td><td>Linker Wert ist größer als rechter Wert</td></tr><tr><td><code>kleiner als (&#x3C;)</code></td><td>Linker Wert ist kleiner als rechter Wert</td></tr><tr><td><code>größer oder gleich (>=)</code></td><td>Linker Wert ist größer als oder gleich dem rechten Wert</td></tr><tr><td><code>kleiner oder gleich (&#x3C;=)</code></td><td>Linker Wert ist kleiner als oder gleich dem rechten Wert</td></tr><tr><td><code>enthält</code></td><td>Linker Wert enthält den rechten Wert als Teilstring</td></tr><tr><td><code>enthält nicht</code></td><td>Linker Wert enthält den rechten Wert nicht</td></tr><tr><td><code>leer</code></td><td>Linker Wert ist leer (kein rechter Wert nötig)</td></tr><tr><td><code>nicht leer</code></td><td>Linker Wert ist nicht leer (kein rechter Wert nötig)</td></tr><tr><td><code>beginnt mit</code></td><td>Linker Wert beginnt mit dem rechten Wert</td></tr><tr><td><code>endet mit</code></td><td>Linker Wert endet mit dem rechten Wert</td></tr><tr><td><code>entspricht RegEx</code></td><td>Linker Wert stimmt mit dem regulären Ausdruck im rechten Wert überein</td></tr></tbody></table>

Textvergleiche ignorieren die Groß- und Kleinschreibung: `Ja`, `ja` und `JA` gelten als identisch. Einzige Ausnahme ist `entspricht RegEx` – dieser Operator unterscheidet zwischen Groß- und Kleinschreibung. Leerzeichen am Anfang und am Ende der beiden Werte werden vor dem Vergleich entfernt.

***

### Verwendung – Was kann man damit machen?

#### Werte vergleichen

Als Werte kannst du sowohl statische Texte als auch Variablen verwenden. Wenn du in ein Wert-Feld klickst, lässt sich der [Variablen-Picker](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen#variablen-picker) öffnen, über den du alle verfügbaren Variablen auswählen kannst.

**Beispiele:**

* `Angerufene Rufnummer (Konversation)` – `gleich (==)` – `0123456789` → Prüft, ob der <code class="expression">space.vars.TERM\_AI\_AGENT</code> über eine bestimmte Rufnummer kontaktiert wurde.
* `Anzahl Artikel (Benutzerdefiniert - Konversation)` – `größer als (>)` – `3` → Prüft, ob ein Nutzer mehr als 3 Artikel im Warenkorb hat.
* `IBAN (Benutzerdefiniert - Kontakt)` – `nicht leer` → Prüft, ob eine IBAN bereits erfasst wurde.
* `Telefonnummer (Kontakt)` – `beginnt mit` – `+4930` → Prüft, ob der Nutzer aus einem bestimmten Vorwahlbereich anruft.

#### Reguläre Ausdrücke (RegEx)

Diese Funktion richtet sich an Personen mit Erfahrung mit Regulären Ausdrücken.

Mit dem Operator `entspricht RegEx` prüfst du den linken Wert gegen ein Muster, das du in das rechte *Wert*-Feld einträgst. Das ist überall dort sinnvoll, wo `gleich (==)` zu starr und `enthält` zu ungenau ist, beispielsweise bei Kundennummern, Postleitzahlen oder Rufnummern. Es gilt:

* **Ein leeres Muster trifft immer zu:** Bleibt das rechte *Wert*-Feld leer, wertet die Regel als *Wahr*.
* **Lookarounds und Rückwärtsreferenzen sind nicht möglich:** Muster mit `(?=…)`, `(?<=…)` oder `\1` werden abgelehnt.

{% hint style="warning" %}
Ein ungültiges Muster lässt sich nicht speichern. Stammt das Muster dagegen aus einer Variable, kann es beim Speichern nicht geprüft werden – ist es zur Laufzeit ungültig, wertet die Regel als *Falsch*.
{% endhint %}

#### UND- und ODER-Verknüpfungen

Du kannst mehrere Regeln innerhalb einer Bedingung kombinieren:

* *ODER-Bedingung* – fügt eine weitere Vergleichszeile **innerhalb derselben Gruppe** hinzu. Der Pfad *Wahr* wird eingeschlagen, wenn **mindestens eine** der Zeilen in der Gruppe zutrifft.
* *UND-Gruppe hinzufügen* – fügt eine **neue, separate Gruppe** hinzu. Alle Gruppen müssen zutreffen, damit der Pfad *Wahr* eingeschlagen wird.

**Beispiel für eine kombinierte Bedingung:**

> **Gruppe 1 (ODER)**
>
> * `Kanal-Typ (Konversation)` – `gleich (==)` – `Telefon`
> * `Kanal-Typ (Konversation)` – `gleich (==)` – `WhatsApp`
>
> **UND**
>
> **Gruppe 2**
>
> * `Anzahl Artikel (Benutzerdefiniert - Konversation)` – `größer als (>)` – `0`

→ Dieser Pfad wird nur eingeschlagen, wenn der Nutzer per Telefon **oder** WhatsApp kontaktiert hat **und** gleichzeitig mindestens ein Artikel im Warenkorb liegt.

***

### Verwaltung – Erstellung und Bearbeitung

#### Bedingung erstellen

{% stepper %}
{% step %}
Klicke im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> auf *Schritt hinzufügen*.
{% endstep %}

{% step %}
Wähle unter *Flow-Kontrolle* den Eintrag *Bedingung* aus. Sie wird als neuer Schritt in den Flow eingefügt.
{% endstep %}

{% step %}
Klicke auf den Schritt, um das Bearbeitungspanel zu öffnen.
{% endstep %}
{% endstepper %}

#### Bedingung konfigurieren

{% stepper %}
{% step %}
Vergib im Feld *Name* einen aussagekräftigen Namen (z. B. „Prüfe Kanal-Typ").
{% endstep %}

{% step %}
Optional: Füge eine *Beschreibung* hinzu.
{% endstep %}

{% step %}
Trage im linken *Wert*-Feld den zu prüfenden Wert ein – oder wähle eine Variable über den Variablen-Picker.
{% endstep %}

{% step %}
Wähle den passenden *Operator* aus der Dropdown-Liste.
{% endstep %}

{% step %}
Trage im rechten *Wert*-Feld den Vergleichswert ein.
{% endstep %}

{% step %}
Füge bei Bedarf weitere Zeilen über *ODER-Bedingung* oder weitere Gruppen über *UND-Gruppe hinzufügen* hinzu.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

#### Bedingung bearbeiten

Klicke auf den Bedingungsschritt im Flow, um das Bearbeitungspanel erneut zu öffnen. Alle Felder können nachträglich angepasst werden.

#### Bedingung löschen

Klicke im Bearbeitungspanel oben rechts auf das Papierkorb-Symbol.

{% hint style="warning" %}
Beim Löschen eines Bedingungsschritts werden die beiden Ausgangspfade (*Wahr* und *Falsch*) und deren Verbindungen entfernt. Die daran angeschlossenen Schritte bleiben im Flow erhalten. Prüfe vorher, welche Schritte an den Ausgängen hängen.
{% endhint %}

***

### Beispiele

#### Beispiel: Nutzer nach Kanal unterschiedlich begrüßen

Ein <code class="expression">space.vars.TERM\_AI\_AGENT</code> soll Telefon-Anrufer anders begrüßen als Nutzer über andere Kanäle.

{% stepper %}
{% step %}
Füge nach dem Einstieg einen Schritt *Bedingung* ein und benenne ihn z. B. „Prüfe Kanal".
{% endstep %}

{% step %}
Konfiguriere die Regel:

* Linker Wert: `Kanal-Typ (Konversation)` (aus dem Variablen-Picker)
* Operator: `gleich (==)`
* Rechter Wert: `voice`
  {% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}

{% step %}
Verbinde den Ausgang *Wahr* mit einem Block für die Telefon-Begrüßung.
{% endstep %}

{% step %}
Verbinde den Ausgang *Falsch* mit einem Block für die allgemeine Begrüßung.
{% endstep %}
{% endstepper %}

#### Beispiel: Prüfen, ob eine IBAN bereits erfasst wurde

{% stepper %}
{% step %}
Füge eine Bedingung ein und benenne sie „IBAN vorhanden?".
{% endstep %}

{% step %}
Konfiguriere:

* Linker Wert: `IBAN (Benutzerdefiniert - Kontakt)`
* Operator: `nicht leer`
* Rechter Wert: *(leer lassen)*
  {% endstep %}

{% step %}
Verbinde *Wahr* mit dem nächsten Verarbeitungsschritt.
{% endstep %}

{% step %}
Verbinde *Falsch* mit einem Block, der den Nutzer zur Eingabe der IBAN auffordert.
{% endstep %}
{% endstepper %}

#### Beispiel: Kundennummer auf ihr Format prüfen

{% stepper %}
{% step %}
Füge eine Bedingung ein und benenne sie „Format Kundennummer".
{% endstep %}

{% step %}
Konfiguriere:

* Linker Wert: `Kundennummer (Benutzerdefiniert - Kontakt)`
* Operator: `entspricht RegEx`
* Rechter Wert: `^KD[0-9]{8}$`
  {% endstep %}

{% step %}
Verbinde *Wahr* mit dem Schritt, der die Kundennummer weiterverarbeitet.
{% endstep %}

{% step %}
Verbinde *Falsch* mit einem Block, der den Nutzer um eine erneute Eingabe bittet.
{% endstep %}
{% endstepper %}

***

### Best Practices

* **Sprechende Namen vergeben:** Benenne jede Bedingung so, dass ihr Zweck auf einen Blick erkennbar ist – z. B. „Prüfe Artikelanzahl > 3" statt „Bedingung 1". Das erleichtert die spätere Wartung des Flows erheblich.
* **Zahlen als Text vergleichen:** Nutze für Vergleiche mit Zahlen den Datentyp *Text* für deine Variablen. Das System erkennt Zahlenwerte automatisch und wendet numerische Operatoren wie `größer als (>)` korrekt an – auch wenn der Wert als Text gespeichert ist (siehe [Best Practices im Artikel Variablen](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen#best-practices)).
* **Beide Ausgänge immer verbinden:** Verbinde grundsätzlich beide Ausgänge (*Wahr* und *Falsch*) mit einem Folgeschritt.
* **Komplexe Bedingungen schrittweise aufbauen:** Beginne mit der wichtigsten Einzelregel und ergänze ODER- und UND-Gruppen nur bei Bedarf. Zu viele verschachtelte Regeln machen den Flow schwer nachvollziehbar.
* **RegEx gezielt einsetzen:** Ein regulärer Ausdruck ist mächtig, aber schwer zu lesen. Greife erst dazu, wenn `beginnt mit`, `endet mit` oder `enthält` nicht ausreichen – und teste jedes Muster vorab im [Debugging](/epic-ai-platform/epic-ai-platform/ai-agent/debugging).


# Verzögerung

Mit diesem kannst du den Ablauf deines AI Agent zeitgesteuert pausieren. So lassen sich z. B. Follow-up-Nachrichten oder Erinnerungen nach einer definierten Wartezeit automatisch auslösen.

### Wo finde ich den Schritt?

Den Schritt *Verzögerung* findest du im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> in der Kategorie *Flow-Kontrolle* auf der rechten Seite. Ziehe den Schritt per Drag-and-Drop in deinen Flow, um ihn hinzuzufügen.

***

### Erklärung – Was ist die Verzögerung?

Die Verzögerung ist ein Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, der den weiteren Ablauf eines Flows für eine festgelegte Zeitspanne pausiert. Nach Ablauf der eingestellten Zeit wird der nachfolgende Schritt automatisch ausgeführt.

Der Schritt verfügt über einen Ausgang. Dieser wird ausgelöst, sobald die konfigurierte Wartezeit abgelaufen ist. Ein oder mehrere andere Schritte können auf den Verzögerungs-Schritt verweisen.

#### Zeitkonfiguration

Die Wartezeit wird über vier separate Eingabefelder konfiguriert:

* *Sekunden* – Anzahl der Sekunden
* *Minuten* – Anzahl der Minuten
* *Stunden* – Anzahl der Stunden
* *Tage* – Anzahl der Tage

Die Werte können kombiniert werden. Die Gesamtdauer darf maximal **30 Tage** betragen.

Darüber hinaus kannst du dem Schritt einen *Namen* und eine *Beschreibung* geben, um die Übersicht im Flow zu verbessern.

#### Verhalten

Zusätzlich steht die Option *Bei geschlossener Konversation abbrechen* zur Verfügung. Ist sie aktiviert, wird die Ausführung der Verzögerung abgebrochen, sobald die Konversation geschlossen wurde.

#### Genauigkeit der Ausführung

Die Ausführung der Verzögerung ist **nicht sekundengenau**. Das System prüft in einem Zeitfenster von **15 bis 20 Sekunden**, ob eine Verzögerung abgelaufen ist, und führt sie dann aus. Bei zeitkritischen Abläufen sollte dieser Toleranzbereich eingeplant werden.

#### Verhalten während der Wartezeit

Während die Verzögerung läuft, kann der Nutzer weiterhin Nachrichten an den <code class="expression">space.vars.TERM\_AI\_AGENT</code> senden. Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> reagiert in dieser Zeit jedoch **nicht** auf diese Eingaben. Die Verzögerung läuft unabhängig davon weiter und wird nach Ablauf der eingestellten Zeit wie geplant ausgeführt.

#### Einschränkung bei <code class="expression">space.vars.TERM\_VOICE\_AGENT</code>s

{% hint style="danger" %}
Der Schritt *Verzögerung* ist **nicht mit synchronen Anrufen** im <code class="expression">space.vars.TERM\_VOICE\_AGENT</code> kompatibel. Wird der Schritt in einem <code class="expression">space.vars.TERM\_VOICE\_AGENT</code>-Flow verwendet, bricht der Flow ab. Verwende die Verzögerung daher ausschließlich in textbasierten <code class="expression">space.vars.TERM\_AI\_AGENT</code>-Flows.
{% endhint %}

***

### Verwendung – Was kann man mit der Verzögerung machen?

#### Follow-up-Nachrichten senden

Sende dem Nutzer nach einer definierten Wartezeit eine Folgenachricht. Das eignet sich z. B. für eine Zufriedenheitsumfrage nach einem abgeschlossenen Servicegespräch.

Beispiel: Der Nutzer hat ein Anliegen gelöst bekommen. Nach 24 Stunden erhält er automatisch eine Nachricht wie: „Konnten wir dein Anliegen zufriedenstellend klären?"

#### Erinnerungen auslösen

Erinnere den Nutzer nach einer bestimmten Zeit an offene Aufgaben oder nächste Schritte.

Beispiel: Ein Nutzer hat eine Bestellung aufgegeben. Nach 3 Tagen wird automatisch eine Nachricht gesendet: „Deine Bestellung sollte inzwischen bei dir angekommen sein. Ist alles in Ordnung?"

#### Zeitgesteuerte Prozesse steuern

Nutze die Verzögerung, um Abläufe in einem bestimmten Rhythmus auszuführen, z. B. regelmäßige Status-Updates oder zeitverzögerte Weiterleitungen.

***

### Verzögerung einrichten

{% stepper %}
{% step %}
Öffne den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
{% endstep %}

{% step %}
Ziehe den Schritt *Verzögerung* aus der Kategorie *Flow-Kontrolle* auf der rechten Seite in deinen Flow.
{% endstep %}

{% step %}
Klicke auf den eingefügten Schritt, um ihn zu bearbeiten.
{% endstep %}

{% step %}
Vergib optional einen *Namen* und eine *Beschreibung* für den Schritt.
{% endstep %}

{% step %}
Stelle die gewünschte Wartezeit ein, indem du die Felder *Tage*, *Stunden*, *Minuten* und *Sekunden* ausfüllst.
{% endstep %}

{% step %}
Aktiviere bei Bedarf die Option *Bei geschlossener Konversation abbrechen*, damit die Verzögerung abgebrochen wird, falls die Konversation zwischenzeitlich geschlossen wurde.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}

{% step %}
Verbinde den Ausgang des Verzögerungs-Schritts mit dem Schritt, der nach Ablauf der Wartezeit ausgeführt werden soll.
{% endstep %}
{% endstepper %}

***

### Beispiel: Zufriedenheitsumfrage nach 24 Stunden

In diesem Beispiel wird dem Nutzer 24 Stunden nach einer abgeschlossenen Konversation automatisch eine Zufriedenheitsumfrage gesendet.

{% stepper %}
{% step %}
Platziere nach dem letzten Schritt deiner Konversation einen *Verzögerungs-Schritt*.
{% endstep %}

{% step %}
Öffne den Schritt und setze das Feld *Stunden* auf `24`. Alle anderen Felder bleiben auf `0`.
{% endstep %}

{% step %}
Vergib den Namen „Wartezeit Zufriedenheitsumfrage".
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}

{% step %}
Verbinde den Ausgang des Verzögerungs-Schritts mit einem Nachrichtenblock, der die Umfrage enthält: „Konnten wir dein Anliegen zufriedenstellend klären?"
{% endstep %}
{% endstepper %}

Nach Abschluss der Konversation wartet der <code class="expression">space.vars.TERM\_AI\_AGENT</code> nun 24 Stunden und sendet anschließend automatisch die Umfrage-Nachricht.

***

### Best Practices

* **Aussagekräftigen Namen vergeben:** Gib dem Verzögerungs-Schritt einen eindeutigen Namen (z. B. „Wartezeit Follow-up 3 Tage"), damit der Flow übersichtlich bleibt.
* **Toleranzbereich einplanen:** Da die Ausführung in einem Fenster von 15 bis 20 Sekunden geprüft wird, solltest du keine sekundengenaue Ausführung erwarten. Für Anwendungsfälle, bei denen es auf Stunden oder Tage ankommt, ist das in der Regel kein Problem.
* **Nicht im** <code class="expression">space.vars.TERM\_VOICE\_AGENT</code> **verwenden:** Setze den Verzögerungs-Schritt ausschließlich in textbasierten Flows ein. Im <code class="expression">space.vars.TERM\_VOICE\_AGENT</code> führt er zum Abbruch des Flows.
* **Nutzerverhalten einkalkulieren:** Bedenke, dass der Nutzer während der Wartezeit Nachrichten senden kann, ohne dass der <code class="expression">space.vars.TERM\_AI\_AGENT</code> darauf reagiert. Plane deinen Flow so, dass dieses Verhalten für den Nutzer nicht irritierend wirkt.
* **Maximale Dauer beachten:** Die Gesamtdauer einer Verzögerung darf 30 Tage nicht überschreiten. Plane längere Zeiträume gegebenenfalls über mehrere aufeinanderfolgende Verzögerungen.


# A/B-Split

Der A/B-Split teilt Nutzer zufällig einer von zwei Varianten (A oder B) zu. So lassen sich unterschiedliche Gesprächsverläufe, Nachrichten oder Logiken gezielt testen und vergleichen.

### Wo finde ich den A/B-Split?

Den A/B-Split-Schritt fügst du direkt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> hinzu: über *Schritt hinzufügen* → Kategorie *Flow-Kontrolle* → *A/B-Split*.

***

### Erklärung – Was genau ist der A/B-Split?

Der A/B-Split ist ein Flow-Kontroll-Schritt, der den Gesprächsfluss auf zwei Ausgänge – *Ausgang A* und *Ausgang B* – aufteilt. Jeder Nutzer wird beim Durchlaufen des Schritts zufällig einem der beiden Ausgänge zugewiesen.

Die Verteilung der Nutzer auf die beiden Ausgänge ist frei konfigurierbar. Die Summe beider Ausgänge muss immer 100 % ergeben (z. B. 50 % / 50 % oder 70 % / 30 %).

#### Wiederholter Durchlauf

Du kannst festlegen, wie ein Nutzer beim **mehrmaligen Durchlaufen** desselben A/B-Split-Schritts behandelt wird:

* *Nutzer an dieselbe Variante weiterleiten* – Der Nutzer wird bei jedem Durchlauf an denselben Ausgang weitergeleitet, dem er beim ersten Durchlauf zugewiesen wurde. Das sorgt für ein konsistentes Erlebnis innerhalb eines Tests.
* *Bei jedem Aufruf neu verteilen* – Bei jedem Durchlauf des Schritts wird der Nutzer neu und unabhängig einer Variante zugewiesen.

{% hint style="warning" %}
Um unendliche Schleifen zu verhindern, ist die maximale Anzahl an Ausführungen innerhalb einer sich wiederholenden Schrittfolge auf 5 begrenzt.
{% endhint %}

***

### Verwendung – Was kann man mit dem A/B-Split machen?

Der A/B-Split eignet sich überall dort, wo du zwei verschiedene Ansätze miteinander vergleichen möchtest. Typische Anwendungsfälle:

* **Nachrichten testen:** Vergleiche zwei unterschiedliche Begrüßungstexte oder Call-to-Actions, um herauszufinden, welcher besser ankommt.
* **Gesprächsflüsse vergleichen:** Teste zwei unterschiedliche Dialogstrukturen, z. B. eine kurze vs. eine ausführliche Qualifizierung.
* **Angebote oder Inhalte variieren:** Zeige verschiedenen Nutzergruppen unterschiedliche Produktempfehlungen oder Hilfetexte.
* **Technische Logiken prüfen:** Leite Nutzer auf unterschiedliche API-Aufrufe oder App-Module, um verschiedene Integrationen zu testen.

#### Schritt im Flow einbinden

{% stepper %}
{% step %}
Öffne den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> und navigiere zu der Stelle im Flow, an der die Aufteilung erfolgen soll.
{% endstep %}

{% step %}
Klicke auf *Schritt hinzufügen* und wähle unter *Flow-Kontrolle* den Eintrag *A/B-Split* aus.
{% endstep %}

{% step %}
Der Schritt wird in den Flow eingefügt und hat zwei Ausgänge: *Ausgang A* und *Ausgang B*.
{% endstep %}

{% step %}
Verbinde jeden Ausgang mit dem jeweils gewünschten nächsten Schritt oder Block im Flow.
{% endstep %}
{% endstepper %}

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

Erstellung und Bearbeitung des A/B-Splits erfolgen direkt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.

#### A/B-Split erstellen

{% stepper %}
{% step %}
Klicke im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> auf *Schritt hinzufügen*.
{% endstep %}

{% step %}
Wähle unter *Flow-Kontrolle* den Eintrag *A/B-Split* aus.
{% endstep %}

{% step %}
Der Schritt wird sofort in den Flow eingefügt und kann anschließend konfiguriert werden.
{% endstep %}
{% endstepper %}

#### A/B-Split bearbeiten

Klicke auf den A/B-Split-Schritt im Flow, um das Bearbeitungspanel zu öffnen. Dort kannst du folgende Einstellungen vornehmen:

* *Name* – Vergib einen aussagekräftigen Namen für den Schritt, z. B. „Test Begrüßungsnachricht". Der Name hilft dabei, den Schritt im Flow schnell zu identifizieren.
* *Beschreibung (optional)* – Füge eine kurze Beschreibung hinzu, um den Zweck des Tests zu dokumentieren.
* *Ausgang A / Ausgang B* – Lege die prozentuale Verteilung fest. Die Summe beider Werte muss 100 % ergeben.
* *Wiederholter Durchlauf* – Wähle, ob Nutzer bei einem erneuten Durchlauf an dieselbe Variante weitergeleitet werden sollen oder jedes Mal neu verteilt werden.

Bestätige deine Einstellungen mit *Ok*.

#### A/B-Split löschen

Öffne das Bearbeitungspanel des A/B-Split-Schritts und klicke oben rechts auf das Papierkorb-Symbol.

{% hint style="warning" %}
Das Löschen des A/B-Split-Schritts entfernt ihn aus dem Flow. Alle Verbindungen, die von *Ausgang A* oder *Ausgang B* zu nachfolgenden Schritten führen, werden dabei getrennt. Überprüfe nach dem Löschen den Flow auf unterbrochene Verbindungen oder Logiklücken.
{% endhint %}

***

### Beispiel: Zwei Begrüßungsvarianten testen

Du möchtest testen, ob eine persönliche Begrüßung mit dem Vornamen des Nutzers zu einer höheren Interaktionsrate führt als eine generische Begrüßung.

**Ziel:** 50 % der Nutzer erhalten Variante A (generisch), 50 % erhalten Variante B (personalisiert).

{% stepper %}
{% step %}
Füge im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> nach dem Einstiegs-Block einen *A/B-Split*-Schritt hinzu.
{% endstep %}

{% step %}
Öffne das Bearbeitungspanel und vergib den Namen `Test Begrüßung`.
{% endstep %}

{% step %}
Setze *Ausgang A* auf `50 %` und *Ausgang B* auf `50 %`.
{% endstep %}

{% step %}
Verbinde *Ausgang A* mit einem Block, der folgende Nachricht enthält: `Hallo! Wie kann ich dir helfen?`
{% endstep %}

{% step %}
Verbinde *Ausgang B* mit einem Block, der folgende Nachricht enthält: `Hallo {{Vorname (Kontakt)}}! Wie kann ich dir helfen?`
{% endstep %}

{% step %}
Führe beide Ausgänge anschließend im gemeinsamen Flow zusammen.
{% endstep %}
{% endstepper %}

***

### Best Practices

* **Nur eine Variable pro Test:** Teste immer nur eine Variable gleichzeitig. Wenn du sowohl den Text als auch die Reihenfolge von Schritten gleichzeitig veränderst, lässt sich später nicht mehr feststellen, welche Änderung für einen Unterschied verantwortlich war.
* **Sprechende Namen vergeben:** Vergib dem A/B-Split-Schritt einen sprechenden Namen (z. B. `Test CTA-Button` oder `Test Begrüßungstext`). Das erleichtert die Übersicht, besonders wenn mehrere A/B-Tests im selben Flow aktiv sind.
* **Modus bewusst wählen:** Nutze *Nutzer an dieselbe Variante weiterleiten*, wenn du sicherstellen möchtest, dass Nutzer innerhalb eines Tests konsistent dieselbe Erfahrung machen. *Bei jedem Aufruf neu verteilen* eignet sich eher für Szenarien, bei denen eine zufällige Verteilung bei jedem Durchlauf gewünscht ist – z. B. zur Variation von Inhalten ohne feste Nutzerzuordnung.
* **Abgeschlossene Tests aufräumen:** Überprüfe nach einem Test die Ergebnisse und entferne den A/B-Split-Schritt aus dem Flow, sobald eine Variante klar bevorzugt wird. So bleibt der Flow übersichtlich und frei von nicht mehr benötigten Verzweigungen.


# Ende

Mit dem Ende-Schritt kann ein Flow im Flow Builder beendet und die Konversation optional geschlossen werden. Es gibt die Möglichkeit, zusätzlich einen Wert für statistische Auswertungen mitzugeben.

### Wo finde ich den Schritt?

Den Ende-Schritt fügst du direkt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> über *Schritt hinzufügen → Flow-Kontrolle → Ende* hinzu.

***

### Erklärung – Was ist der Ende-Schritt?

Der Ende-Schritt ist ein Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, der den Flow an dieser Stelle beendet. Sobald der <code class="expression">space.vars.TERM\_AI\_AGENT</code> das Ende erreicht, verlässt er die Konversation. Optional wird die Konversation dabei geschlossen. Ein Flow kann **mehrere Ende-Schritte** enthalten.

#### Aufbau des Schritts

* *Name* – Gibt dem Schritt einen individuellen Namen, der im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> sichtbar ist – z. B. `Erfolgreich abgeschlossen: Reklamation`.
* *Payload* – ein einfaches Texteingabefeld. Der eingetragene Wert wird geloggt, sobald der <code class="expression">space.vars.TERM\_AI\_AGENT</code> den Schritt erreicht, und steht für spätere Auswertungen in den [Rohdaten](/epic-ai-platform/epic-ai-platform/ai-agent/statistiken/export-and-datenmodell) zur Verfügung.
* *Konversation schließen* – die Option ist standardmäßig aktiviert.
  * *Aktiviert:* Der Flow wird beendet, die Konversation wird beim Erreichen des Schritts geschlossen.
  * *Deaktiviert:* Der Flow wird beendet, die Konversation bleibt offen. Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> gibt sie frei, ohne sie zu schließen.

#### Verhalten bei erneuter Nutzereingabe

Sendet ein Nutzer nach Erreichen des Ende-Schritts eine weitere Nachricht, landet diese im [Fallback](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flows#der-standard-flow-einstieg-and-fallback). Dieses Verhalten gilt kanalübergreifend und sollte beim Flow-Design berücksichtigt werden.

#### Kanalspezifisches Verhalten: Voice

Der Ende-Schritt schließt die Konversation, beendet das Telefonat jedoch nicht. Um ein Telefonat vom <code class="expression">space.vars.TERM\_AI\_AGENT</code> aus zu beenden, nutze das Element [Gespräch beenden](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-voice-agent#gesprach-beenden); um es an eine andere Rufnummer zu übergeben, den Schritt [Anruf weiterleiten](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/anruf-weiterleiten). Wenn die Checkbox *Konversation schließen* deaktiviert ist, eignet sich der Schritt im Voice-Bereich zum reinen Tracken innerhalb eines Voice-Flows.

***

### Ende-Schritt einrichten

{% stepper %}
{% step %}
Öffne den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> des gewünschten <code class="expression">space.vars.TERM\_AI\_AGENT</code>s.
{% endstep %}

{% step %}
Öffne das Seiten-Panel *Schritt hinzufügen*, wähle in der Kategorie *Flow-Kontrolle* den Eintrag *Ende* aus und ziehe ihn auf den Canvas.
{% endstep %}

{% step %}
Klicke auf den eingefügten Schritt, um ihn zu bearbeiten.
{% endstep %}

{% step %}
Vergib einen aussagekräftigen *Namen* (z. B. `Erfolgreich abgeschlossen: Reklamation`).
{% endstep %}

{% step %}
Trage optional einen *Payload*-Wert ein (z. B. `ABSCHLUSS_ERFOLGREICH`).
{% endstep %}

{% step %}
Lege fest, ob die *Konversation-schließen*-Option aktiv sein soll.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

***

### Beispiel: Fallback nach Flowende steuern

In diesem Beispiel wird sichergestellt, dass Nutzer, die nach Abschluss des Flows erneut schreiben, eine sinnvolle Rückmeldung erhalten.

{% stepper %}
{% step %}
Füge im letzten Block vor dem Ende-Schritt ein Element [Variable festlegen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen#variable-festlegen) ein.
{% endstep %}

{% step %}
Setze eine benutzerdefinierte Variable `flow_beendet (Benutzerdefiniert - Konversation)` auf den Wert `true`.
{% endstep %}

{% step %}
Konfiguriere den Ende-Schritt mit dem Payload `ABSCHLUSS_ERFOLGREICH` und aktivierter Checkbox *Konversation schließen*.
{% endstep %}

{% step %}
Navigiere zum *Fallback*-Schritt und füge eine [Bedingung](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/bedingung) ein: Wenn `flow_beendet (Benutzerdefiniert - Konversation)` gleich (==) `true`.
{% endstep %}

{% step %}
Hinterlege für diesen Pfad eine passende Antwort, etwa: „Hast du ein neues Anliegen oder möchtest du einen Mitarbeiter kontaktieren?".
{% endstep %}
{% endstepper %}

Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> gibt Nutzern, die nach Flow-Ende erneut schreiben, nun eine klare Rückmeldung.

***

### Best Practices

* **Aussagekräftige Namen vergeben:** Gib jedem Ende-Schritt einen eindeutigen Namen, der den Abschlussgrund beschreibt. Das erleichtert die Orientierung im Flow, besonders wenn mehrere Ende-Schritte vorhanden sind.
* **Payload für Auswertungen nutzen:** Vergib sprechende Payload-Werte wie `ABSCHLUSS_ERFOLGREICH`. So lassen sich die Logs später einfach filtern und einzelne Abschlusspfade auswerten.
* **Mehrere Ende-Schritte für unterschiedliche Pfade:** Lege für jede mögliche Abschluss-Situation einen eigenen Ende-Schritt an. Das macht den Flow übersichtlicher und ermöglicht granularere Statistiken.
* **Fallback-Verhalten einplanen:** Nutzereingaben nach dem Ende-Schritt landen immer im Fallback. Plane diesen Fall bewusst ein; inklusive einer klaren Rückmeldung oder einer Weiterleitung.
* **Voice-Besonderheit beachten:** Im Voice-Kanal beendet der Ende-Schritt die Konversation, aber nicht das Telefonat. Beende oder übergib das Telefonat daher, bevor der Ende-Schritt erreicht wird. Zum reinen Tracken ohne Konversationsabschluss kann die Checkbox *Konversation schließen* deaktiviert werden.


# Gen AI – Entitätserkennung

Dieser Schritt dient der Identifikation und Normalisierung spezifischer Datenelemente nach einer Benutzereingabe.

{% hint style="info" %}
*Entitätserkennung* gehört zusammen mit *Prompt ausführen* und *Gespräch führen* zur Gruppe der dynamischen <code class="expression">space.vars.TERM\_AI</code>-Schritte.

Bei allen <code class="expression">space.vars.TERM\_AI</code>-Schritten gilt: <code class="expression">space.vars.TERM\_AI</code>-Modelle können Fehler machen.
{% endhint %}

Der Schritt *Entitätserkennung* ist ein promptgesteuerter <code class="expression">space.vars.TERM\_AI</code>-Schritt, der die klassische [Entitätserkennung](/epic-ai-platform/epic-ai-platform/ai-agent/build/entitaten) mit der Flexibilität von Sprachmodellen kombiniert. Er bringt unstrukturierte oder umgangssprachliche Äußerungen – insbesondere bei Spracheingaben – in ein exakt definiertes Zielformat und speichert das Ergebnis in einer benutzerdefinierten Variable.

***

### Aufbau des Schritts

Der Schritt ist in verschiedene Bereiche unterteilt, die eine präzise Steuerung der <code class="expression">space.vars.TERM\_AI</code> ermöglichen.

#### Kern-Komponenten

* *Name und Beschreibung* – interne Bezeichnung zur Organisation im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
* *Beispiele* – bestehend aus Ausgangswerten (Nutzereingaben) und den zugehörigen Ergebnissen. Über die Schaltfläche *Beispiel hinzufügen* kannst du weitere Einträge ergänzen.
* *Prompt-Eingabe* – ein [Prompt-Editor](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen/prompt-editor) für die Hauptinstruktionen an die <code class="expression">space.vars.TERM\_AI</code>.
* *Ausgabe-Variable* – [benutzerdefinierte Variable](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen), in der das Ergebnis gespeichert wird.
* *Modelleinstellungen* – Feineinstellungen des Modells; Details im Artikel [Modelleinstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen/modelleinstellungen).

***

### Funktionsweise und Logik

Die <code class="expression">space.vars.TERM\_AI</code>-gestützte Entitätserkennung interpretiert ausschließlich die letzte Benutzereingabe. Der Schritt hat keinen Zugriff auf den Gesprächskontext.

#### Instruktionen (Prompt)

Im Prompt definierst du das Ziel der <code class="expression">space.vars.TERM\_AI</code> sowie technische Anforderungen an das Ergebnis.

**Beispiel – Erkennung einer Bestellnummer:** „Die Bestellnummer besteht immer aus ‚NR' gefolgt von 4 Ziffern. Sie muss immer mit NR beginnen. Falls nicht, hänge ein NR davor."

#### Beispiel-Mapping

Anhand der Ausgangswerte und Ergebnisse gibst du der <code class="expression">space.vars.TERM\_AI</code> gezielt Beispiele mit, aus denen sie das gewünschte Zielformat lernt.

Wird das Ergebnisfeld leer gelassen, setzt das System automatisch einen Slash (`/`) als Zielwert für dieses Beispiel.

**Beispiel – Bestellnummer normalisieren:**

| Ausgangswert (Nutzereingabe) | Ergebnis |
| ---------------------------- | -------- |
| NR1354                       | NR1354   |
| Nummer drei vier fünf zwo    | NR3452   |
| Nummer zwanzig fünfzehn      | NR2015   |
| Ja, das ist die NR-1256      | NR1256   |

#### Ergebnis-Logik

Kann die <code class="expression">space.vars.TERM\_AI</code> basierend auf deinem Prompt und den bereitgestellten Beispielen kein Ergebnis ermitteln, bleibt die Ausgabe-Variable leer.

#### Nutzung von Variablen

Variablen können im Haupt-Prompt verwendet und referenziert werden. Das Setzen und Füllen von Variablen direkt im Prompt ist allerdings nicht möglich. Das Ergebnis wird ausschließlich in der konfigurierten Ausgabe-Variable gespeichert.

***

### Verwendung – Anwendungsfälle

#### Normalisierung von Spracheingaben

Besonders bei <code class="expression">space.vars.TERM\_VOICE\_AGENT</code>s werden Nummern oft ungleichmäßig diktiert. Die Entitätserkennung kann diese Eingaben normalisieren und in einem einheitlichen Format speichern.

**Beispiel:** Ein Nutzer diktiert „Nummer drei vier fünf zwo". Die Entitätserkennung erkennt dies als Bestellnummer und gibt den Wert „NR3452" in die Ausgabe-Variable zurück.

#### Validierung und Formatierung von Nutzerdaten

Eingaben wie Datumsangaben, IBANs oder Kundennummern lassen sich in ein einheitliches Format bringen, bevor sie an Schnittstellen oder App-Module übergeben werden.

#### Klassifizierung einfacher Eingaben

Für einfache Zuordnungen – z. B. ob eine Eingabe eine Bestätigung oder Ablehnung enthält – kann die Entitätserkennung als leichtgewichtige Alternative zum Schritt *Prompt ausführen* dienen.

***

### Best Practices

* **Beispieldiversität:** Verwende möglichst diverse Beispiele. Die <code class="expression">space.vars.TERM\_AI</code> lernt so am effektivsten das Zielformat. Decke verschiedene Schreibweisen, Formate und typische Fehleingaben ab.
* **Invalide Ergebnisse abfangen:** Baue nach diesem Schritt eine Bedingung im Flow ein. Prüfe dort gezielt, ob die Ausgabe-Variable leer ist oder einen `/` enthält, um den Nutzer gegebenenfalls um eine erneute Eingabe zu bitten.
* **Isolierte Betrachtung beachten:** Da der Schritt keinen Zugriff auf den Gesprächsverlauf hat, stelle sicher, dass die benötigte Information (z. B. die Rechnungsnummer) unmittelbar vor diesem Schritt vom Nutzer abgefragt wurde.
* **Testen:** Experimentiere kontinuierlich im Debug-Chat. Der <code class="expression">space.vars.TERM\_AI</code>-Output variiert – robuste Prompts und Beispiele benötigen mehrere Testläufe.


# Gen AI – Prompt ausführen

Der Schritt „Prompt ausführen" ist ein promptgesteuerter AI-Schritt, der auf die Aufbereitung und Verarbeitung von Informationen ausgelegt ist.

{% hint style="info" %}
*Prompt ausführen* gehört zusammen mit *Gespräch führen* und *Entitätserkennung* zur Gruppe der dynamischen <code class="expression">space.vars.TERM\_AI</code>-Schritte.

Bei allen <code class="expression">space.vars.TERM\_AI</code>-Schritten gilt: <code class="expression">space.vars.TERM\_AI</code>-Modelle können Fehler machen.
{% endhint %}

Der Schritt *Prompt ausführen* ist ein promptgesteuerter <code class="expression">space.vars.TERM\_AI</code>-Schritt, der auf die Aufbereitung und Verarbeitung von Informationen ausgelegt ist. Er eignet sich zum Beispiel für Zusammenfassungen, Klassifizierungen oder Daten-Transformationen. Das Prompt-Ergebnis wird in einer benutzerdefinierten Variable gespeichert.

Im Gegensatz zum Schritt [Gespräch führen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-gesprach-fuhren) ist dieser Baustein nicht auf die interaktive Dialogführung ausgelegt, sondern auf die gezielte Verarbeitung von Daten.

***

### Aufbau des Schritts

Der Schritt ist in verschiedene Bereiche unterteilt, die eine präzise Steuerung der <code class="expression">space.vars.TERM\_AI</code> ermöglichen.

#### Kern-Komponenten

* *Name und Beschreibung* – interne Bezeichnung zur Organisation im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
* *Prompt-Eingabe* – ein [Prompt-Editor](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen/prompt-editor) für die Hauptinstruktionen an die <code class="expression">space.vars.TERM\_AI</code>.
* *Ausgabe-Variable* – [benutzerdefinierte Variable](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen), in der das Prompt-Ergebnis gespeichert wird.

#### Einstellungen

Mit den Einstellungen definierst du die Rahmenbedingungen der <code class="expression">space.vars.TERM\_AI</code>-Interaktion.

* *Gesprächsverlauf als Kontext nutzen* – legt fest, wie viel vom bisherigen Gesprächsverlauf der <code class="expression">space.vars.TERM\_AI</code> als Kontext übergeben wird. Es stehen drei Optionen zur Auswahl:
  * *Kein Gesprächsverlauf (Standard)* – es wird kein Gesprächsverlauf an die <code class="expression">space.vars.TERM\_AI</code> übergeben. Der Prompt arbeitet ausschließlich mit den direkt im Prompt enthaltenen Informationen und Variablen. Diese Option eignet sich für die meisten Anwendungsfälle, bei denen der Prompt unabhängig vom Gesprächsverlauf Daten verarbeiten soll – z. B. bei Daten-Transformationen oder Klassifizierungen auf Basis von Variablenwerten.
  * *Gesamter Gesprächsverlauf* – der komplette bisherige Gesprächsverlauf – also alle Benutzereingaben und <code class="expression">space.vars.TERM\_AI\_AGENT</code>-Nachrichten – wird der <code class="expression">space.vars.TERM\_AI</code> als Kontext übergeben. Verwende diese Option, wenn der Prompt Informationen aus dem gesamten Gespräch benötigt, z. B. für eine Zusammenfassung am Ende eines Dialogs.
  * *Benutzerdefiniert* – hier kannst du in einem zusätzlichen Eingabefeld eine konkrete Anzahl an Benutzereingaben festlegen, die als Kontext berücksichtigt werden sollen. Dabei werden auch alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>-Nachrichten, die zwischen diesen Benutzereingaben liegen, mit einbezogen.
* *Notizen berücksichtigen* – bezieht interne Notizen in den an die <code class="expression">space.vars.TERM\_AI</code> übergebenen Gesprächsverlauf ein.
* *Zugriff auf Wissen aktivieren (RAG)* – erlaubt der <code class="expression">space.vars.TERM\_AI</code> den Zugriff auf im Bereich *Wissen* hinterlegte Dokumente und Informationen.
  * *Vergangene Nutzereingaben RAG* – bestimmt die Anzahl der vergangenen Nutzereingaben, die beim Zugriff auf hinterlegtes [Wissen](/epic-ai-platform/epic-ai-platform/ai-agent/build/wissen) berücksichtigt werden sollen.
  * *Wissensgruppen* – standardmäßig wird Zugriff auf das gesamte hinterlegte Wissen gewährt. Um diesen einzuschränken, kannst du gezielt [Wissensgruppen](/epic-ai-platform/epic-ai-platform/ai-agent/build/wissen#wissensgruppen) auswählen.
* *Modelleinstellungen* – Feineinstellungen des Modells; Details im Artikel [Modelleinstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen/modelleinstellungen).

***

### Funktionsweise und Logik

#### RAG-Suche (Wissenszugriff)

Die Suche im hinterlegten Wissen erfolgt automatisiert. Sie kann nicht explizit über den Prompt gestartet oder gelenkt werden. Im Prompt kannst du jedoch festlegen, wie die gefundenen Informationen verarbeitet und wie ausführlich sie ausgegeben werden sollen.

#### Nutzung von Variablen

Variablen können im Haupt-Prompt verwendet und referenziert werden. Das Setzen und Füllen von Variablen direkt im Prompt ist allerdings nicht möglich. Das Ergebnis des Prompts wird ausschließlich in der konfigurierten Ausgabe-Variable gespeichert.

***

### Verwendung – Anwendungsfälle und Beispiele

*Prompt ausführen* wird primär für die Strukturierung unstrukturierter Daten eingesetzt. Im Folgenden findest du die gängigsten Anwendungsfälle mit konkreten Beispielen.

#### Zusammenfassungen

Komprimiere Dialoge oder Informationen nach einem bestimmten Schema.

**Beispiel-Prompt:** „Fasse das Gespräch in zwei bis drei kurzen Sätzen zusammen. Bereite dabei die Informationen wie folgt auf: Beschreibung (kurze Beschreibung des Anliegens), Name (Name des Anrufenden) und Telefonnummer (`{{Telefonnummer (Kontakt)}}`). Speichere das Ergebnis in der Variable `{{Zusammenfassung (Benutzerdefiniert - Konversation)}}`."

#### Klassifizierungen

Kategorisiere Nutzeranliegen auf Basis von Freitext (Intent-Bestimmung).

**Beispiel-Prompt:** „Bestimme, welchem der drei Anliegen die Anfrage zuzuordnen ist. Zur Auswahl stehen: Reklamation, Produktfrage oder Produktberatung. Speichere das Ergebnis in der Variable `{{Anliegen (Benutzerdefiniert - Konversation)}}`."

Setze nach dem Schritt eine [Bedingung](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/bedingung) auf die gefüllte Ausgabe-Variable, um basierend auf dem Klassifizierungsergebnis unterschiedliche Flow-Pfade einzuleiten.

#### Daten-Transformation

Formatiere Variablenwerte um – zum Beispiel zur Normalisierung von Datumsangaben vor der Übergabe an eine Schnittstelle.

**Beispiel-Prompt:** „Du erhältst eine Datumsangabe als Input. Deine Aufgabe ist es, dieses Datum ausschließlich im Format JJJJ-MM-TT auszugeben. Speichere das Ergebnis in der Variable `{{Datum_formatiert (Benutzerdefiniert - Konversation)}}`."

{% hint style="success" %}
Bringe Daten mit Hilfe von *Prompt ausführen* in ein korrektes Format, bevor sie via Schnittstelle übertragen werden. So stellst du sicher, dass die Daten kompatibel sind.
{% endhint %}

***

### Best Practices

* **Regeln definieren:** Definiere in allen Anwendungsfällen zusätzliche Regeln für die Aufgabenerfüllung. Je präziser die Anweisungen, desto zuverlässiger das Ergebnis.
* **Beispiele mitgeben:** Das Mitgeben diverser Beispiele im Prompt (Few-Shot-Prompting) liefert konsistentere und zuverlässigere Ergebnisse.
* **Bedingungen nachschalten:** Setze nach dem Schritt Bedingungen, um auf Basis der gefüllten Ausgabe-Variable unterschiedliche Flow-Pfade einzuleiten – z. B. nach einer Klassifizierung.
* **Daten vor Schnittstellenübergabe formatieren:** Nutze *Prompt ausführen* gezielt, um Daten in das richtige Format zu bringen, bevor sie über App-Module oder API-Aufrufe weitergegeben werden.
* **Begriffe konsistent verwenden:** Nutze im Prompt immer dieselben Begriffe für dieselben Konzepte. Vermeide Synonyme, die zu Verwirrung führen könnten.
* **Testen:** Experimentiere kontinuierlich im Debug-Chat. Der <code class="expression">space.vars.TERM\_AI</code>-Output variiert – robuste Prompts benötigen mehrere Testläufe.


# Gen AI – Gespräch führen

Der Schritt Gespräch führen ist ein promptgesteuerter AI-Baustein, der dynamische, natürliche Dialoge ermöglicht.

{% hint style="info" %}
*Gespräch führen* gehört zusammen mit *Prompt ausführen* und *Entitätserkennung* zur Gruppe der dynamischen <code class="expression">space.vars.TERM\_AI</code>-Schritte.

Bei allen <code class="expression">space.vars.TERM\_AI</code>-Schritten gilt: <code class="expression">space.vars.TERM\_AI</code>-Modelle können Fehler machen.
{% endhint %}

Der Schritt *Gespräch führen* ist ein promptgesteuerter <code class="expression">space.vars.TERM\_AI</code>-Schritt, der das Führen dynamischer Gespräche ermöglicht. Er eignet sich für komplexe Konversationen mit klaren Zielen – im Gegensatz zu statischen Block-Schritten reagiert er flexibel auf die Nutzereingabe und kann dabei gezielt auf hinterlegtes Wissen sowie den Gesprächskontext zugreifen.

***

### Aufbau des Schritts

Der Schritt ist in verschiedene Bereiche unterteilt, die eine präzise Steuerung der <code class="expression">space.vars.TERM\_AI</code> ermöglichen.

#### Kern-Komponenten

* *Name und Beschreibung* – interne Bezeichnung zur Organisation im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
* *Prompt-Eingabe* – ein [Prompt-Editor](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen/prompt-editor) für die Hauptinstruktionen an die <code class="expression">space.vars.TERM\_AI</code>.
* *Ausgänge* – Bedingungen, die erfüllt sein müssen, damit der <code class="expression">space.vars.TERM\_AI\_AGENT</code> den Schritt verlässt. Sie können mit nachfolgenden Schritten verbunden werden, um den Flow fortzusetzen.
  * *Standard-Ausgang* – greift automatisch, sobald die maximale Anzahl an Interaktionen erreicht ist. Greift auch, wenn der Schritt eine Ausführungszeit von 10 Sekunden überschreitet.
  * *Selbstdefinierte Ausgänge* – ermöglichen das Verlassen des Schritts basierend auf eigener Logik. Jeder Ausgang erhält einen Namen und eine spezifische Ausgangsbedingung (eigener Prompt).
* *Tool-Calling* – ermöglicht der <code class="expression">space.vars.TERM\_AI</code> den Aufruf von [Apps](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/apps-appstore#apps-im-flow-builder-verwenden), um während des Gesprächs Aktionen auszuführen.

#### Einstellungen

Mit den Einstellungen definierst du die Rahmenbedingungen der <code class="expression">space.vars.TERM\_AI</code>-Interaktion.

* *Verzögerung aktivieren* – die <code class="expression">space.vars.TERM\_AI</code> wartet mit dem Ausspielen der Antwort, um eine natürlichere Interaktion zu simulieren. Dabei wird ein zufälliger Wert zwischen einem festgelegten Minimal- und Maximalwert (in Sekunden) gewählt.
* *Gesprächsverlauf als Kontext nutzen* – legt fest, wie viel vom bisherigen Gesprächsverlauf der <code class="expression">space.vars.TERM\_AI</code> als Kontext übergeben wird. Es stehen drei Optionen zur Auswahl:
  * *Letzte Eingabe (Standard)* – es wird ausschließlich die letzte Benutzereingabe an die <code class="expression">space.vars.TERM\_AI</code> übergeben. Nachrichten des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s, die zwischen den Benutzereingaben liegen, werden dabei nicht berücksichtigt. Diese Option eignet sich für die meisten Anwendungsfälle, bei denen der Prompt nur auf eine einzelne Eingabe reagieren soll.
  * *Gesamter Gesprächsverlauf* – der komplette bisherige Gesprächsverlauf – also alle Benutzereingaben und <code class="expression">space.vars.TERM\_AI\_AGENT</code>-Nachrichten – wird der <code class="expression">space.vars.TERM\_AI</code> als Kontext übergeben. Verwende diese Option, wenn der Prompt Informationen aus dem gesamten Gespräch benötigt, z. B. für eine Zusammenfassung am Ende eines Dialogs.
  * *Benutzerdefiniert* – hier kannst du in einem zusätzlichen Eingabefeld eine konkrete Anzahl an Benutzereingaben festlegen, die als Kontext berücksichtigt werden sollen. Dabei werden auch alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>-Nachrichten, die zwischen diesen Benutzereingaben liegen, mit einbezogen. Bei einem Wert von `0` wird kein Gesprächsverlauf übergeben.
* *Zugriff auf Wissen aktivieren (RAG)* – erlaubt der <code class="expression">space.vars.TERM\_AI</code> den Zugriff auf im Bereich *Wissen* hinterlegte Dokumente und Informationen.
  * *Vergangene Nutzereingaben RAG* – bestimmt die Anzahl der vergangenen Nutzereingaben, die beim Zugriff auf hinterlegtes [Wissen](/epic-ai-platform/epic-ai-platform/ai-agent/build/wissen) berücksichtigt werden sollen.
  * *Wissensgruppen* – standardmäßig wird Zugriff auf das gesamte hinterlegte Wissen gewährt. Um diesen einzuschränken, kannst du gezielt [Wissensgruppen](/epic-ai-platform/epic-ai-platform/ai-agent/build/wissen#wissensgruppen) auswählen.
* *Maximale Nutzereingaben* – begrenzt, wie oft der Nutzer innerhalb dieses Schritts antworten darf, bevor der Standard-Ausgang gewählt wird.
* *Modelleinstellungen* – Feineinstellungen des Modells; Details im Artikel [Modelleinstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen/modelleinstellungen).

{% hint style="info" %}
Der Unterschied zwischen *Letzte Eingabe (Standard)* und *Benutzerdefiniert* mit dem Wert `1`: Bei *Letzte Eingabe* wird nur die reine Benutzereingabe übergeben – ohne Nachrichten des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s dazwischen. Bei *Benutzerdefiniert = 1* wird die letzte Benutzereingabe inklusive aller dazwischenliegenden <code class="expression">space.vars.TERM\_AI\_AGENT</code>-Nachrichten übergeben.
{% endhint %}

***

### Funktionsweise und Logik

#### Verhältnis von Haupt-Prompt und Ausgang

Der Haupt-Prompt und die Ausgangs-Prompts agieren isoliert voneinander. Das bedeutet:

* Der Haupt-Prompt kann einen Ausgang nicht aktiv aufrufen.
* Der Ausgangs-Prompt sieht lediglich den bisherigen Gesprächsverlauf und bewertet, ob die Bedingung für einen Ausstieg erfüllt ist.
* Ist ein Ausgang nicht mit einem nachfolgenden Schritt verbunden, wird automatisch der [Fallback](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flows#der-standard-flow-einstieg-and-fallback) getriggert.
* Der <code class="expression">space.vars.TERM\_AI</code>-Schritt reagiert – auch mit deaktiviertem Gesprächsverlauf – immer auf die letzte Nutzereingabe.

{% hint style="info" %}
Die <code class="expression">space.vars.TERM\_AI</code> antwortet immer zuerst. Ein Ausstieg erfolgt stets nach einer <code class="expression">space.vars.TERM\_AI</code>-Antwort, niemals direkt nach einer Nutzereingabe.
{% endhint %}

#### RAG-Suche (Wissenszugriff)

Die Suche im hinterlegten Wissen erfolgt automatisiert. Sie kann nicht explizit über den Prompt gestartet oder gelenkt werden. Im Prompt kannst du jedoch festlegen, wie die gefundenen Informationen verarbeitet und wie ausführlich sie ausgegeben werden sollen.

#### Nutzung von Variablen

Variablen können im Haupt-Prompt verwendet und referenziert werden. Das Setzen und Füllen von Variablen innerhalb dieses Schritts ist allerdings nicht möglich.

***

### Tool-Calling (App-Anbindung)

Tool-Calling ermöglicht der <code class="expression">space.vars.TERM\_AI</code>, während des Gesprächs externe Apps aufzurufen und so Aktionen auszuführen – zum Beispiel eine Sendungsverfolgung abfragen oder einen Anruf auslösen.

#### Voraussetzung

Die verwendeten [Apps müssen vorab installiert](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/apps-appstore) worden sein.

#### Tool hinzufügen

{% stepper %}
{% step %}
Öffne den Schritt *Gespräch führen* im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
{% endstep %}

{% step %}
Klicke im Bereich *Tools* auf *Tool hinzufügen*.
{% endstep %}

{% step %}
Wähle im Dropdown *App Modul auswählen* das gewünschte Modul aus.
{% endstep %}

{% step %}
Vergib einen *Namen* für das Tool. Dieser Name dient der internen Organisation.
{% endstep %}

{% step %}
Hinterlege im Feld *Beschreibung, wann dieses Tool genutzt werden soll …* eine klare Anweisung, wann und unter welchen Bedingungen die <code class="expression">space.vars.TERM\_AI</code> das Tool einsetzen soll.
{% endstep %}
{% endstepper %}

#### Funktionsweise

Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> entscheidet während der Konversation automatisch, ob und wann er das eingebundene Tool aufruft. Die Entscheidung basiert auf der hinterlegten Beschreibung sowie dem Gesprächskontext. Die Verarbeitung der Antworten erfolgt ebenfalls automatisch.

{% hint style="info" %}
Maximal 5 Tools können in einer Interaktion direkt nacheinander ausgeführt werden.
{% endhint %}

#### Beispiel: Sendungsverfolgung als Tool

Du möchtest, dass der <code class="expression">space.vars.TERM\_AI\_AGENT</code> während eines Support-Gesprächs selbstständig den Sendungsstatus abfragt.

{% stepper %}
{% step %}
Füge über *Tool hinzufügen* das App-Modul „Versanddienstleister – Abfrage Sendestatus" hinzu.
{% endstep %}

{% step %}
Vergib den Namen „Sendungsstatus abfragen".
{% endstep %}

{% step %}
Trage als Beschreibung ein: „Nutze dieses Tool, wenn der Kunde nach dem Status seiner Bestellung oder Lieferung fragt und eine Trackingnummer genannt hat."
{% endstep %}

{% step %}
Referenziere das Modul im Haupt-Prompt über den Variablen-Picker, damit die <code class="expression">space.vars.TERM\_AI</code> weiß, welches Tool zur Verfügung steht und wann genau es benutzt werden soll.
{% endstep %}
{% endstepper %}

Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> erkennt nun im Gespräch automatisch, wann eine Sendungsverfolgung relevant ist, ruft das Tool auf und verarbeitet das Ergebnis in seiner Antwort.

***

### Best Practices und Prompting-Strategien

#### Empfohlene Struktur

Ein bewährter Haupt-Prompt folgt meist diesem Aufbau:

* **Rolle:** Wer ist die <code class="expression">space.vars.TERM\_AI</code>? *Beispiel: „Du bist ein erfahrener Support-Mitarbeiter."*
* **Ziel:** Was soll erreicht werden? *Beispiel: „Hilf dem Kunden bei der Aufnahme seiner Reklamation."*
* **Gesprächsregeln:** Constraints wie das *One-Turn-Principle* (nur eine Frage/Antwort pro Schritt) oder Regeln wie *„Sieze den Kunden."*
* **Gesprächsablauf:** Definiert den Gesprächsablauf. Dieser kann starr – etwa mit Nummerierungen – oder dynamisch und offen gestaltet werden.
* **Beispiele:** Liefere am Ende oder in den einzelnen Sektionen vielfältige Beispiele, anhand derer die <code class="expression">space.vars.TERM\_AI</code> Muster für erfolgreiche Gespräche erkennen kann (Few-Shot).

#### Tipps für präzise Ausgänge

Um sicherzustellen, dass die <code class="expression">space.vars.TERM\_AI</code> den Schritt zum richtigen Zeitpunkt verlässt, kannst du verschiedene Strategien verfolgen.

**Strategie 1 – Trigger-Satz definieren:** Definiere im Haupt-Prompt einen Trigger-Satz, dessen Vorkommen vom Ausgangs-Prompt überwacht wird.

* *Haupt-Prompt:* „Wenn das Problem gelöst ist, sage: ‚Vielen Dank, ich leite Sie nun weiter.'"
* *Ausgangs-Prompt:* „Sobald der Gesprächsverlauf ‚Vielen Dank, ich leite Sie nun weiter.' enthält."

**Strategie 2 – Bedingungen im Ausgangs-Prompt:** Definiere im Ausgangs-Prompt die genauen Bedingungen, die erfüllt sein müssen.

* *Ausgangs-Prompt:* „Prüfe, ob der Nutzer eine Frage zur Sendungsverfolgung hat, deren Aktualisierung länger als 7 Tage zurückliegt, UND ob er bereits seine E-Mail-Adresse genannt hat. Die Bedingung ist nur erfüllt, wenn beide Informationen (Dauer > 7 Tage + E-Mail) im Verlauf enthalten sind."

#### Häufige Fallstricke

* **Widersprüche:** Vermeide gegensätzliche Anweisungen innerhalb eines Prompts.
* **Unschärfe:** Nutze Begriffe konsistent. Wird von einer „Kundennummer" gesprochen, bezeichne diese später nicht als „Identifikationsnummer".
* **Testen:** Experimentiere kontinuierlich im [Debug-Chat](/epic-ai-platform/epic-ai-platform/ai-agent/debugging). Der <code class="expression">space.vars.TERM\_AI</code>-Output variiert – robuste Prompts benötigen mehrere Testläufe.
* **Experten-Prompts:** Umfasst ein Prompt zu viele verschiedene Themen und Anliegen, kann es empfehlenswert sein, diese auf mehrere Gespräch-führen-Schritte aufzuteilen und diese miteinander zu verbinden. Nutze für den Übergang einen leeren [Block-Schritt](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block) mit aktivierter Option *Erwartet Nutzereingabe nach diesem Block*.

#### Weiterführende Ressourcen zum Prompting

* [Google Cloud – Chat Prompting Strategies](https://docs.cloud.google.com/vertex-ai/generative-ai/docs/chat/chat-prompts?hl=de)
* [Gemini API – Prompting Guide](https://ai.google.dev/gemini-api/docs/prompting-strategies)


# Flow (Subflow)

Ein Flow ist ein untergeordneter Ablauf (Sub-Flow) innerhalb des Flow-Builders. Er ermöglicht es, komplexe oder wiederkehrende Logik in separate, übersichtliche Einheiten auszulagern.

### Wo finde ich das?

Einen Flow-Schritt fügst du direkt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> über *Schritt hinzufügen → Erweiterte Funktionen → Flow* hinzu.

***

### Erklärung – Was genau ist ein Flow?

Ein Flow ist ein eigenständiger Sub-Flow, der als einzelner Schritt im Hauptflow eingebunden wird. Intern besitzt er einen eigenen Canvas mit Bausteinen, Logik und Verbindungen – ähnlich wie der Hauptflow selbst.

Jeder Flow besteht aus zwei besonderen Bausteinen:

* *Einstieg* – der Startpunkt des Sub-Flows. Es gibt immer genau einen Einstieg. Hier beginnt die Ausführung, sobald der Flow-Schritt im übergeordneten Flow erreicht wird.
* *Ausstieg* – der Endpunkt des Sub-Flows. Es kann einen oder mehrere [Ausstiege](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/ausstieg) geben. Welcher Ausstieg genommen wird, hängt von den Verbindungen und der Logik innerhalb des Sub-Flows ab. Nach dem Ausstieg wird die Ausführung im übergeordneten Flow nahtlos fortgesetzt.

Flows können beliebig tief verschachtelt werden – ein Sub-Flow kann also selbst weitere Flows enthalten. Eine maximale Anzahl an Flows pro <code class="expression">space.vars.TERM\_AI\_AGENT</code> gibt es nicht.

***

### Verwendung – Was kann man damit machen?

#### Flow in den Hauptflow einbinden

Ein Flow-Schritt verhält sich im Hauptflow wie jeder andere Schritt. Er wird über Verbindungspfeile mit den umliegenden Schritten verbunden.

Sobald die Konversation den Flow-Schritt erreicht, wechselt die Ausführung in den Sub-Flow und beginnt am *Einstieg*. Nach dem Durchlaufen des Sub-Flows kehrt die Ausführung an den *Ausstieg* zurück und setzt den übergeordneten Flow nahtlos fort.

#### Mehrere Ausstiege verwenden

Ein Sub-Flow kann mehrere Ausstiege haben. Welcher Ausstieg genommen wird, ergibt sich aus den Verbindungen und der Logik innerhalb des Sub-Flows – z. B. durch Bedingungen, die zu unterschiedlichen Ausstiegspunkten führen.

Im übergeordneten Flow erscheinen alle Ausstiege als separate Ausgangspunkte am Flow-Schritt. So lassen sich nach dem Sub-Flow unterschiedliche Pfade weiterführen.

#### Sub-Flow öffnen und bearbeiten

Um den Inhalt eines Flows zu bearbeiten, öffne den Flow-Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> und klicke auf *Flow öffnen*. Du gelangst damit in den Canvas des Sub-Flows, wo du Bausteine hinzufügen, verbinden und Ausstiege konfigurieren kannst.

{% hint style="info" %}
Ausstiege können ausschließlich im Sub-Flow-Canvas bearbeitet und hinzugefügt werden – nicht direkt über das Bearbeitungspanel des Flow-Schritts.
{% endhint %}

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### Flow erstellen

{% stepper %}
{% step %}
Öffne den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> und navigiere zu der Stelle, an der der Sub-Flow eingefügt werden soll.
{% endstep %}

{% step %}
Klicke auf *Schritt hinzufügen*.
{% endstep %}

{% step %}
Wähle unter *Erweiterte Funktionen* den Eintrag *Flow* aus.
{% endstep %}

{% step %}
Ziehe den Flow-Schritt wird in den Canvas. Er enthält standardmäßig bereits einen *Einstieg* und einen *Ausstieg*.
{% endstep %}

{% step %}
Vergib im Bearbeitungspanel einen aussagekräftigen *Namen* und optional eine *Beschreibung*.
{% endstep %}

{% step %}
Klicke auf *Flow öffnen*, um den Sub-Flow-Canvas zu öffnen und Inhalte hinzuzufügen.
{% endstep %}
{% endstepper %}

#### Flow bearbeiten

* **Umbenennen:** Öffne den Flow-Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> und ändere den Namen im Bearbeitungspanel. Die Änderung wirkt sich sofort auf die Anzeige im Canvas aus.
* **Inhalt bearbeiten:** Klicke im Bearbeitungspanel auf *Flow öffnen*, um in den Sub-Flow-Canvas zu wechseln. Dort kannst du Bausteine hinzufügen, bearbeiten und Ausstiege verwalten.
* **Beschreibung anpassen:** Die Beschreibung lässt sich jederzeit im Bearbeitungspanel anpassen.

#### Flow löschen

Um einen Flow-Schritt zu löschen, öffne das Bearbeitungspanel und klicke auf das Papierkorb-Symbol.

{% hint style="warning" %}
Der Flow und sein gesamter Inhalt werden unwiderruflich gelöscht. Alle Verbindungen zu diesem Schritt im übergeordneten Flow werden dabei ebenfalls entfernt. Überprüfe vorher, ob der Flow noch aktiv im Hauptflow eingebunden ist, und passe die betroffenen Verbindungen anschließend manuell an.
{% endhint %}

***

### Beispiel: Wiederverwendbare Adressabfrage als Sub-Flow

Angenommen, an mehreren Stellen im <code class="expression">space.vars.TERM\_AI\_AGENT</code> soll die Adresse eines Nutzers abgefragt werden. Anstatt die Abfragelogik in jedem Pfad neu aufzubauen, lässt sie sich einmalig als Sub-Flow definieren und an den benötigten Stellen einbinden.

{% stepper %}
{% step %}
Füge einen neuen Flow-Schritt hinzu (*Schritt hinzufügen → Erweiterte Funktionen → Flow*).
{% endstep %}

{% step %}
Benenne den Flow, z. B. „Adressabfrage".
{% endstep %}

{% step %}
Klicke auf *Flow öffnen*, um den Sub-Flow-Canvas zu öffnen.
{% endstep %}

{% step %}
Baue im Sub-Flow die Abfragelogik auf: Frage Straße, Hausnummer, PLZ und Ort ab und speichere die Werte in entsprechenden Variablen.
{% endstep %}

{% step %}
Verbinde die letzte Aktion mit dem *Ausstieg*-Baustein.
{% endstep %}

{% step %}
Der Flow ist fertig. Binde den Flow-Schritt „Adressabfrage" nun an allen gewünschten Stellen im Hauptflow ein.
{% endstep %}
{% endstepper %}

***

### Best Practices

* **Flows zur Strukturierung einsetzen:** Nutze Flows, um zusammengehörige Logik in eigenständige Einheiten auszulagern. Das macht den Hauptflow übersichtlicher und einfacher zu warten – besonders bei umfangreichen <code class="expression">space.vars.TERM\_AI\_AGENT</code>s.
* **Aussagekräftige Namen vergeben:** Benenne Flows so, dass ihr Zweck auf einen Blick erkennbar ist – z. B. „Authentifizierung", „IBAN-Abfrage" oder „Produktauswahl". Das erleichtert die Orientierung im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> erheblich.
* **Mehrere Ausstiege gezielt nutzen:** Wenn ein Sub-Flow unterschiedliche Ergebnisse liefern kann, ist es sinnvoll, mehrere Ausstiege zu definieren – z. B. „Erfolgreich" und „Abgebrochen". So lässt sich im übergeordneten Flow direkt auf das Ergebnis des Sub-Flows reagieren.
* **Vor dem Löschen prüfen:** Bevor du einen Flow löschst, prüfe, ob er noch aktiv im Hauptflow eingebunden ist. Das Löschen entfernt den Schritt und alle seine Verbindungen – eine Wiederherstellung ist nicht möglich.


# Anruf weiterleiten

Der Schritt „Anruf weiterleiten" übergibt ein laufendes Telefonat an eine andere Rufnummer und fängt fehlgeschlagene Weiterleitungen über eigene Ausgänge ab.

### Wo finde ich den Schritt?

Du findest *Anruf weiterleiten* im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> über *Schritt hinzufügen → Erweiterte Funktionen → Anruf weiterleiten*.

{% hint style="info" %}
*Anruf weiterleiten* kann nur mit unserem [*Voice-Kanal*](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale/voice-kanal) verwendet werden. [AudioCodes-Kanäle](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale/audiocodes-kanal) benötigen zusätzliche konfigurationen.
{% endhint %}

***

### Erklärung – Was macht der Schritt?

*Anruf weiterleiten* übergibt das laufende Telefonat an eine andere Rufnummer. Der Flow endet damit nicht zwangsläufig: Kommt die Weiterleitung nicht zustande, nimmt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> den Anruf zurück.

Der zurückkommende Anruf wird in der bestehenden Konversation fortgeführt. Der Flow wird an dem Ausgang fortgesetzt, der zum Grund des Fehlschlags passt.

### Aufbau des Schritts

* *Zielrufnummer* – die Rufnummer, an die weitergeleitet wird. Gib sie im E.164-Format mit Länderkennung an (z. B. `+4961314646184`). Alternativ setzt du eine Variable ein.
* *Klingeldauer* – Lege fest, wie lange am Ziel geklingelt wird, bevor der Versuch abgebrochen wird. Voreingestellt sind 25 Sekunden, erlaubt sind Werte zwischen 5 und 120 Sekunden.
* *SIP-Header* – optionale technische Zusatzinformationen für die Telefonanlage. Klicke auf *SIP-Header hinzufügen*, trage *Name* und *Wert* ein und bestätige mit *Übernehmen*. Im Feld *Wert* können Variablen verwendet werden.

### Die vier Ausgänge

<table><thead><tr><th width="229.99609375">Ausgang</th><th>Wird genommen, wenn …</th></tr></thead><tbody><tr><td><em>Besetzt</em></td><td>am Ziel besetzt ist.</td></tr><tr><td><em>Nicht erreichbar</em></td><td>niemand abnimmt bis zum Ablauf der Klingeldauer annimmt.</td></tr><tr><td><em>Abgelehnt</em></td><td>der Anruf am Ziel aktiv abgewiesen wird.</td></tr><tr><td><em>Fehlgeschlagen</em></td><td>die Weiterleitung aus einem anderen Grund scheitert; etwa bei einer ungültigen oder nicht vergebenen Rufnummer.</td></tr></tbody></table>

Wird der Anruf am Ziel angenommen, wird **kein** Ausgang genommen: Das Gespräch läuft beim Ziel weiter und die Konversation wird geschlossen. Stelle sicher, dass alle Ausgänge verbunden sind, da der Anruf sonst nicht zurückgenommen werden kann.

### Nachvollziehbarkeit in der Inbox

Jede Weiterleitung hinterlässt eine Statusmarkierung im Gesprächsverlauf der Konversation: *Anruf weitergeleitet*, *Besetzt*, *Nicht erreichbar*, *Abgelehnt* oder *Weiterleitung fehlgeschlagen*. So ist erkennbar, wie eine Weiterleitung ausgegangen ist.

***

### Voraussetzungen und Grenzen

* Pro Anruf sind maximal 20 Weiterleitungen möglich.
* Ist am Ziel eine Mailbox oder ein Anrufbeantworter aktiv, gilt die Weiterleitung als erfolgreich, sobald diese abnimmt. Die Ausgänge *Nicht erreichbar* und *Abgelehnt* greifen dann nicht. Stelle die Klingeldauer so ein, dass diese endet, bevor die Mailbox des Ziels greift.

***

## Schritt einrichten

{% stepper %}
{% step %}
Öffne den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, wähle den gewünschten Voice-Flow und ziehe *Anruf weiterleiten* aus der Seitenleiste *Schritt hinzufügen* (Kategorie *Erweiterte Funktionen*) auf den Canvas.
{% endstep %}

{% step %}
Klicke auf den Schritt und trage unter *Zielrufnummer* die Nummer im E.164-Format ein – z. B. `+4961314646184`. Soll das Ziel dynamisch sein, füge stattdessen eine Variable ein.
{% endstep %}

{% step %}
Trage unter *Klingeldauer* die gewünschten *Sekunden* ein. Standardmäßig gelten 25 Sekunden.
{% endstep %}

{% step %}
(Optional) Klicke auf *SIP-Header hinzufügen*, trage *Name* und *Wert* ein und bestätige mit *Übernehmen*.
{% endstep %}

{% step %}
Ziehe von den Ausgängen *Besetzt*, *Nicht erreichbar*, *Abgelehnt* und *Fehlgeschlagen* jeweils eine Verbindung zum passenden Folgeschritt.

{% hint style="warning" %}
Verbinde alle Ausstiege mit einem Folgeschritt.
{% endhint %}
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

***

### Beispiel: Rückfallebene bei besetzter Hotline

Ein Anrufer wird nach der Vorqualifizierung an die Fachabteilung übergeben. Ist dort besetzt, soll er nicht einfach getrennt werden.

{% stepper %}
{% step %}
Füge *Anruf weiterleiten* mit der Rufnummer der Fachabteilung ein und setze die *Klingeldauer* auf 20 Sekunden.
{% endstep %}

{% step %}
Verbinde beide Ausgänge mit einem Block, der eine Rückrufbitte und zusätzliche Informationen aufnimmt.
{% endstep %}
{% endstepper %}

***

## Best Practices

* **Alle Ausgänge belegen:** Verbinde alle vier Ausgänge mit einem Folgeschritt.
* **Klingeldauer realistisch wählen:** 20 bis 30 Sekunden sind ein guter Richtwert. Zu kurze Werte brechen ab, bevor jemand abnehmen kann; zu lange lassen den Anrufer unnötig warten.
* **Mailbox am Ziel bedenken:** Prüfe, ob am Zielanschluss eine Mailbox aktiv ist. Sie nimmt den Anruf an und macht die Ausgänge wirkungslos. *Achtung*: Eine Mailbox-Ansage beim Ablehnen eines Anrufes gilt ebenfalls als *angenommen*.
* **Zielrufnummern über Variablen steuern:** Wenn sich das Ziel je nach Anliegen oder Uhrzeit unterscheidet, hinterlege es in einer Variable statt mehrere Weiterleitungs-Schritte anzulegen.
* **Nach Änderungen testen:** Prüfe die Weiterleitungs-Szenarien mit einem echten Anruf.


# Kontakt bearbeiten

Mit dem Schritt „Kontakt bearbeiten" kannst du die Daten eines verknüpften Kontakts direkt aus dem Flow heraus aktualisieren oder ergänzen.

### Wo finde ich das?

Du findest den Schritt *Kontakt bearbeiten* im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> über *Schritt hinzufügen → Interne Funktionen → Kontakt bearbeiten*. Er wird wie jeder andere Schritt innerhalb eines Blocks hinzugefügt.

***

### Erklärung – Was genau ist *Kontakt bearbeiten*?

*Kontakt bearbeiten* ist ein Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, mit dem du die gespeicherten Daten eines Kontakts überschreiben oder ergänzen kannst. Der Schritt bezieht sich dabei immer auf den Kontakt, der mit der aktuellen Konversation verknüpft ist.

Innerhalb des Schritts stehen dir folgende Felder zur Verfügung:

* *Name* – der vollständige Name des Kontakts.
* *Telefonnummer* – die Telefonnummer des Kontakts.
* *E-Mail-Adresse* – die E-Mail-Adresse des Kontakts.
* *Straße* – der Straßenname.
* *Hausnummer* – die Hausnummer der Adresse.
* *Postleitzahl* – die Postleitzahl.
* *Stadt/Ort* – die Stadt oder der Ort.
* *Land* – das Land des Kontakts.

Jedes dieser Felder kann entweder mit einem statischen Wert (z. B. `Eisenacher Str.`) oder mit einer Variable (z. B. `Telefonnummer (Kontakt)`) befüllt werden. Auch eine Kombination aus beidem ist möglich.

{% hint style="warning" %}
Es wird immer der gesamte Kontakt überschrieben. Wenn ein Feld leer gelassen wird, wird der bisherige Wert in diesem Feld im Kontakt gelöscht. Stelle daher sicher, dass du alle Felder befüllst, die erhalten bleiben sollen.
{% endhint %}

***

### Verwendung – Was kann man damit machen?

**Kontaktdaten aktualisieren:** Der häufigste Anwendungsfall ist das Aktualisieren von Kontaktdaten während einer laufenden Konversation. Wenn ein Nutzer z. B. eine neue Adresse mitteilt, kannst du diese direkt im verknüpften Kontakt speichern.

**Kontaktdaten mit Variablen befüllen:** Besonders praktisch ist der Schritt in Kombination mit Variablen. Anstatt Werte manuell einzutragen, kannst du automatisch erkannte oder gespeicherte Informationen verwenden.

{% hint style="info" %}
Nutze Variablen, um die Felder zu befüllen. So stellst du sicher, dass die Daten aus der aktuellen Konversation automatisch übernommen werden und keine manuellen Fehler entstehen.
{% endhint %}

Beispiel: Du möchtest Telefonnummer und E-Mail-Adresse des Nutzers in den Kontakt übernehmen. Dafür trägst du in die jeweiligen Felder die passenden Variablen ein – z. B. `Telefonnummer (Kontakt)` und `E-Mail-Adresse (Kontakt)`.

**Beschreibung hinzufügen:** Über das Feld *Beschreibung hinzufügen* kannst du eine interne Notiz zum Schritt hinterlegen. Diese Notiz dient der besseren Übersicht im Flow und ist für dich und dein Team sichtbar.

***

### Schritt hinzufügen – so richtest du *Kontakt bearbeiten* ein

{% stepper %}
{% step %}
Öffne den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, und wähle den Flow aus, in dem du den Schritt hinzufügen möchtest.
{% endstep %}

{% step %}
Wähle unter *Interne Funktionen* den Schritt *Kontakt bearbeiten* aus und füge ihn an der richtigen Stelle im Flow ein.
{% endstep %}

{% step %}
Befülle die gewünschten Felder mit den passenden Werten oder Variablen.

* Um eine Variable einzufügen, klicke in das jeweilige Feld und wähle die Variable über den Variablen-Picker aus.
* Um einen statischen Wert einzutragen, tippe den Wert direkt in das Feld.
  {% endstep %}

{% step %}
Stelle sicher, dass **alle Felder befüllt sind**, deren Werte erhalten bleiben sollen. Leere Felder führen dazu, dass der bisherige Wert im Kontakt gelöscht wird.
{% endstep %}

{% step %}
Klicke auf *Ok*, um den Schritt zu speichern.
{% endstep %}
{% endstepper %}

***

### Beispiel: Adressänderung im Gespräch

Ein Nutzer teilt deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> mit, dass sich seine Adresse geändert hat. Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> erfragt die neue Adresse und speichert sie im Kontakt.

**Szenario:** Der Nutzer nennt seine neue Straße und Hausnummer. Diese Werte wurden zuvor über eine Benutzereingabe erfasst und in benutzerdefinierten Variablen gespeichert.

{% stepper %}
{% step %}
Füge den Schritt *Kontakt bearbeiten* an die richtige Stelle im Flow ein.
{% endstep %}

{% step %}
Trage in die Felder die passenden Werte ein:

* *Name:* `Name (Kontakt)` – damit der bestehende Name erhalten bleibt.
* *Telefonnummer:* `Telefonnummer (Kontakt)` – damit die bestehende Nummer erhalten bleibt.
* *E-Mail-Adresse:* `E-Mail-Adresse (Kontakt)` – damit die bestehende Adresse erhalten bleibt.
* *Straße:* `Neue Straße (Benutzerdefiniert - Kontakt)` – die vom Nutzer genannte neue Straße.
* *Hausnummer:* `Neue Hausnummer (Benutzerdefiniert - Kontakt)` – die vom Nutzer genannte neue Hausnummer.
* *Postleitzahl:* `Neue PLZ (Benutzerdefiniert - Kontakt)` – die neue Postleitzahl.
* *Stadt/Ort:* `Neuer Ort (Benutzerdefiniert - Kontakt)` – der neue Wohnort.
* *Land:* `Land (Benutzerdefiniert - Kontakt)` – das Land des Nutzers.
  {% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Vergiss nicht, auch die Felder zu befüllen, die sich nicht geändert haben (z. B. Name und Telefonnummer). Da der gesamte Kontakt überschrieben wird, würden diese Werte sonst gelöscht.
{% endhint %}

***

### Best Practices

* **Alle Felder befüllen:** Da der gesamte Kontakt bei jedem Schritt überschrieben wird, solltest du immer alle Felder befüllen – auch jene, die sich nicht ändern. Nutze dafür die bestehenden Variablen aus der Kategorie *Kontakt* (z. B. `Name (Kontakt)`, `Telefonnummer (Kontakt)`), um die aktuellen Werte beizubehalten.
* **Variablen statt statischer Werte verwenden:** Statische Werte eignen sich nur für Felder, die bei jeder Ausführung denselben Wert haben sollen (z. B. ein fester Länderwert wie „Deutschland"). Für alle dynamischen Daten solltest du Variablen nutzen.
* **Beschreibung nutzen:** Hinterlege eine kurze Beschreibung im Schritt, damit du und dein Team auf einen Blick erkennen, welchen Zweck der Schritt im Flow erfüllt – z. B. „Aktualisiert die Adresse nach Umzugsmeldung".
* **Flow nach Änderungen testen:** Teste den Flow nach dem Einrichten des Schritts gründlich, um sicherzustellen, dass keine Felder versehentlich leer bleiben und Kontaktdaten ungewollt gelöscht werden.


# Ausstieg

Ein Ausstieg markiert den Endpunkt eines Sub-Flows. Er gibt an, an welcher Stelle die Ausführung den Sub-Flow verlässt und im übergeordneten Flow fortgesetzt wird.

### Wo finde ich das?

Ausstiege sind ausschließlich innerhalb eines Sub-Flow-Canvas verfügbar. Den Menüpunkt siehst du nur, wenn du einen [Sub-Flow](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/flow-subflow) geöffnet hast – dann über *Schritt hinzufügen → Flow-Kontrolle → Ausstieg*.

{% hint style="info" %}
Im übergeordneten Flow wird jeder Ausstieg namentlich als separater Ausgangspunkt am Flow-Schritt angezeigt und kann dort mit dem nächsten Schritt verbunden werden.
{% endhint %}

***

### Erklärung – Was genau ist ein Ausstieg?

Ein Ausstieg ist ein Baustein, der ausschließlich in Sub-Flows verwendet wird. Er definiert, wo der Sub-Flow endet und die Ausführung an den übergeordneten Flow zurückgegeben wird.

Ein Sub-Flow kann mehrere Ausstiege haben. Das ist sinnvoll, wenn der Sub-Flow unterschiedliche Ergebnisse liefern kann – z. B. „Erfolgreich" und „Abgebrochen". Im übergeordneten Flow erscheint jeder Ausstieg als eigener Ausgangspunkt am Flow-Schritt, sodass für jedes Ergebnis ein eigener Folgepfad definiert werden kann.

Beim Erstellen eines Flows wird automatisch ein Standard-Ausstieg angelegt.

***

### Verwendung – Was kann man damit machen?

#### Ausstieg im Sub-Flow verbinden

Ein Ausstieg wird wie jeder andere Baustein im Sub-Flow-Canvas über Verbindungspfeile eingebunden. Der letzte Schritt im Sub-Flow wird mit dem gewünschten Ausstieg verbunden.

Gibt es mehrere Ausstiege, wird über die Logik im Sub-Flow – z. B. durch Bedingungen – gesteuert, welcher Ausstieg im jeweiligen Fall erreicht wird.

#### Ausstieg im übergeordneten Flow verwenden

Sobald ein Ausstieg im Sub-Flow angelegt und benannt ist, erscheint er im übergeordneten Flow als Ausgangspunkt am Flow-Schritt. Dort kann er mit dem nächsten Schritt verbunden werden.

So lässt sich direkt auf das Ergebnis des Sub-Flows reagieren:

* Ausstieg „Erfolgreich" → weiter zur Bestätigungsnachricht
* Ausstieg „Abgebrochen" → weiter zur Fehlerbehandlung

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### Ausstieg erstellen

{% stepper %}
{% step %}
Öffne den Sub-Flow-Canvas über *Flow öffnen* im Bearbeitungspanel des Flow-Schritts.
{% endstep %}

{% step %}
Klicke auf *Schritt hinzufügen*.
{% endstep %}

{% step %}
Wähle unter *Flow-Kontrolle* den Eintrag *Ausstieg* aus.
{% endstep %}

{% step %}
Vergib im Bearbeitungspanel einen aussagekräftigen *Namen* – z. B. „Erfolgreich" oder „Abgebrochen".
{% endstep %}

{% step %}
Verbinde den neuen Ausstieg mit dem gewünschten Schritt im Sub-Flow.
{% endstep %}
{% endstepper %}

#### Ausstieg bearbeiten

Öffne den Ausstieg-Baustein im Sub-Flow-Canvas. Im Bearbeitungspanel kannst du:

* den *Namen* anpassen – die Änderung wird sofort im übergeordneten Flow übernommen.
* eine optionale *Beschreibung* über das Beschreibungsfeld hinzufügen oder anpassen.

{% hint style="info" %}
Eine Umbenennung wirkt sich direkt auf die Anzeige des Ausgangspunkts am Flow-Schritt im übergeordneten Flow aus.
{% endhint %}

#### Ausstieg löschen

Öffne den Ausstieg-Baustein im Sub-Flow-Canvas und klicke auf das Papierkorb-Symbol im Bearbeitungspanel.

{% hint style="warning" %}
Wird ein Ausstieg gelöscht, entfällt der zugehörige Ausgangspunkt am Flow-Schritt im übergeordneten Flow. Bestehende Verbindungen, die an diesem Ausgangspunkt hingen, werden dabei ebenfalls entfernt. Prüfe vorher, ob der Ausstieg noch aktiv verbunden ist, und passe den übergeordneten Flow anschließend manuell an.
{% endhint %}

***

### Beispiel: Zwei Ausstiege für unterschiedliche Ergebnisse

Ein Sub-Flow prüft, ob ein Nutzer eine gültige IBAN eingegeben hat. Je nach Ergebnis soll der Hauptflow unterschiedlich weitergeführt werden.

{% stepper %}
{% step %}
Öffne den Sub-Flow-Canvas.
{% endstep %}

{% step %}
Füge zwei Ausstiege hinzu: einen mit dem Namen „Gültig", einen mit dem Namen „Ungültig".
{% endstep %}

{% step %}
Baue im Sub-Flow eine Bedingung auf, die den erkannten IBAN-Wert prüft.
{% endstep %}

{% step %}
Verbinde den positiven Pfad der Bedingung mit dem Ausstieg „Gültig", den negativen Pfad mit dem Ausstieg „Ungültig".
{% endstep %}

{% step %}
Im übergeordneten Flow erscheinen nun zwei Ausgangspunkte am Flow-Schritt. Verbinde „Gültig" mit der Weiterverarbeitung der IBAN und „Ungültig" mit einer Fehlermeldung an den Nutzer.
{% endstep %}
{% endstepper %}

***

### Best Practices

* **Ausstiege aussagekräftig benennen:** Vergib Namen, die das Ergebnis des Ausstiegs klar beschreiben – z. B. „Erfolgreich", „Abgebrochen" oder „Timeout". Das erleichtert die Arbeit im übergeordneten Flow erheblich, da auf einen Blick erkennbar ist, welcher Ausgangspunkt welches Ergebnis repräsentiert.
* **Für jedes relevante Ergebnis einen eigenen Ausstieg anlegen:** Wenn ein Sub-Flow mehrere mögliche Ergebnisse hat, sollte jedes über einen eigenen Ausstieg abgebildet werden. So bleibt die Logik im übergeordneten Flow sauber und nachvollziehbar – anstatt Fallunterscheidungen außerhalb des Sub-Flows zu treffen.
* **Vor dem Löschen Verbindungen prüfen:** Bevor du einen Ausstieg löschst, prüfe, ob er im übergeordneten Flow noch verbunden ist. Das Löschen entfernt den Ausgangspunkt und alle dazugehörigen Verbindungen unwiderruflich.


# Tag hinzugefügt

Der Trigger „Tag hinzugefügt" startet einen Flow automatisch, sobald einer Konversation ein bestimmtes Tag zugewiesen wird.

### Wo finde ich das?

Den Trigger findest du im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>: Öffne einen Flow, klicke im seitlichen Panel auf *Schritt hinzufügen* und wähle im *Trigger* den *Auslösenden Tag*.

***

### Erklärung – Was ist der Trigger *Tag hinzugefügt*?

Der Trigger *Tag hinzugefügt* gehört zur Kategorie der *Flow-Trigger*. Er überwacht Konversationen und löst den zugehörigen Flow aus, sobald ein festgelegtes Tag hinzugefügt wird.

Das Tag kann dabei auf zwei Wegen gesetzt werden:

* *Automatisch* – durch Verwendung des Elements [Tag hinzufügen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen#tag-hinzufugen) im Flow selbst.
* *Manuell* – durch ein Teammitglied direkt in der Inbox.

Der Trigger reagiert in beiden Fällen gleich: Sobald das definierte Tag einer Konversation zugewiesen wird, startet der Flow mit dem Trigger als Einstiegspunkt.

{% hint style="info" %}
Pro Trigger kann genau **ein Tag** ausgewählt werden. Außerdem kann jedes Tag innerhalb eines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s nur **einmalig** als Trigger verwendet werden – dasselbe Tag kann also nicht in zwei verschiedenen Flows als *Tag hinzugefügt*-Trigger hinterlegt sein.
{% endhint %}

***

### Verwendung – Was kann man damit machen?

Mit dem Trigger *Tag hinzugefügt* lassen sich Abläufe starten, die [auf das Setzen eines Tags reagieren](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/tags-und-trigger). Typische Anwendungsfälle:

* **Automatische Weiterleitung:** Sobald eine Konversation mit dem Tag „Eskalation" versehen wird, startet ein Flow, der die Konversation an ein bestimmtes Team weiterleitet.
* **Follow-up-Nachrichten:** Ein Tag wie „Angebot versendet" löst einen Flow aus, der nach einer definierten Wartezeit eine Nachfass-Nachricht verschickt.
* **Statusänderungen verarbeiten:** Tags, die manuell in der Inbox gesetzt werden, können genutzt werden, um nachgelagerte Prozesse im Flow anzustoßen – z. B. das Setzen einer Variable oder das Starten eines App-Moduls.

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### Trigger erstellen

{% stepper %}
{% step %}
Öffne den gewünschten Flow im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
{% endstep %}

{% step %}
Klicke im Side Panel auf *Schritt hinzufügen*.
{% endstep %}

{% step %}
Wähle unter *Trigger* den Eintrag *Tag hinzugefügt* aus. Das Bearbeitungspanel öffnet sich.
{% endstep %}

{% step %}
Vergib einen aussagekräftigen *Namen* für den Trigger, z. B. `Tag: VIP-Kunde gesetzt`.
{% endstep %}

{% step %}
Optional: Füge eine *Beschreibung* hinzu, um den Zweck des Triggers zu dokumentieren.
{% endstep %}

{% step %}
Klicke auf *Tag auswählen* und wähle aus der Liste das gewünschte Tag aus.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Jedes Tag kann pro <code class="expression">space.vars.TERM\_AI\_AGENT</code> nur einmalig als *Tag hinzugefügt*-Trigger verwendet werden. Ist ein Tag bereits in einem anderen Flow als Trigger hinterlegt, erscheint es in der Auswahl nicht mehr als Option.
{% endhint %}

#### Trigger bearbeiten

{% stepper %}
{% step %}
Öffne den Flow, in dem der Trigger hinterlegt ist.
{% endstep %}

{% step %}
Klicke auf den Trigger-Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, um das Bearbeitungspanel zu öffnen.
{% endstep %}

{% step %}
Passe *Name*, *Beschreibung* oder das *Tag* an.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

#### Trigger löschen

{% stepper %}
{% step %}
Öffne das Bearbeitungspanel des Triggers.
{% endstep %}

{% step %}
Klicke oben rechts im Bearbeitungspanel auf das Papierkorb-Symbol.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Nach dem Löschen des Triggers wird der Flow durch dieses Tag-Ereignis nicht mehr gestartet. Stelle sicher, dass kein laufender Prozess auf diesen Trigger angewiesen ist, bevor du ihn entfernst.
{% endhint %}

***

### Beispiel

**Szenario:** Konversationen, die manuell mit dem Tag „Rückruf gewünscht" versehen werden, sollen automatisch eine interne Benachrichtigung auslösen.

**Voraussetzung:** Das Tag „Rückruf gewünscht" existiert bereits.

{% stepper %}
{% step %}
Öffne den zuständigen Flow im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
{% endstep %}

{% step %}
Klicke auf *Schritt hinzufügen* und wähle unter *Trigger* den Eintrag *Tag hinzugefügt* aus.
{% endstep %}

{% step %}
Vergib den Namen `Tag: Rückruf gewünscht`.
{% endstep %}

{% step %}
Klicke auf *Tag auswählen* und wähle das Tag „Rückruf gewünscht" aus.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}

{% step %}
Füge als nächsten Schritt im Flow eine Aktion hinzu – z. B. eine interne Benachrichtigung an das zuständige Team.
{% endstep %}
{% endstepper %}

**Ergebnis:** Sobald ein Teammitglied in der Inbox einer Konversation das Tag „Rückruf gewünscht" hinzufügt – oder der Flow es automatisch setzt –, wird der Flow gestartet und die interne Benachrichtigung versendet.

***

### Best Practices

* **Sprechende Namen vergeben:** Vergib dem Trigger immer einen Namen, der das hinterlegte Tag direkt erkennbar macht – z. B. `Tag: Eskalation` statt `Trigger 1`. Das erleichtert die Orientierung im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> erheblich, besonders bei größeren Flows.
* **Zweck dokumentieren:** Nutze den optionalen Beschreibungstext, um festzuhalten, warum dieser Trigger existiert und welchen Prozess er anstoßt. Das ist besonders hilfreich, wenn mehrere Personen an einem <code class="expression">space.vars.TERM\_AI\_AGENT</code> arbeiten.
* **Tag-Struktur planen:** Plane die Tag-Struktur im <code class="expression">space.vars.TERM\_AI\_AGENT</code> sorgfältig, bevor du Trigger anlegst. Da jedes Tag pro <code class="expression">space.vars.TERM\_AI\_AGENT</code> nur einmalig als Trigger verwendet werden kann, sollten Tags, die als Trigger dienen, einen klaren, eindeutigen Zweck haben und nicht für mehrere unterschiedliche Aktionen verwendet werden.
* **Nach dem Löschen prüfen:** Überprüfe nach dem Löschen eines Triggers, ob andere Teile des Flows noch auf das betreffende Tag reagieren oder es anderweitig verwenden – z. B. in Bedingungen oder Aktionen.


# Tag entfernt

Der Trigger „Tag entfernt" startet einen Flow automatisch, sobald einer Konversation ein bestimmtes Tag entzogen wird. So kannst du auf das Entfernen eines Tags reagieren.

### Wo finde ich das?

Den Trigger findest du im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>: Öffne einen Flow, klicke im seitlichen Panel auf *Schritt hinzufügen* und wähle im Abschnitt *Trigger* den Eintrag *Tag entfernt*.

***

### Erklärung – Was ist der Trigger *Tag entfernt*?

Der Trigger *Tag entfernt* gehört zur Kategorie der *Flow-Trigger*. Er überwacht Konversationen und löst den zugehörigen Flow aus, sobald ein festgelegtes Tag entfernt wird.

Das Tag kann dabei auf zwei Wegen entfernt werden:

* *Automatisch* – durch Verwendung des Elements [Tag entfernen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen#tag-entfernen) im Flow selbst.
* *Manuell* – durch ein Teammitglied direkt in der Inbox.

Der Trigger reagiert in beiden Fällen gleich: Sobald das definierte Tag einer Konversation entzogen wird, startet der Flow mit dem Trigger als Einstiegspunkt.

{% hint style="info" %}
Pro Trigger kann genau **ein Tag** ausgewählt werden. Jedes Tag kann innerhalb eines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s nur **einmalig** als *Tag entfernt*-Trigger verwendet werden – dasselbe Tag kann also nicht in zwei verschiedenen Flows als *Tag entfernt*-Trigger hinterlegt sein.
{% endhint %}

***

### Verwendung – Was kann man damit machen?

Mit dem Trigger *Tag entfernt* lassen sich Abläufe starten, die auf das Entfernen eines Tags reagieren. Typische Anwendungsfälle:

* **Statuswechsel verarbeiten:** Wird das Tag „In Bearbeitung" von einer Konversation entfernt, kann ein Flow gestartet werden, der z. B. eine Abschluss-Nachricht an den Nutzer sendet.
* **Eskalation beenden:** Sobald das Tag „Eskalation" entfernt wird, startet ein Flow, der das zuständige Team über die Lösung informiert.
* **Variablen zurücksetzen:** Das Entfernen eines Tags kann genutzt werden, um benutzerdefinierte Variablen zurückzusetzen oder einen neuen Prozessabschnitt einzuleiten.

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### Trigger erstellen

{% stepper %}
{% step %}
Öffne den gewünschten Flow im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
{% endstep %}

{% step %}
Klicke im Side Panel auf *Schritt hinzufügen*.
{% endstep %}

{% step %}
Wähle unter *Trigger* den Eintrag *Tag entfernt* aus. Das Bearbeitungspanel öffnet sich.
{% endstep %}

{% step %}
Vergib einen aussagekräftigen *Namen* für den Trigger, z. B. `Tag entfernt: In Bearbeitung`.
{% endstep %}

{% step %}
Optional: Füge eine *Beschreibung* hinzu, um den Zweck des Triggers zu dokumentieren.
{% endstep %}

{% step %}
Klicke auf *Tag auswählen* und wähle das gewünschte Tag aus der Liste aus. Die verfügbaren Tags werden farbig dargestellt.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Jedes Tag kann pro <code class="expression">space.vars.TERM\_AI\_AGENT</code> nur einmalig als *Tag entfernt*-Trigger verwendet werden. Ist ein Tag bereits in einem anderen Flow als solcher Trigger hinterlegt, erscheint es in der Auswahl nicht mehr als Option.
{% endhint %}

#### Trigger bearbeiten

{% stepper %}
{% step %}
Öffne den Flow, in dem der Trigger hinterlegt ist.
{% endstep %}

{% step %}
Klicke auf den Trigger-Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, um das Bearbeitungspanel zu öffnen.
{% endstep %}

{% step %}
Passe *Name*, *Beschreibung* oder das *Tag* an.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

#### Trigger löschen

{% stepper %}
{% step %}
Öffne das Bearbeitungspanel des Triggers.
{% endstep %}

{% step %}
Klicke oben rechts im Bearbeitungspanel auf das Papierkorb-Symbol.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Nach dem Löschen des Triggers wird der Flow durch dieses Tag-Ereignis nicht mehr gestartet. Stelle sicher, dass kein laufender Prozess auf diesen Trigger angewiesen ist, bevor du ihn entfernst.
{% endhint %}

***

### Beispiel

**Szenario:** Konversationen, bei denen das Tag „VIP" manuell entfernt wird, sollen automatisch eine interne Notiz erzeugen, die das Team über die Statusänderung informiert.

**Voraussetzung:** Das Tag „VIP" existiert bereits.

{% stepper %}
{% step %}
Öffne den zuständigen Flow im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
{% endstep %}

{% step %}
Klicke auf *Schritt hinzufügen* und wähle unter *Trigger* den Eintrag *Tag entfernt* aus.
{% endstep %}

{% step %}
Vergib den Namen `Tag entfernt: VIP`.
{% endstep %}

{% step %}
Klicke auf *Tag auswählen* und wähle das Tag „VIP" aus.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}

{% step %}
Füge als nächsten Schritt im Flow eine Aktion hinzu – z. B. das Erstellen einer internen Notiz mit dem Hinweis, dass der VIP-Status der Konversation aufgehoben wurde.
{% endstep %}
{% endstepper %}

**Ergebnis:** Sobald ein Teammitglied in der Inbox das Tag „VIP" von einer Konversation entfernt – oder der Flow es automatisch entfernt –, wird der Flow gestartet und die interne Notiz erstellt.

***

### Best Practices

* **Aktion und Tag benennen:** Vergib dem Trigger immer einen Namen, der sowohl die Aktion („entfernt") als auch das betreffende Tag klar benennt – z. B. `Tag entfernt: VIP` statt `Trigger 2`. Das erleichtert die Orientierung im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, besonders wenn mehrere Tag-Trigger im <code class="expression">space.vars.TERM\_AI\_AGENT</code> existieren.
* **Als Gegenstück einsetzen:** Nutze *Tag entfernt* gezielt als Gegenstück zu *Tag hinzugefügt*, um vollständige Prozesszyklen abzubilden – z. B. Prozess starten, wenn ein Tag gesetzt wird, und Prozess abschließen, wenn es wieder entfernt wird.
* **Zweck dokumentieren:** Nutze den optionalen Beschreibungstext, um festzuhalten, warum dieser Trigger existiert und welchen Prozess er anstoßt. Das ist besonders hilfreich, wenn mehrere Personen an einem <code class="expression">space.vars.TERM\_AI\_AGENT</code> arbeiten.
* **Nach dem Löschen prüfen:** Überprüfe nach dem Löschen eines Triggers, ob andere Teile des Flows noch auf das betreffende Tag reagieren oder es anderweitig verwenden – z. B. in Bedingungen oder Aktionen.


# Variable geändert

Der Trigger „Variable geändert" startet einen Flow automatisch, sobald sich der Wert einer bestimmten Variable ändert. So kannst du direkt auf Wertänderungen in deinem Flow reagieren.

### Wo finde ich das?

Den Trigger findest du im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>: Öffne einen Flow, klicke im seitlichen Panel auf *Schritt hinzufügen* und wähle im Abschnitt *Trigger* den Eintrag *Variable geändert*.

***

### Erklärung – Was ist der Trigger *Variable geändert*?

Der Trigger *Variable geändert* gehört zur Kategorie der *Flow-Trigger*. Er überwacht eine festgelegte Variable und löst den zugehörigen Flow aus, sobald deren Wert aktualisiert wird. Das umschließt jede Art von Wertänderung – ob ein neuer Wert zugewiesen, ein bestehender überschrieben oder ein Wert zurückgesetzt wird.

Als Trigger kann jede Variable aus dem [Variablen-Picker](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen#variablen-picker) ausgewählt werden – unabhängig von der Kategorie.

{% hint style="info" %}
Pro Trigger kann genau **eine Variable** ausgewählt werden. Jede Variable kann innerhalb eines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s nur **einmalig** als *Variable geändert*-Trigger verwendet werden – dieselbe Variable kann also nicht in zwei verschiedenen Flows als solcher Trigger hinterlegt sein.
{% endhint %}

***

### Verwendung – Was kann man damit machen?

Mit dem Trigger *Variable geändert* lassen sich Abläufe starten, die auf Wertänderungen einer Variable reagieren. Typische Anwendungsfälle:

* **Folgeaktionen anstoßen:** Ändert sich z. B. der Wert der Variable `Kundenstatus`, kann ein Flow gestartet werden, der eine entsprechende Nachricht an den Nutzer sendet.
* **Daten weiterverarbeiten:** Sobald eine Variable mit einem neuen Wert befüllt wird – z. B. eine erkannte IBAN –, kann ein Flow gestartet werden, der diesen Wert direkt an ein App-Modul übergibt.
* **Statuswechsel überwachen:** Ändert sich der Wert einer Statusvariable, kann ein Flow eine interne Benachrichtigung auslösen oder eine Weiterleitung einleiten.

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### Trigger erstellen

{% stepper %}
{% step %}
Öffne den gewünschten Flow im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
{% endstep %}

{% step %}
Klicke im Side Panel auf *Schritt hinzufügen*.
{% endstep %}

{% step %}
Wähle unter *Trigger* den Eintrag *Variable geändert* aus. Das Bearbeitungspanel öffnet sich.
{% endstep %}

{% step %}
Vergib einen aussagekräftigen *Namen* für den Trigger, z. B. `Variable geändert: Kundenstatus`.
{% endstep %}

{% step %}
Optional: Füge eine *Beschreibung* hinzu, um den Zweck des Triggers zu dokumentieren.
{% endstep %}

{% step %}
Klicke auf *Variable auswählen*, um den [Variablen-Picker](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen#variablen-picker) zu öffnen, und wähle die gewünschte Variable aus.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

#### Trigger bearbeiten

{% stepper %}
{% step %}
Öffne den Flow, in dem der Trigger hinterlegt ist.
{% endstep %}

{% step %}
Klicke auf den Trigger-Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, um das Bearbeitungspanel zu öffnen.
{% endstep %}

{% step %}
Passe *Name*, *Beschreibung* oder die *Variable* an.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

#### Trigger löschen

{% stepper %}
{% step %}
Öffne das Bearbeitungspanel des Triggers.
{% endstep %}

{% step %}
Klicke oben rechts im Bearbeitungspanel auf das Papierkorb-Symbol.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Nach dem Löschen des Triggers wird der Flow durch Änderungen dieser Variable nicht mehr gestartet. Stelle sicher, dass kein laufender Prozess auf diesen Trigger angewiesen ist, bevor du ihn entfernst.
{% endhint %}

***

### Beispiel

**Szenario:** Sobald die Variable `Bestellstatus` auf einen neuen Wert gesetzt wird, soll automatisch eine Statusnachricht an den Nutzer gesendet werden.

**Voraussetzung:** Die benutzerdefinierte Variable `Bestellstatus` existiert bereits.

{% stepper %}
{% step %}
Öffne den zuständigen Flow im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
{% endstep %}

{% step %}
Klicke auf *Schritt hinzufügen* und wähle unter *Trigger* den Eintrag *Variable geändert* aus.
{% endstep %}

{% step %}
Vergib den Namen `Variable geändert: Bestellstatus`.
{% endstep %}

{% step %}
Klicke auf *Variable auswählen* und wähle die Variable `Bestellstatus` aus.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}

{% step %}
Füge als nächsten Schritt im Flow eine Aktion hinzu – z. B. eine Nachricht an den Nutzer mit dem aktuellen Bestellstatus.
{% endstep %}
{% endstepper %}

**Ergebnis:** Sobald der Wert der Variable `Bestellstatus` im Flow aktualisiert wird, startet der Trigger den Flow und die Statusnachricht wird automatisch versendet.

***

### Best Practices

* **Variable im Namen benennen:** Vergib dem Trigger immer einen Namen, der die überwachte Variable klar benennt – z. B. `Variable geändert: Bestellstatus` statt `Trigger 3`. Das erleichtert die Orientierung im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, besonders wenn mehrere Trigger im <code class="expression">space.vars.TERM\_AI\_AGENT</code> existieren.
* **Zweck dokumentieren:** Nutze den optionalen Beschreibungstext, um festzuhalten, warum dieser Trigger existiert und welchen Prozess er anstößt. Das ist besonders hilfreich, wenn mehrere Personen an einem <code class="expression">space.vars.TERM\_AI\_AGENT</code> arbeiten.
* **Nach dem Löschen prüfen:** Überprüfe nach dem Löschen eines Triggers, ob andere Teile des Flows noch auf die betreffende Variable reagieren oder sie anderweitig verwenden – z. B. in Bedingungen oder Aktionen.


# Benutzerdefiniertes Event

Der Trigger startet einen Flow, sobald ein externes System ein Event an die Epic AI Platform API sendet. So löst du Flows durch externe Dienste wie Zapier, Make oder eigene API-Integrationen aus.

### Wo finde ich das?

Den Trigger findest du im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>: Öffne einen Flow, klicke im seitlichen Panel auf *Schritt hinzufügen* und wähle im Abschnitt *Trigger* den Eintrag *Benutzerdefiniertes Event*.

***

### Erklärung – Was ist der Trigger *Benutzerdefiniertes Event*?

Der Trigger *Benutzerdefiniertes Event* gehört zur Kategorie der *Flow-Trigger*. Er wartet auf ein Event, das von einem externen System über die <code class="expression">space.vars.PRODUCT\_NAME</code> API an eine bestimmte Konversation gesendet wird. Sobald das Event eintrifft und dessen Name exakt mit dem im Trigger hinterlegten Namen übereinstimmt, wird der zugehörige Flow gestartet.

Der zugehörige API-Endpunkt lautet:

```
/chatbots/{chatbotId}/conversations/custom-event
```

Typische externe Auslöser sind:

* **Zapier** oder **Make:** zur Verbindung mit anderen Tools und Diensten.
* **Eigene API-Integrationen:** beispielsweise aus einem CRM, Shop-System oder Telefonie-Dienst.

Der im Trigger hinterlegte Event-Name muss **exakt** mit dem Event-Namen übereinstimmen, den das externe System an den Endpunkt sendet – inklusive Groß- und Kleinschreibung. Stimmen die Namen nicht überein, wird der Trigger nicht ausgelöst.

{% hint style="info" %}
Jeder Event-Name kann innerhalb eines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s nur **einmalig** als *Benutzerdefiniertes Event*-Trigger verwendet werden.
{% endhint %}

***

### Verwendung – Was kann man damit machen?

Mit dem Trigger *Benutzerdefiniertes Event* lassen sich Flows aus externen Systemen heraus starten. Typische Anwendungsfälle:

* **Telefonie-Events verarbeiten:** Ein Anruf wird beendet und das externe System sendet das Event `voice_hangup` an die API. Der Trigger startet daraufhin einen Flow, der z. B. eine Zusammenfassung des Gesprächs erstellt oder eine Folge-Nachricht versendet.&#x20;
* **CRM-Ereignisse einbinden:** Ein CRM-System sendet ein Event, wenn sich der Status eines Kontakts ändert – z. B. `deal_closed` –, und löst damit einen Nachfass-Flow aus.
* **Automatisierungen über Zapier oder Make:** Ein externer Dienst sendet bei einem bestimmten Ereignis ein Event an die <code class="expression">space.vars.PRODUCT\_NAME</code> und startet so einen definierten Prozess.

#### Plattformseitige Events

Folgende Events sind in der Plattform integriert und können ohne Fremdsystem genutzt werden.

| Event             | Beschreibung                                                            |
| ----------------- | ----------------------------------------------------------------------- |
| voice\_hangup     | Wird ausgelöst, wenn ein Anruf endet.                                   |
| message\_received | Wird ausgelöst, wenn eine neue Nachricht in einer Konversation eingeht. |

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### Trigger erstellen

{% stepper %}
{% step %}
Öffne den gewünschten Flow im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
{% endstep %}

{% step %}
Klicke im Side Panel auf *Schritt hinzufügen*.
{% endstep %}

{% step %}
Wähle unter *Trigger* den Eintrag *Benutzerdefiniertes Event* aus. Das Bearbeitungspanel öffnet sich.
{% endstep %}

{% step %}
Vergib einen aussagekräftigen *Namen* für den Trigger, z. B. `Event: voice_hangup`.
{% endstep %}

{% step %}
Optional: Füge eine *Beschreibung* hinzu, um den Zweck des Triggers zu dokumentieren.
{% endstep %}

{% step %}
Trage im Feld *Name des Events* den exakten Event-Namen ein, den das externe System senden wird – z. B. `voice_hangup`.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Der Event-Name im Feld *Name des Events* muss exakt mit dem Event übereinstimmen, das das externe System an den Endpunkt sendet.
{% endhint %}

#### Trigger bearbeiten

{% stepper %}
{% step %}
Öffne den Flow, in dem der Trigger hinterlegt ist.
{% endstep %}

{% step %}
Klicke auf den Trigger-Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, um das Bearbeitungspanel zu öffnen.
{% endstep %}

{% step %}
Passe *Name*, *Beschreibung* oder den *Event-Namen* an.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}
{% endstepper %}

#### Trigger löschen

{% stepper %}
{% step %}
Öffne das Bearbeitungspanel des Triggers.
{% endstep %}

{% step %}
Klicke oben rechts im Bearbeitungspanel auf das Papierkorb-Symbol.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Nach dem Löschen des Triggers werden eingehende Events dieses Namens nicht mehr verarbeitet. Stelle sicher, dass das externe System entsprechend angepasst wird, um unnötige API-Aufrufe zu vermeiden.
{% endhint %}

***

### Beispiel

**Szenario:** Sobald ein Deal in einem externen CRM-System als abgeschlossen markiert wird, soll automatisch eine Glückwunsch-Nachricht an den Nutzer gesendet werden.

**Voraussetzung:** Das CRM-System ist so konfiguriert, dass es bei Abschluss eines Deals das Event `deal_closed` an den Endpunkt `/chatbots/{chatbotId}/conversations/custom-event` sendet.

{% stepper %}
{% step %}
Öffne den zuständigen Flow im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
{% endstep %}

{% step %}
Klicke auf *Schritt hinzufügen* und wähle unter *Trigger* den Eintrag *Benutzerdefiniertes Event* aus.
{% endstep %}

{% step %}
Vergib den Namen `Event: Deal Closed`.
{% endstep %}

{% step %}
Trage im Feld *Name des Events* den Wert `deal_closed` ein.
{% endstep %}

{% step %}
Bestätige mit *Ok*.
{% endstep %}

{% step %}
Füge als nächsten Schritt im Flow eine Aktion hinzu – z. B. eine Nachricht an den Nutzer mit einer Bestätigung des erfolgreichen Abschlusses oder einem Hinweis auf die nächsten Schritte.
{% endstep %}
{% endstepper %}

**Ergebnis:** Sobald das CRM-System nach dem Abschluss eines Deals das Event `deal_closed` an die API sendet, wird der Flow gestartet und die Nachricht automatisch versendet.

***

### Best Practices

* **Sprechende Event-Namen wählen:** Wähle Event-Namen, die den auslösenden Vorgang klar beschreiben – z. B. `voice_hangup` oder `deal_closed`. Das erleichtert die Orientierung, wenn mehrere benutzerdefinierte Events im <code class="expression">space.vars.TERM\_AI\_AGENT</code> existieren.
* **Quelle dokumentieren:** Dokumentiere im Beschreibungsfeld des Triggers, welches externe System das Event sendet und unter welchen Bedingungen. So behalten alle Teammitglieder den Überblick, auch wenn sie die externe Integration nicht selbst eingerichtet haben.
* **Event-Namen abstimmen:** Stimme Event-Namen frühzeitig mit den verantwortlichen Personen für die externe Integration ab. Eine nachträgliche Umbenennung erfordert Anpassungen sowohl im Trigger als auch im externen System.
* **Nach Änderungen prüfen:** Überprüfe nach dem Löschen oder Umbenennen eines Triggers, ob das externe System weiterhin Events an den Endpunkt sendet – und passe die Integration entsprechend an, um Fehler zu vermeiden.


# App-Module

Installierte App-Module können direkt im Flow-Builder als eigenständige Schritte eingebunden werden. So lassen sich externe Dienste gezielt an bestimmten Stellen im Flow ausführen.

{% hint style="info" %}
Voraussetzung: Die [App ist im AI Agent installiert](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/apps-appstore) und alle erforderlichen Verbindungen sind eingerichtet und aktiv.
{% endhint %}

### Wo finde ich App-Module im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>?

App-Module stehen im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> als eigener Schritt zur Verfügung. Beim Hinzufügen eines neuen Schritts sind die installierten Apps mit ihren Modulen am Ende der Schritt-Liste aufgeführt – gruppiert nach App-Namen: *Schritt hinzufügen → \[App-Name] → \[Modul]*.

***

### App-Modul-Schritt konfigurieren

Ein Klick auf ein Modul öffnet das Bearbeitungspanel. Es zeigt:

* *Name* – vorausgefüllt mit `[App-Name] – [Modulname]`. Du kannst den Namen anpassen, um den Schritt im Flow leichter identifizieren zu können.
* *Beschreibung* – optional. Hier kannst du eine kurze Erläuterung zum Schritt hinterlegen.
* *Eingabefelder der Parameter* – die vom App-Ersteller definierten [Eingabeparameter](/epic-ai-platform/epic-ai-platform/workspace/apps#module) des Moduls erscheinen als eigene Felder. Pflichtfelder müssen ausgefüllt werden, bevor der Schritt ausgeführt werden kann. In die Felder können sowohl statische Werte als auch Variablen über den [Variablen-Picker](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen#variablen-picker) eingetragen werden.

{% hint style="info" %}
Auf ein App-Modul sollte immer ein weiterer Schritt folgen, da im Anschluss sonst der Fallback greift.
{% endhint %}

***

### Ausgaben des Moduls verwenden

Nach der Ausführung eines App-Modul-Schritts stehen die Ausgabewerte des Moduls als Variablen im Flow zur Verfügung. Sie sind im Variablen-Picker unter der Kategorie des jeweiligen Moduls auffindbar.

Diese Variablen lassen sich im weiteren Verlauf des Flows einsetzen – z. B. in Nachrichten, Bedingungen oder als Eingabe für weitere Module.

**Beispiel:** Das Modul `get_random_joke` der App „Chuck Norris" liefert die Ausgabevariablen `Witz` und `ID`. Diese können anschließend in einer Nachricht verwendet werden:

> `Der heutige Witz: Witz (Chuck Norris → get_random_joke → Witz)`

***

### App-Module als Tool in *Gespräch führen*

App-Module können alternativ auch als Tool im Schritt [Gespräch führen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-gesprach-fuhren) eingebunden werden. Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> entscheidet dabei automatisch, ob und wann er ein Modul während der Konversation aufruft.

***

### Hinweise

* **Inaktive Verbindung:** Ist die Verbindung einer App nicht eingerichtet oder inaktiv, kann das zugehörige Modul im Flow zwar eingebunden, aber nicht ausgeführt werden. Richte zunächst die Verbindung unter *AI Agent → Einstellungen → App Store* ein.
* **Parameter mit Pflichtfeldern:** Enthält ein Modul Pflichtparameter (`required: true`), müssen diese im Bearbeitungspanel zwingend befüllt sein. Andernfalls wird der Schritt nicht korrekt ausgeführt.


# Intentionen

Intentionen ermöglichen es deinem AI Agent, die Absicht hinter einer Benutzereingabe zu erkennen und automatisch den passenden Flow auszuführen.

### Wo finde ich die Intentionen?

Die Verwaltung der Intentionen findest du unter *AI Agent →* *Build → Intentionen*.

In der Intentionsübersicht siehst du alle vorhandenen Intentionen als Tabelle mit *Name*, *Status* (Verknüpft / Nicht verknüpft), *Flow* und *Änderungsdatum* und *ID der Intention*. Über den Button *Intention erstellen* oben rechts legst du neue Intentionen an.

Über das Suchfeld *Intention suchen …* findest du eine Intention schnell per Namen. Mit den Filter-Tabs *Alle*, *Verknüpft* und *Nicht verknüpft* kannst du die Liste zusätzlich eingrenzen – praktisch, um z. B. auf einen Blick zu sehen, welche Intentionen noch keinem Flow zugeordnet sind.

Ist eine Intention mit einem Flow verknüpft, wird der Flow-Name in der Spalte *Flow* als Link angezeigt; ein Klick öffnet den zugehörigen Schritt im Flow direkt. Im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> werden [Intentionen als eigene Schritte](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/intentionen) dargestellt und sind dort direkt auswähl- und verknüpfbar.

***

### Erklärung – Was genau sind Intentionen?

Intentionen sind vordefinierte oder benutzerdefinierte Absichten, die das Ziel oder Anliegen einer Benutzereingabe beschreiben. Sie ermöglichen es dem <code class="expression">space.vars.TERM\_AI\_AGENT</code> zu verstehen, *was* ein Nutzer möchte – also die Bedeutung oder Handlung hinter einer Aussage.

Jede Intention wird durch mehrere **Ausdrücke** trainiert. Ausdrücke sind Beispieläußerungen, die typische Formulierungen für diese Intention darstellen. Wenn eine neue Benutzereingabe erfolgt, vergleicht der <code class="expression">space.vars.TERM\_AI\_AGENT</code> diese Eingabe mit allen vorhandenen Ausdrücken und ermittelt per maschinellem Lernen, welche Intention am besten passt. Die Intention mit der höchsten Übereinstimmung wird als erkannte Intention ausgewählt.

{% hint style="info" %}
Der Schwellenwert für die Erkennung liegt bei 70 %. Nur wenn die berechnete Übereinstimmung diesen Wert überschreitet, wird die Intention als zutreffend erkannt. Dieser Schwellenwert ist fest vorgegeben und kann nicht verändert werden.
{% endhint %}

***

### Beispiel

**Benutzereingabe:** „Ich möchte einen Router anmelden."

Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> erkennt die Intention `Router-Anmeldung` und startet automatisch den zugehörigen Flow (ab [Intentions-Schritt](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/intentionen)), um die Router-Anmeldung durchzuführen.

#### Funktionsweise bei ähnlichen Intentionen

Angenommen, ein Nutzer schreibt: „Ich kann mich nicht anmelden, weil mein Konto gesperrt ist."

Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> vergleicht die Eingabe mit allen Trainingsausdrücken und berechnet die Übereinstimmung:

* `Konto_entsperren` – 85 % Übereinstimmung
* `Passwort_zuruecksetzen` – 42 % Übereinstimmung

Da die Erkennungswahrscheinlichkeit für `Konto_entsperren` über dem Schwellenwert von 70 % liegt, wird diese Intention als zutreffend erkannt. Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> startet den zugehörigen Flow – beispielsweise mit der Rückfrage: „Möchten Sie Ihr Konto entsperren?"

***

### Verwendung – Was kann man mit Intentionen machen?

Intentionen werden im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> eingesetzt, um gezielt auf bestimmte Anliegen von Nutzer:innen zu reagieren. Es gibt zwei Schritttypen, in denen Intentionen verwendet werden: den Schritt [Intention](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/intentionen) und den Schritt [Kontext](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/kontext).

#### Schritt *Intention*

Im Schritt *Intention* legst du über *Intention auswählen* fest, auf welche Absicht des Nutzers der <code class="expression">space.vars.TERM\_AI\_AGENT</code> reagieren soll. Wird eine Benutzereingabe dieser Intention zugeordnet, wird automatisch der dazugehörige Flow durchlaufen.

{% hint style="info" %}
Eine Intention kann im gesamten <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> nur einmal als Einstiegspunkt im Schritt *Intention* ausgewählt werden. Dadurch wird sichergestellt, dass jede Benutzeranfrage eindeutig einem Flow zugeordnet wird und keine Mehrdeutigkeiten entstehen.
{% endhint %}

#### Schritt *Kontext*

Der Schritt *Kontext* wird innerhalb eines bereits laufenden Flows eingesetzt – beispielsweise direkt nach dem Einstieg oder nachdem eine andere Intention ausgelöst wurde. In diesem Schritt wartet der <code class="expression">space.vars.TERM\_AI\_AGENT</code> auf eine neue Benutzereingabe und prüft, ob diese einer der im Kontext-Schritt ausgewählten Intentionen zugeordnet werden kann.

Je nachdem, welche Intention erkannt wird, verzweigt der Flow automatisch zur entsprechenden Verbindung. So kann der <code class="expression">space.vars.TERM\_AI\_AGENT</code> flexibel auf unterschiedliche Antworten innerhalb desselben Gesprächs reagieren, ohne den aktuellen Flow zu verlassen.

{% hint style="info" %}
Wird eine Intention im Kontext-Schritt erkannt, wird *nicht* der eigene Flow der Intention gestartet. Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> bleibt im aktuellen Flow und folgt der definierten Verbindung. Passt keine der ausgewählten Intentionen, wird der Fallback-Verbindung gefolgt.
{% endhint %}

***

### Verwaltung – Erstellen, Bearbeiten und Löschen

{% hint style="info" %}
Nach dem Erstellen oder Ändern von Intentionen ist ein erneutes Training erforderlich, damit die Änderungen vom <code class="expression">space.vars.TERM\_AI\_AGENT</code> berücksichtigt werden.
{% endhint %}

#### Intention erstellen

{% stepper %}
{% step %}
Navigiere zu *Build → Intentionen* und klicke auf *Intention erstellen*.
{% endstep %}

{% step %}
Vergib im Feld *Name der Intention* einen aussagekräftigen, eindeutigen Namen und bestätige im Dialog *Intention hinzufügen* mit *Hinzufügen*. Der Name bleibt sprachunabhängig und lässt sich später anpassen.
{% endstep %}

{% step %}
Wähle über die Sprach-Tabs (mit Flaggen-Symbol, z. B. 🇩🇪 Deutsch) die gewünschte Sprache. Es werden jeweils nur die Ausdrücke der aktuell ausgewählten Sprache angezeigt. In jeder aktivierten Sprache muss mindestens ein Ausdruck vorhanden sein.
{% endstep %}

{% step %}
Gib im Feld *Neuen Ausdruck hinzufügen* einen Ausdruck ein und bestätige mit *Enter*. Mit *Shift + Enter* wird der Ausdruck zusätzlich automatisch in alle aktivierten Sprachen übersetzt. Optional erzeugst du über [*Automatisch generieren*](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen/automatisch-generieren) im Dialog *Phrasen generieren* (Felder *Thema* und *Anzahl*) automatisch Beispielphrasen.
{% endstep %}

{% step %}
Klicke auf *Speichern*, um die Intention mit allen Ausdrücken zu sichern.
{% endstep %}
{% endstepper %}

{% hint style="success" %}
Füge mindestens 10 verschiedene Ausdrücke pro Intention und Sprache hinzu, damit die Erkennung zuverlässig funktioniert.
{% endhint %}

{% hint style="info" %}
Ausdrücke können nicht doppelt hinzugefügt werden – weder innerhalb einer Intention noch über mehrere Intentionen hinweg. Auch bereits einem FAQ-Paar zugeordnete Ausdrücke lassen sich nicht duplizieren. Bei einem Duplikat erscheint eine Fehlermeldung und das Hinzufügen wird abgebrochen. Die Sprachen müssen zuvor [im Reiter Sprachen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/sprache) hinzugefügt worden sein.
{% endhint %}

#### Intention bearbeiten

Du kannst eine Intention jederzeit bearbeiten, indem du in der Intentionsübersicht auf die gewünschte Intention klickst. Folgende Anpassungen sind möglich:

* **Name ändern:** Änderungen werden automatisch in allen Bereichen übernommen, in denen die Intention verwendet wird.
* **Ausdrücke hinzufügen oder löschen:** Neue Ausdrücke ergänzen oder bestehende über das Mülltonnensymbol neben dem jeweiligen Ausdruck entfernen.
* **Sprachen hinzufügen:** Über das Dropdown-Menü eine weitere Sprache auswählen und entsprechende Ausdrücke hinterlegen.

#### Intention löschen

Intentionen kannst du über die Intentionsübersicht löschen. Klicke dazu auf das Papierkorb-Symbol am rechten Ende der jeweiligen Zeile.

{% hint style="warning" %}
Beim Löschen einer Intention ist Folgendes zu beachten:

* Die Intention wird aus dem Schritt *Intention* entfernt. Der nachfolgende Flow ist dann nicht mehr erreichbar.
* Die Intention wird aus allen Kontext-Schritten entfernt. Die zugehörige Abzweigung ist danach nicht mehr ansteuerbar.
* Ausdrücke, die auf diese Intention verweisen, können anschließend nicht mehr zugeordnet werden.
  {% endhint %}

#### Zur Verwendung im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> navigieren

Über die Intentionsübersicht kannst du direkt zum dazugehörigen Intentions-Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> navigieren – klicke dazu in der Spalte *Flow* auf den verknüpften Flow-Namen. So findest du Intentionen im Flow schnell, ohne manuell danach suchen zu müssen.

***

### Beispiele

#### Beispiel 1: Bestellung aufgeben

**Intentionsname:** `Bestellung_aufgeben`

**Ausdrücke:**

* „Ich möchte eine Bestellung aufgeben."
* „Bitte bestellen Sie Artikel XY für mich."
* „Ich will Produkt ABC kaufen."
* „Kann ich das Produkt jetzt bestellen?"
* „Ich hätte gerne diese Bestellung."

#### Beispiel 2: Sendungsverfolgung

**Intentionsname:** `Sendungsverfolgung`

**Ausdrücke:**

* „Wann kommt meine Lieferung?"
* „Wo ist mein Paket?"
* „Lieferstatus von Bestellung 12345."
* „Mein Paket ist noch nicht angekommen, wo bleibt es?"
* „Können Sie mir sagen, wann die Lieferung ankommt?"

#### Beispiel 3: Newsletter abbestellen

**Intentionsname:** `Newsletter_abbestellen`

**Ausdrücke:**

* „Ich möchte den Newsletter abbestellen."
* „Bitte melden Sie mich vom Newsletter ab."
* „Newsletter nicht mehr erhalten."
* „Ich möchte keine E-Mails mehr bekommen."
* „Abmeldung vom Newsletter bitte."

***

### Best Practices

* **Eindeutige, aussagekräftige Namen vergeben:** Der Name sollte den Zweck der Intention klar widerspiegeln, damit die Zuordnung im Flow nachvollziehbar bleibt – z. B. `Bestellung_aufgeben` statt `Bestellung1`.
* **Mindestens 10 Ausdrücke pro Intention hinzufügen:** Je mehr unterschiedliche Formulierungen du hinterlegst, desto zuverlässiger wird die Erkennung. Baue Variationen in Schreibweise, Satzlänge und Ausdruck ein, damit der <code class="expression">space.vars.TERM\_AI\_AGENT</code> auch ungewöhnliche Formulierungen erkennt.
* **Inhaltlich ähnliche Intentionen vermeiden:** Stelle sicher, dass sich Intentionen und ihre Ausdrücke nicht zu stark überschneiden. Ähnliche Ausdrücke in unterschiedlichen Intentionen können zu Fehlzuordnungen führen.
* **Regelmäßig testen und anpassen:** Prüfe die Intentionserkennung mit realen Benutzereingaben. Beachte, dass neue oder inhaltlich ähnliche Intentionen die Klassifikation beeinflussen können.
* **Verwendung im Flow prüfen, bevor du löschst:** Kontrolliere vor dem Löschen einer Intention, wo sie im Flow eingesetzt wird. So vermeidest du Logikfehler und unerreichbare Flow-Abschnitte.
* **Automatische Übersetzung nutzen:** Verwende `Shift + Enter` beim Hinzufügen von Ausdrücken, um automatisch Übersetzungen für alle aktivierten Sprachen zu erzeugen. Das spart Zeit und sorgt für konsistente Abdeckung.
* **Phrasen automatisch generieren:** Lass dir über *✨ Automatisch generieren* (Thema + Anzahl) Beispielausdrücke erzeugen, um schneller eine solide Basis aufzubauen.


# Entitäten

Entitäten sind vordefinierte oder benutzerdefinierte Datenelemente, die bestimmte Informationen aus einer Nutzereingabe automatisch extrahieren.

### Wo finde ich Entitäten?

Die Entitäten findest du über *AI Agent → Build → Entitäten*.

In der Übersicht sind alle Entitäten mit *Name*, *Typ* (Benutzerdefiniert / Built-In), *Änderungsdatum* und *ID* aufgelistet. Über die Filter-Tabs oben rechts (*Alle*, *Benutzerdefiniert*, *Built-In*) kannst du die Liste nach Typ filtern; die Suche findet einzelne Entitäten per Namen. Built-In-Entitäten (z. B. URL, E-Mail, Datum) sind vom System vordefiniert, können aber deaktiviert werden.

{% hint style="info" %}
Im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> werden eingefügte Entitäten automatisch blau hervorgehoben und mit `Entitätsname (Entitäten)` gekennzeichnet.
{% endhint %}

***

### Erklärung – Was genau sind Entitäten?

Eine Entität erkennt automatisch bestimmte Informationen in der Nutzereingabe. Dabei kann eine Entität aus einer oder mehreren **Komponenten** bestehen. Jede Komponente legt fest, nach welcher Methode eine Entität erkannt wird. Außerdem kann für jede Komponente eingestellt werden, ob sie **verpflichtend** oder **optional** ist.

**Beispiel:** Nutzer: „Meine IBAN ist DE12345678901234567890" → der <code class="expression">space.vars.TERM\_AI\_AGENT</code> erkennt die Entität `IBAN` mit dem Wert „DE12345678901234567890".

***

### Arten von Entitäten-Komponenten

#### Reguläre-Ausdrücke-Komponente (Regex)

Reguläre Ausdrücke sind Muster, mit denen bestimmte Zeichenfolgen erkannt werden. Sie eignen sich besonders für klar strukturierte Datenformate wie IBAN, Telefonnummern oder Postleitzahlen.

Eine Regex-Komponente kann mehrere Ausdrücke enthalten. Jeder Ausdruck besteht aus drei Feldern:

* *Schlüssel* – interner Bezeichner für den Ausdruck (z. B. zur Unterscheidung mehrerer Varianten innerhalb derselben Entität).
* *Sprache* – die Sprache, für die der Ausdruck gilt.
* *Regulärer Ausdruck* – das eigentliche Muster.

Über *Ausdruck hinzufügen* lassen sich beliebig viele Muster ergänzen – etwa um dieselbe Entität in mehreren Sprachen oder mit mehreren Schreibweisen zu erkennen.

**Beispiel – Kundennummer:** Nutzer: „Meine Kundennummer lautet KD 1234 5678."

| Schlüssel         | Sprache | Regulärer Ausdruck                   |
| ----------------- | ------- | ------------------------------------ |
| `kundennummer_de` | Deutsch | `[Kk][Dd][ -]?[0-9]{4}[ -]?[0-9]{4}` |

Erklärung:

* `[Kk][Dd]` → Präfix „KD" ist zwingend, Groß-/Kleinschreibung wird akzeptiert.
* `[ -]?` → erlaubt optional ein Leerzeichen oder einen Bindestrich.
* `[0-9]{4}` → erwartet genau vier Ziffern.

Positiv-Beispiele (erkannt): `KD12345678`, `kd12345678`, `KD 1234 5678`, `kd-1234-5678`.

Negativ-Beispiele (nicht erkannt): `KD/1234/5678` (Schrägstriche nicht erlaubt), `K12345678` (Buchstabe „D" aus Präfix fehlt), `KD 12345 678` (falsche Ziffernanzahl).

{% hint style="info" %}
Verwende Online-Tools wie regex101.com, um deinen Regex zu testen. Prüfe immer mit vollständigen Nutzereingaben – nicht nur mit dem isolierten Wert. Bei Voice-Eingaben können Transkriptionen leicht variieren; plane Toleranz für optionale Leerzeichen oder Bindestriche ein. `KD[ -]?` erkennt z. B. sowohl „KD1234" als auch „KD 1234" und „KD-1234".
{% endhint %}

#### Prebuilt-Komponente

Eine Prebuilt-Komponente ist eine bereits vorhandene, systemseitig definierte Erkennungslogik – z. B. für E-Mail-Adressen oder Prozentangaben. Diese Komponenten müssen nicht manuell konfiguriert werden. Es wird lediglich die gewünschte Prebuilt-Kategorie ausgewählt.

#### Listen-Komponente (Synonymlisten)

Listen bestehen aus Schlüsselwerten und Synonymen. Dadurch können verschiedene bedeutungsgleiche Begriffe auf dieselbe Entität abgebildet werden. Das ist ideal für begrenzte Wertebereiche wie Marken, Kategorien oder Produktnamen.

{% hint style="info" %}
Eine Erkennung erfolgt nur bei exakter Übereinstimmung mit einem der definierten Synonyme. Groß- und Kleinschreibung ist dabei relevant.
{% endhint %}

**Beispiel – Automarke:** Schlüssel `Volkswagen` | Synonyme `VW`, `VW Golf`, `VW Polo`, `VAG`

Nutzer: „Ich fahre einen VW Polo." → Entität `Automarke` erkannt → Wert „Volkswagen".

Positiv-Beispiele (erkannt): `VW`, `VW Golf`, `VAG` – jeweils Wert „Volkswagen".

Negativ-Beispiele (nicht erkannt): `vw` (Kleinschreibung ist relevant), `volkswagen` (nicht als Synonym definiert), `VW-Golf` (Bindestrich nicht als Synonym hinterlegt).

#### Erlernt-Komponente

Die Erlernt-Komponente basiert auf trainierten Beispielen. Das Modell erkennt Entitäten anhand des Kontexts, auch wenn keine exakte Übereinstimmung mit einer Liste oder einem Regex besteht. Als Grundlage dienen markierte Entitäten aus dem Bereich [Entitäten labeln](/epic-ai-platform/epic-ai-platform/ai-agent/daten/entitaten-labeln) (unter *Daten*).

**Beispiel:** Trainierte Entität `Ort` – Nutzer: „Ich möchte morgen nach Berlin reisen." → das Modell erkennt „Berlin" als Ort, ohne explizite Hinterlegung.

{% hint style="info" %}
Die Erlernt-Komponente wird nur definiert, wenn du Äußerungen mit dieser Entität kennzeichnest (labeln). Ohne gelabelte Beispiele hat die Entität keine Erlernt-Komponente.
{% endhint %}

***

### Verwendung – Was kann man mit Entitäten machen?

Entitäten lassen sich im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> ähnlich wie Variablen einsetzen. Sie dienen dazu, automatisch erkannte Informationen aus der letzten Nutzereingabe gezielt weiterzuverarbeiten, zu speichern oder zur Steuerung des Gesprächsflusses zu verwenden.

{% hint style="warning" %}
Entitäten werden nach jeder Nutzereingabe neu geladen. Wenn der erkannte Wert im weiteren Verlauf verwendet werden soll, muss er in einer benutzerdefinierten Variable gespeichert werden.
{% endhint %}

#### Kontrolle, ob eine Entität erkannt wurde

Prüfe im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> per [Bedingung](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/bedingung), ob in der letzten Nutzereingabe eine bestimmte Entität erkannt wurde:

* `Kundennummer (Entitäten)` – nicht leer – (rechts leer lassen)
* `IBAN (Entitäten)` – ungleich (!=) – `""`

{% hint style="info" %}
Nicht erkannte Entitäten haben immer den Standardwert `""` (leerer String). Wird geprüft, ob eine Entität nicht leer ist, darf rechts kein Wert eingetragen werden.
{% endhint %}

#### Ausgabe an Nutzer

Verwende Entitäten in Nachrichten, um personalisierte Antworten zu erzeugen – z. B. „Danke, Ihre Kundennummer `Kundennummer (Entitäten)` wurde notiert." In der Praxis verwendet man hierfür meist die [benutzerdefinierte Variable](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen), in der der Wert der Entität dauerhaft gespeichert wurde.

#### Zwischenspeicher – Wert in Variable speichern

Speichere erkannte Entitäten dauerhaft in Variablen, um sie später weiterzuverarbeiten. Beispielsweise wird der erkannte Wert der Entität `IBAN (Entitäten)` in der benutzerdefinierten Variable `IBAN (Benutzerdefiniert - Kontakt)` gespeichert, um ihn im weiteren Verlauf flexibel zu nutzen (siehe Abschnitt *Beispiel*).

{% hint style="success" %}
Prüfe vor dem Speichern immer zuerst per Bedingung, ob die Entität erkannt wurde (nicht leer ist).
{% endhint %}

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### Entität erstellen

{% stepper %}
{% step %}
Navigiere zu *AI Agent → Build → Entitäten*.
{% endstep %}

{% step %}
Klicke oben rechts auf *Entität erstellen*.
{% endstep %}

{% step %}
Vergib einen aussagekräftigen Namen – dieser ist später im Variablen-Picker und im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> sichtbar.
{% endstep %}

{% step %}
Bestätige mit *Entität erstellen* – die Detailansicht öffnet sich.
{% endstep %}

{% step %}
Klappe die gewünschten Komponenten auf und konfiguriere sie.
{% endstep %}

{% step %}
Aktiviere bei Bedarf den Toggle *Benötigt* für eine Komponente.
{% endstep %}

{% step %}
Die Änderungen werden automatisch gespeichert.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Nach dem Erstellen muss mindestens eine Komponente hinzugefügt werden. Andernfalls kann der <code class="expression">space.vars.TERM\_AI\_AGENT</code> nicht trainiert werden.
{% endhint %}

#### Entität bearbeiten

Um eine Entität zu bearbeiten, klicke in der Entitätsübersicht direkt auf die gewünschte Entität. Folgendes kann angepasst werden:

* **Name ändern:** Eine Namensänderung wirkt sich automatisch auf alle Verwendungsstellen im Flow aus – ohne manuelle Anpassungen.
* **Komponenten anpassen:** Alle Komponenten können frei bearbeitet werden, z. B. Listen erweitern oder Regex aktualisieren.
* ***Benötigt*****-Status ändern:** Kann nachträglich für jede Komponente angepasst werden.

#### Prebuild-Entität hinzufügen

Prebuild-Entitäten (z. B. URL, Datum, Währung) wählst du aus einer Liste aus und fügst sie hinzu. Aktiviere zusätzlich den Toggle *Benötigt*, um die Prebuild-Entität als Pflichtfeld zu nutzen.

#### Entität löschen

Klicke in der Entitätsübersicht auf das Mülleimer-Symbol am rechten Ende der entsprechenden Zeile. Prüfe vor dem Löschen, an welchen Stellen die Entität im Flow verwendet wird (z. B. in Bedingungen oder App-Modulen). Gelöschte Entitäten werden im Flow rot markiert und als `Variable nicht vorhanden` dargestellt.

{% hint style="warning" %}
Das Löschen einer Entität entfernt sie an **allen Stellen im Flow**. Das kann zu Logikfehlern führen – insbesondere wenn die Entität zuvor in Bedingungen verwendet wurde. Mögliche Folgen:

* Bedingungen werten immer „falsch" aus → bestimmte Pfade sind nicht mehr erreichbar.
* Unerwartete Flow-Verzweigungen können entstehen.
* Wichtige Aktionen werden nicht mehr ausgeführt.
  {% endhint %}

***

### Beispiel – Rufnummerabfrage bei unterdrückter Rufnummer

Wenn ein Anrufer mit unterdrückter Nummer anruft, ist die Variable `Telefonnummer (Kontakt)` leer. Mit einer Entität kann die Nummer erfragt und gespeichert werden.

{% stepper %}
{% step %}
**Entität erstellen:** Erstelle unter *AI Agent → Build → Entitäten* eine neue Entität „Telefonnummer", konfiguriere die Reguläre-Ausdrücke-Komponente mit dem Regex `(+49|0)[\s-]?\d{3,4}[\s-]?\d{5,8}`, aktiviere den Toggle *Benötigt*. Die Änderungen werden automatisch übernommen.
{% endstep %}

{% step %}
**Prüfen, ob die Rufnummer bekannt ist:** Lege eine Bedingung an und prüfe `Telefonnummer (Kontakt)` – nicht leer. Ist der Wert leer, leite den Flow in die Rückfrage weiter.
{% endstep %}

{% step %}
**Rückfrage an den Nutzer stellen:** Lege einen Block mit folgender Textnachricht an: „Ich sehe, dass Sie mit einer unterdrückten Telefonnummer anrufen. Für das weitere Vorgehen wird jedoch Ihre Rufnummer benötigt. Bitte teilen Sie mir diese nun mit." Aktiviere außerdem die Option *Erwartet Nutzereingabe nach diesem Block*.
{% endstep %}

{% step %}
**Kontrolle, ob die Entität erkannt wurde:** Lege eine Bedingung an: `Telefonnummer (Entitäten)` – nicht leer. Bei *Falsch* leitest du den Flow zurück in eine erneute Rückfrage, bei *Wahr* fährst du mit dem nächsten Schritt fort.
{% endstep %}

{% step %}
**Wert in Variable speichern:** Lege einen neuen Block an, füge das Element *Variable festlegen* (unter Aktionen) hinzu und weise der benutzerdefinierten Variable `Telefonnummer (Benutzerdefiniert - Kontakt)` den Wert aus `Telefonnummer (Entitäten)` zu. Die Telefonnummer kann nun im weiteren Flow-Verlauf flexibel verwendet werden.
{% endstep %}
{% endstepper %}

***

### Best Practices

* **Regex flexibel, aber präzise gestalten:** Gestalte Regex nicht zu restriktiv – leichte Eingabevariationen (z. B. bei Voice) sollen trotzdem erkannt werden. Plane bei Voice-Eingaben Toleranz für optionale Leerzeichen oder Bindestriche ein; `KD[ -]?` erkennt z. B. sowohl „KD1234" als auch „KD 1234" und „KD-1234".
* **Immer mit echten Beispielen testen:** Teste Regex mit vollständigen Nutzereingaben aus echten Chats oder Voice-Transkriptionen. Nutze auch Tools wie regex101.com zum Testen und Debuggen.
* **Erkannte Werte immer speichern:** Entitätswerte werden nach jeder Nutzereingabe zurückgesetzt. Speichere erkannte Werte deshalb immer in benutzerdefinierten Variablen, wenn du sie im weiteren Verlauf wieder benötigst.
* **Vor dem Löschen prüfen:** Überprüfe vor dem Löschen einer Entität, an welchen Stellen sie im Flow verwendet wird, und prüfe den Flow anschließend auf Logikfehler und leere Felder.


# Trigger

Die Trigger-Übersicht zeigt dir alle Trigger, die in deinem AI Agent im Flow-Builder platziert wurden – an einer zentralen Stelle und auf einen Blick.

### Wo finde ich das?

Die Trigger-Übersicht findest du über *Build → Trigger*.

***

### Was genau ist die Trigger-Übersicht?

Die Trigger-Übersicht listet alle Trigger auf, die aktuell in deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> aktiv eingesetzt werden. Sie dient als zentrale Anlaufstelle, um schnell nachzuvollziehen, welche Trigger im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> vorhanden sind und welchem Event sie zugeordnet sind.

Über das Suchfeld kannst du gezielt nach einzelnen Triggern suchen. Zusätzlich lässt sich die Liste über die Reiter *Alle*, *Tags*, *Variablen* und *Custom* filtern; die Zahl neben jedem Reiter zeigt die jeweilige Anzahl an Triggern in dieser Kategorie an.

{% hint style="info" %}
Trigger können ausschließlich im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> erstellt, bearbeitet oder gelöscht werden. Diese Übersichtsseite dient nur der Ansicht und Navigation.
{% endhint %}

***

### Was sehe ich in der Übersicht?

Die Liste zeigt alle platzierten Trigger mit folgenden Informationen:

* *Inhalt* – der Name des Trigger-Inhalts, z. B. der zugehörige Tag.
* *Event* – der Trigger-Typ, z. B. [Tag hinzugefügt](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/tag-hinzugefugt) oder [Benutzerdefiniertes Event](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/benutzerdefiniertes-event).
* *Flow* – der Flow, in dem der Trigger platziert ist.
* *Geändert* – Datum der letzten Änderung des Triggers.
* *ID* – Eindeutige ID des Triggers.

#### Gelöschtes Tag

Wenn ein Tag, das als Trigger-Inhalt verwendet wurde, nachträglich gelöscht wird, bleibt der Trigger in der Übersicht erhalten – der Inhalt wird jedoch als *Gelöschtes Tag* angezeigt. Der Trigger ist damit nicht mehr mit einem gültigen Tag verknüpft.

{% hint style="warning" %}
Ein Trigger mit *Gelöschtes Tag* ist nicht mehr funktionsfähig. Navigiere über den Button *Zum Trigger* direkt zum betroffenen Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> und passe ihn an oder entferne ihn.
{% endhint %}

***

### Zum Trigger navigieren

Durch einen Klick auf die jeweilige Tabellenzeile gelangst du direkt zum entsprechenden Trigger-Schritt im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>. So findest du einen Trigger schnell, ohne ihn manuell im Flow suchen zu müssen.


# Variablen

Variablen sind Speicherorte für dynamische Werte innerhalb einer Unterhaltung. Sie ermöglichen es, Informationen wie Nutzerdaten oder erkannte Entitäten zu speichern und im Flow-Builder zu verwenden.

### Wo finde ich Variablen?

Die **Verwaltung von Variablen** findest du über *AI Agent → Build → Variablen*.

**Variablen im** <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>**:** Eingefügte Variablen werden farblich markiert: blau für beschreibbare (benutzerdefinierte) Variablen, gelb mit Schloss-Symbol für schreibgeschützte, automatisch befüllte Variablen (z. B. System- oder Konversationsvariablen wie Konversation-ID oder aktueller Zeitstempel). So sind Inhalt und Bearbeitungsstatus einer Variable auf einen Blick erkennbar.

***

### Was genau sind Variablen?

Variablen sind beschriftete Speicherorte für dynamische Werte, die während einer Konversation im <code class="expression">space.vars.TERM\_AI\_AGENT</code> verwendet werden. Sie ermöglichen es, Informationen wie den Namen eines Nutzers, eine IBAN oder eine Produktauswahl auf Konversations- oder Kontaktebene zu speichern und im Verlauf gezielt einzusetzen; etwa zur Anzeige in Nachrichten oder zur Prüfung in Bedingungen.

#### Zwei Arten von Variablen

Es gibt zwei grundlegende Arten von Variablen:

* **Standard-Variablen** werden automatisch durch das System erstellt und befüllt, z. B. durch erkannte Entitäten oder Nutzerdaten. Ihre Werte können nicht manuell bearbeitet werden und tauchen in der Variablenübersicht nicht auf. Sie können ausschließlich im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> verwendet werden.
* **Benutzerdefinierte Variablen** werden gezielt an bestimmten Stellen im Flow gesetzt. Sie eignen sich sowohl zur Speicherung als auch zur Verwendung von Werten innerhalb des gesamten Flows in Bedingungen, Blöcken oder API-Aufrufen.

#### Variablen-Picker

Variablen sind in Kategorien eingeteilt. Diese Kategorien werden auch im Variablen-Picker angezeigt und gruppieren Variablen nach Zweck und Ursprung:

<table><thead><tr><th width="162.21484375">Kategorie</th><th width="374.8984375">Beschreibung</th><th>Beispiele</th></tr></thead><tbody><tr><td><strong>Konversation</strong></td><td>Automatische Variablen: Informationen zur laufenden Konversation</td><td>Konversation-ID, Sprache, Kanal-Typ</td></tr><tr><td><strong>Kontakt</strong></td><td>Automatische Variablen: Daten zum Nutzer</td><td>Name, Telefonnummer</td></tr><tr><td><strong>System</strong></td><td>Automatische Variablen: technische Systemvariablen</td><td>ID des <code class="expression">space.vars.TERM_AI_AGENT</code>s, aktueller Zeitstempel</td></tr><tr><td><a href="/pages/AckOiY6uA5xTs60yaBX5"><strong>Entitäten</strong></a></td><td>Automatische Variablen: Werte aus erkannten Entitäten basierend auf der letzten Nutzereingabe</td><td>IBAN, Datum, Rechnungsnummer</td></tr><tr><td><p><strong>Benutzerdefiniert</strong></p><ul><li><strong>Konversation</strong></li><li><strong>Kontakt</strong></li></ul></td><td>Manuelle Variablen: Speicherung beliebiger Werte, flexibel im gesamten Flow nutzbar. Unterteilt in die Subkategorien <em>Konversation</em> und <em>Kontakt</em></td><td>Kundennummer, gewähltes Produkt, Kundenanliegen</td></tr><tr><td><a href="/pages/oZOlCunKKBzOU7MaoTFV"><strong>App-Module</strong></a></td><td>Automatische Variablen: Daten aus externen Quellen bzw. integrierten App-Modulen</td><td>Versanddienstleister → Abfrage Sendestatus → Sendestatus</td></tr></tbody></table>

{% hint style="info" %}
**Besonderheit bei App-Modulen:** Für jedes App-Modul gibt es im Variablen-Picker eine eigene Kategorie, unter der die zugehörigen Variablen übersichtlich gruppiert sind.
{% endhint %}

#### Darstellung von Variablen im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>

Je nach Herkunft einer Variable gibt es zwei Darstellungstypen für Variablennamen im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>:

* **Feste Kategorien** (z. B. System, Benutzerdefiniert): `Name der Variable (Kategorie)`
* **App-Module:** `Name der App → Name des App-Moduls → Name der Variable`

Zusätzlich sind Variablen farblich gekennzeichnet:

* Blau = beschreibbar (benutzerdefinierte Variablen), z. B. `Zusammenfassung (Benutzerdefiniert - Konversation)`
* Gelb mit Schloss-Symbol = schreibgeschützt, z. B. `Konversation-Id (Konversation)` oder `Aktueller Zeitstempel (System)`

***

### Was kann man mit Variablen machen?

#### Werte zuweisen

Die manuelle Zuweisung von Werten ist ausschließlich bei **benutzerdefinierten Variablen** möglich. Variablen aus den Kategorien Kontakt, Konversation, System oder Entitäten werden automatisch befüllt und können nicht manuell überschrieben werden.

Für eine benutzerdefinierte Variable kann ein **Standardwert** hinterlegt werden. Dieser ist von Beginn an in der Variable gespeichert und bleibt bestehen, solange er nicht aktiv überschrieben wird. Er kann direkt bei der Erstellung oder nachträglich bei der Bearbeitung festgelegt werden.

So weist du einer Variable im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> einen Wert zu:

{% stepper %}
{% step %}
Öffne den Block, in dem einer Variable ein Wert zugewiesen werden soll (z. B. nach der Erkennung der Entität IBAN durch eine Benutzereingabe).
{% endstep %}

{% step %}
Füge ein Element vom Typ [Variable festlegen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen#variable-festlegen) hinzu.
{% endstep %}

{% step %}
Klicke auf *Variable auswählen*, um den Variablen-Picker zu öffnen.
{% endstep %}

{% step %}
Wähle die Variable aus, in der der Wert gespeichert werden soll. Da nur benutzerdefinierte Variablen manuell befüllt werden können, zeigt der Variablen-Picker in diesem Kontext ausschließlich Variablen dieser Kategorie an.
{% endstep %}

{% step %}
Trage im Feld *Folgenden Wert zuweisen* den gewünschten Wert ein oder füge über den Variablen-Picker einen bestehenden Wert ein (z. B. aus einer anderen Variable oder einer Entität). Es kann sowohl ein statischer Text als auch ein Variablenwert verwendet werden – auch eine Kombination ist möglich.
{% endstep %}
{% endstepper %}

#### Verwendung im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>

Variablen sind zentrale Bausteine im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>. Sie lassen sich über den Variablen-Picker in nahezu jedem Eingabe-Textfeld verwenden, um Inhalte dynamisch zu gestalten, Entscheidungen zu treffen oder externe Systeme anzusprechen.

**Ausgabe an Nutzer** – personalisierte Antworten in Nachrichten:

* `Hallo Vorname (Benutzerdefiniert - Kontakt)`, darf ich die Telefonnummer `Telefonnummer (Kontakt)` notieren?
* Der aktuelle Bestellstatus ist: `Versanddienstleister → Abfrage Sendestatus → Sendestatus`

**Vergleiche in** [**Bedingungen**](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/bedingung) – logische Entscheidungen im Flow:

* Wenn `Angerufene Rufnummer (Konversation)` – gleich (==) – `0123456789`
* Wenn `Anzahl Artikel (Benutzerdefiniert - Konversation)` – größer als (>) – `3`

**App-Module** – Variablenwerte an externe Module oder API-Aufrufe übergeben:

* die Trackingnummer als Parameter eines Versanddienstleister-App-Moduls
* Name und Produktwahl im Body eines E-Mail-App-Moduls

**Zwischenspeicher für Nutzerinteraktionen** – Antworten dauerhaft speichern:

* Der erkannte Wert der Entität `IBAN (Entitäten)` wird in der benutzerdefinierten Variable `IBAN (Benutzerdefiniert - Kontakt)` gespeichert, um ihn im weiteren Verlauf flexibel nutzen zu können.

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

{% hint style="info" %}
Die folgenden Funktionen beziehen sich ausschließlich auf **benutzerdefinierte Variablen**. Automatisch befüllte Variablen (z. B. aus den Kategorien Kontakt, Konversation, System oder Entitäten) können nicht bearbeitet oder gelöscht werden.
{% endhint %}

#### Variable erstellen

Klicke oben rechts in der Variablenübersicht auf *Variable erstellen*. Beim Erstellen nimmst du folgende Einstellungen vor:

{% stepper %}
{% step %}
**Namen festlegen:** Der Name ist später im Variablen-Picker und im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> sichtbar. Wähle einen aussagekräftigen, eindeutigen Namen, damit die Verwendung im Flow nachvollziehbar bleibt.
{% endstep %}

{% step %}
**Speicherort wählen (Subkategorie):** Legt fest, ob die Variable einer *Konversation* oder einem *Kontakt* zugeordnet wird.

* *Konversation* – gilt nur für die aktuelle Konversation; nach deren Ende wird der Wert nicht weiter gespeichert.
* *Kontakt* – ist dem Kontakt dauerhaft zugeordnet; der Wert bleibt über mehrere Konversationen hinweg erhalten und steht beim nächsten Kontakt wieder zur Verfügung.
  {% endstep %}

{% step %}
**Datentyp auswählen:** Es stehen vier Datentypen zur Auswahl: `(.*)` Text, `#` Zahl, `<>` Boolescher Wert (WAHR/FALSCH) und `{}` Objekt.
{% endstep %}

{% step %}
**Standardwert festlegen (optional):** Dieser Wert wird verwendet, wenn der Variable im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> noch kein Wert zugewiesen wurde – praktisch für Initialwerte oder Fallbacks.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Die Subkategorie einer benutzerdefinierten Variable wird beim Erstellen festgelegt und kann nachträglich **nicht** geändert werden. Um die Subkategorie zu wechseln, muss eine neue Variable angelegt werden.
{% endhint %}

{% hint style="success" %}
In den meisten Fällen eignet sich der Datentyp *Text*, da er besonders flexibel einsetzbar ist.
{% endhint %}

#### Variable bearbeiten

Variablen kannst du jederzeit über die Variablenübersicht bearbeiten. Klicke dazu auf das Stift-Symbol am rechten Ende der entsprechenden Zeile. Im Dialog *Variable bearbeiten* kannst du folgende Einstellungen anpassen:

* **Name ändern:** Eine Änderung des Variablennamens wirkt sich automatisch auf alle Verwendungsstellen im Flow aus. So bleibt der Flow konsistent, ohne dass manuelle Anpassungen nötig sind.
* **Standardwert anpassen:** Der optionale Standardwert kann jederzeit geändert werden.

{% hint style="info" %}
Der **Datentyp** einer Variable sowie deren **Subkategorie** können nachträglich **nicht** geändert werden. Es muss eine neue Variable angelegt werden.
{% endhint %}

#### Variable löschen

Variablen kannst du über die Variablenübersicht löschen. Klicke dazu auf das Mülleimer-Symbol am rechten Ende der entsprechenden Zeile. Beim Löschen wird die Variable an allen Stellen aus dem Flow entfernt. Prüfe daher vor dem Löschen, an welchen Stellen im Flow die Variable verwendet wird.

{% hint style="warning" %}
Das Löschen einer Variable kann zu **Logikfehlern** führen, insbesondere wenn sie zuvor in Bedingungen verwendet wurde. Wird eine Variable beispielsweise in einer Bedingung abgefragt (`Anzahl Artikel (Benutzerdefiniert - Konversation) – gleich (==) – "42"`) und später gelöscht, bleibt die Bedingung bestehen, aber ohne gültige Vergleichsgrundlage. Das kann dazu führen, dass:

* Bedingungen immer „falsch" auswerten und bestimmte Pfade nicht mehr erreichbar sind,
* unerwartete Flow-Verzweigungen auftreten oder
* wichtige Aktionen nicht mehr ausgeführt werden.
  {% endhint %}

{% hint style="success" %}
Überprüfe nach dem Löschen den Flow zusätzlich auf mögliche Logikfehler und leere Felder. Gelöschte Variablen werden im Flow **rot hinterlegt** und wie folgt dargestellt: `Variable nicht vorhanden`.
{% endhint %}

***

### Beispiele

#### Werte von Entitäten in Variablen speichern (Beispiel: IBAN)

Wenn die IBAN eines Nutzers als [Entität](/epic-ai-platform/epic-ai-platform/ai-agent/build/entitaten) erkannt wurde und dieser Wert dauerhaft gespeichert werden soll, ist Folgendes zu beachten: Entitätswerte werden nach jeder Benutzereingabe zurückgesetzt. Der Wert muss daher explizit und unmittelbar in einer Variable gespeichert werden, um im weiteren Verlauf verfügbar zu bleiben.

{% stepper %}
{% step %}
Öffne den Block, in dem die Variable befüllt werden soll. In diesem Fall direkt nach der Erkennung der Entität IBAN durch eine Benutzereingabe.
{% endstep %}

{% step %}
Füge ein Element vom Typ [Variable festlegen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen#variable-festlegen) hinzu.
{% endstep %}

{% step %}
Klicke auf *Variable auswählen*, um den Variablen-Picker zu öffnen.
{% endstep %}

{% step %}
Wähle die Variable `IBAN (Benutzerdefiniert - Kontakt)` aus.
{% endstep %}

{% step %}
Öffne im Feld *Folgenden Wert zuweisen* erneut den Variablen-Picker.
{% endstep %}

{% step %}
Wähle unter der Kategorie *Entitäten* die Entität `IBAN (Entitäten)` aus.
{% endstep %}
{% endstepper %}

Die erkannte IBAN ist nun dauerhaft in der Variable `IBAN (Benutzerdefiniert - Kontakt)` gespeichert und steht im weiteren Flow-Verlauf zur Verfügung.

***

### Best Practices

* **Datentyp&#x20;*****Text*****&#x20;bevorzugen:** Wähle in den meisten Fällen den Datentyp *Text* für benutzerdefinierte Variablen. Er ist besonders flexibel und universell einsetzbar:
  * **Universell nutzbar:** Es lassen sich die unterschiedlichsten Werte speichern, egal ob Texte, Zahlen, IDs oder Codes.
  * **Kompatibel mit Bedingungen:** Auch wenn eine Zahl als Text gespeichert wird, erkennt das System bei Vergleichen automatisch den richtigen Typ. Wird etwa der Wert `42` als Text in `Anzahl Artikel (Benutzerdefiniert - Konversation)` gespeichert, funktionieren numerische Operatoren wie `gleich (==)`, `größer gleich (>=)` und `kleiner gleich (<=)` trotzdem korrekt.
* **Speicherort bewusst wählen:** Überlege vor dem Erstellen genau, ob der Wert nur für die aktuelle Konversation relevant ist oder auch in zukünftigen Konversationen mit demselben Kontakt zur Verfügung stehen soll, da die Subkategorie nachträglich nicht geändert werden kann.
  * Für flüchtige Werte wie Zwischenergebnisse oder Gesprächskontext → *Konversation*
  * Für dauerhafte Nutzerdaten wie Kundennummer, Produktvorlieben oder Kontakthistorie → *Kontakt*


# FAQs

FAQs (Frequently Asked Questions) sind vordefinierte Frage-Antwort-Paare, mit denen dein AI Agent häufig gestellte Fragen direkt beantworten kann – ohne einen separaten Flow durchlaufen zu müssen.

### Wo finde ich die FAQs?

Die Verwaltung der FAQs erreichst du über *AI Agent → Build → FAQs*.

Dort siehst du eine Übersicht aller angelegten FAQ-Paare mit Name und letztem Änderungsdatum. Über die Reiter *Alle* und *Antwort fehlt* filterst du die Liste, über das Suchfeld oben suchst du gezielt nach einem FAQ-Paar.

{% hint style="info" %}
FAQs werden im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> nicht als eigene Schritte dargestellt. Die Antwort wird direkt im FAQ-Eintrag hinterlegt und vom <code class="expression">space.vars.TERM\_AI\_AGENT</code> ausgegeben.
{% endhint %}

***

### Erklärung – Was genau sind FAQs?

FAQs sind Frage-Antwort-Paare, die häufige Nutzeranfragen direkt beantworten. Sie eignen sich besonders für einfache, statische Fragen – zum Beispiel nach Öffnungszeiten, Kontaktinformationen oder der Anschrift deines Unternehmens.

#### Wie funktionieren FAQs?

Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> erkennt anhand der Nutzereingabe, welche Frage gemeint ist. Stimmt die Eingabe mit einem hinterlegten Ausdruck überein, wird die zugehörige Antwort direkt ausgegeben. Danach bleibt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> im aktuellen Gesprächsfluss und kann normal weiterarbeiten.

**Beispiel:**

* **Frage vom Nutzer:** „Wie lautet Ihre Anschrift?"
* **Antwort vom** <code class="expression">space.vars.TERM\_AI\_AGENT</code>**:** „Unsere Anschrift lautet: Musterstraße 12, 12345 Musterstadt."

Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> erkennt das passende FAQ-Paar und gibt die vordefinierte Antwort aus – ohne einen separaten Flow zu starten.

#### Unterschied zu Intentionen

Inhaltlich funktionieren FAQs ähnlich wie [Intentionen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/intentionen): Beide erkennen anhand der Nutzereingabe, was gemeint ist. Es gibt jedoch wichtige Unterschiede:

* FAQs können **nicht** im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> über den Schritt *Intention* verwendet werden.
* Die Antwort wird **direkt im FAQ-Eintrag** hinterlegt – vergleichbar mit einem Intentions-Schritt, dem unmittelbar ein Text- oder Button-Block folgt.
* FAQs benötigen **keinen eigenen Flow**. Sie eignen sich daher ideal für schnelle, statische Antworten.

***

### Verwendung – Was kann man mit FAQs machen?

FAQs ermöglichen es deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code>, schnell und präzise auf wiederkehrende Fragen zu reagieren. Sobald die Nutzereingabe einem hinterlegten Ausdruck ähnlich genug ist, wird die Antwort direkt ausgegeben.

#### Antwortmöglichkeiten

In der Antwort eines FAQ-Paares kannst du folgende Inhalte hinterlegen:

* **Textnachrichten:** statische Texte ohne Variablen oder dynamische Platzhalter. Du kannst mehrere Textnachrichten hinzufügen.
* **Buttons:** feste URLs oder Links (mit `https://`) – ebenfalls ohne Variablen oder dynamische Inhalte.
* **Kombination aus beidem:** Text und Buttons können innerhalb eines FAQ-Paares kombiniert werden.

{% hint style="info" %}
Variablen oder dynamische Platzhalter werden in FAQ-Antworten nicht unterstützt. Für dynamische Antworten gibt es zwei Wege: Intentionen und Flows mit Variablen, oder Gen AI – Gespräch führen mit aktiviertem Wissenszugriff (RAG).
{% endhint %}

#### Verhalten im Gesprächsfluss

Nach der Ausgabe der FAQ-Antwort bleibt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> im aktuellen Flow. Der Dialog wird nicht unterbrochen oder umgeleitet – der <code class="expression">space.vars.TERM\_AI\_AGENT</code> kann anschließend normal weiterarbeiten.

***

### Verwaltung – Erstellung, Bearbeitung und Löschen

#### FAQ erstellen

{% stepper %}
{% step %}
Navigiere zu *AI Agent → Build → FAQs* und klicke auf *FAQ-Paar erstellen*.
{% endstep %}

{% step %}
**Name festlegen:** Gib dem FAQ-Paar einen aussagekräftigen, eindeutigen Namen. Er dient der Zuordnung und Auffindbarkeit im System. Über den Button *Hinzufügen* wird das FAQ-Paar erstellt.
{% endstep %}

{% step %}
**Sprache auswählen:** Jedes FAQ-Paar kann Ausdrücke und Antworten in mehreren Sprachen enthalten. Über die Sprachauswahl (Reiter) wählst du die Sprache; es werden jeweils nur deren Ausdrücke und Antworten angezeigt. Der Name bleibt sprachunabhängig. Die jeweiligen Sprachen müssen zuvor [in den Einstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/sprache) hinzugefügt werden.
{% endstep %}

{% step %}
**Ausdrücke hinzufügen:** Gib im Feld *Neuen Ausdruck hinzufügen* die Fragen oder Formulierungen ein und bestätige jede mit *Enter*. Mit *Shift + Enter* wird der Ausdruck zusätzlich automatisch in alle konfigurierten Sprachen übersetzt. Optional erzeugst du über [*Automatisch generieren*](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen/automatisch-generieren) im Dialog *Phrasen generieren* (Felder *Thema* und *Anzahl*) automatisch Beispielphrasen.
{% endstep %}

{% step %}
**Antwort definieren:** Hinterlege die Antwort, die der <code class="expression">space.vars.TERM\_AI\_AGENT</code> ausgeben soll – Textnachrichten, Buttons oder eine Kombination. Über *Nachricht hinzufügen* ergänzt du weitere Texte, über *Button hinzufügen* weitere Buttons.
{% endstep %}

{% step %}
**Speichern:** Die Einstellungen werden automatisch übernommen
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Ausdrücke können nicht doppelt vergeben werden – weder innerhalb eines FAQ-Paares noch über mehrere FAQs oder Intentionen hinweg. Bei einem Duplikat erscheint eine Fehlermeldung und das Hinzufügen wird abgebrochen.
{% endhint %}

#### FAQ bearbeiten

FAQ-Paare können jederzeit angepasst werden. Du kannst:

* neue Ausdrücke und Antworten hinzufügen,
* bestehende Ausdrücke und Antworten entfernen,
* Ausdrücke und Antworten in weiteren Sprachen ergänzen,
* den Namen des FAQ-Paares ändern.

Öffne dazu das gewünschte FAQ-Paar in der Übersicht, nimm die Änderungen vor und speichere anschließend.

#### FAQ löschen

Um ein FAQ-Paar zu löschen, klicke in der FAQ-Übersicht auf das Mülltonnen-Symbol am rechten Ende der entsprechenden Zeile.

{% hint style="warning" %}
Beim Löschen eines FAQ-Paares wird dieses vollständig entfernt. Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> kann danach nicht mehr auf die zugehörigen Fragen reagieren.
{% endhint %}

***

### Beispiele

#### Beispiel 1: Anschrift

**Ausdrücke:**

* „Wie lautet Ihre Anschrift?"
* „Wo befindet sich Ihr Büro?"
* „Können Sie mir Ihre Adresse nennen?"
* „An welcher Adresse sind Sie zu finden?"

**Antwort:** „Unsere Anschrift lautet: Musterstraße 12, 12345 Musterstadt."

#### Beispiel 2: Öffnungszeiten

**Ausdrücke:**

* „Wann haben Sie geöffnet?"
* „Wie sind Ihre Öffnungszeiten?"
* „Ab wann ist Ihr Büro erreichbar?"
* „Wann machen Sie morgens auf?"

**Antwort:** „Wir sind Montag bis Freitag von 9 bis 18 Uhr erreichbar."

{% hint style="info" %}
Die Antwort ist statisch. Auch spezifische Fragen wie „Wann haben Sie mittwochs geöffnet?" werden mit der vollständigen Standardantwort beantwortet.
{% endhint %}

#### Beispiel 3: Kontaktaufnahme

**Ausdrücke:**

* „Wie kann ich Sie kontaktieren?"
* „Wie erreiche ich den Kundenservice?"
* „Welche Telefonnummer haben Sie?"
* „Wie lautet Ihre E-Mail-Adresse?"

**Antwort (Text + Button):**

* **Text:** „Sie erreichen uns per E-Mail unter <kontakt@musterfirma.de> oder telefonisch unter 01234 / 567890."
* **Button:** Label „Kontaktformular" → Link zu `https://musterfirma.de/kontaktformular`

***

### Best Practices

* **Eindeutige Fragen formulieren:** Jede FAQ sollte eine klar erkennbare Fragestellung abdecken. Vermeide doppelte oder zu ähnliche Fragen, um Überschneidungen bei der Erkennung zu vermeiden.
* **Klare und präzise Antworten geben:** Die Antwort sollte kurz, eindeutig und selbsterklärend sein. FAQs eignen sich ideal für häufig gestellte, statische Fragen.
* **Variationen in den Ausdrücken einbauen:** Füge unterschiedliche Formulierungen hinzu, die Nutzer für dieselbe Frage verwenden könnten. So erkennt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> auch abweichende, aber gleichbedeutende Eingaben. Hinterlege mindestens 3–5 verschiedene Formulierungen pro FAQ-Paar, um eine zuverlässige Erkennung sicherzustellen.
* **Inhaltlich ähnliche FAQs vermeiden:** Wenn zwei FAQs inhaltlich zu nahe beieinanderliegen (z. B. „Wie kann ich Sie kontaktieren?" und „Wie lautet Ihre Telefonnummer?"), überlege, ob sie zusammengefasst oder klarer voneinander abgegrenzt werden sollten.
* **Regelmäßig prüfen und anpassen:** Analysiere Chatverläufe, um zu erkennen, welche Fragen häufig gestellt werden oder welche falsch zugeordnet wurden. Erweitere oder überarbeite die FAQ-Ausdrücke entsprechend.
* **Nur für statische Informationen verwenden:** FAQs sind ideal für feste Antworten wie Öffnungszeiten, Anschrift oder Kontaktdaten. Für dynamische oder kontextabhängige Antworten (z. B. Preisabfragen oder Kontostatus) solltest du stattdessen Intentionen und Flows verwenden.
* **Einheitlicher Stil bei Antworten:** Formuliere alle Antworten im gleichen Ton und Stil – z. B. stets als vollständige Sätze und mit konsistenter Ansprache.


# Wissen

Mit der Funktion „Wissen" kannst du deinem AI Agent externe Informationen zur Verfügung stellen.

### Wo finde ich das?

Die Wissensverwaltung erreichst du über den Menüpunkt *Wissen* in der Hauptnavigation. In der linken Seitenleiste werden dir dort zwei Bereiche angezeigt: *Quellen* (mit Anzahl und Status-Punkt je Quelle) und *Gruppen* (mit Anzahl der enthaltenen Quellen je Gruppe).

Ein Klick auf eine einzelne Quelle in der Seitenleiste öffnet direkt deren Detailansicht. Ein Klick auf die Überschrift *Quellen* öffnet die vollständige Übersichtstabelle mit den Spalten Quelle, Typ, Status und Einspeisungsdatum.

***

### Erklärung – Was genau ist Wissen?

Wissen bezeichnet die Sammlung externer Inhalte, auf die dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> bei der Beantwortung von Nutzeranfragen zugreifen kann. Die Inhalte werden im Hintergrund verarbeitet, indexiert und stehen dem <code class="expression">space.vars.TERM\_AI</code>-Modell anschließend als Kontext zur Verfügung.

Es werden zwei Quellentypen unterstützt:

**PDF-Dateien**

Du kannst eine oder mehrere PDF-Dateien gleichzeitig hochladen. Dabei gilt eine Beschränkung von 25 MB pro Datei und maximal 200 MB pro Upload. Die Inhalte der PDFs werden automatisch extrahiert und für den <code class="expression">space.vars.TERM\_AI\_AGENT</code> aufbereitet.

{% hint style="info" %}
Aktuell werden ausschließlich PDF-Dateien als Datei-Upload unterstützt. Weitere Formate sind derzeit nicht verfügbar.
{% endhint %}

**Websites**

Du kannst eine Website-URL hinterlegen, die automatisch gecrawlt wird. Dabei werden auch Unterseiten erfasst. Damit alle Seiten aktuell bleiben, wird in regelmäßigen Abständen nach Aktualisierungen gesucht. Zusätzlich findet ein regelmäßiger und automatischer Recrawl statt. Die Daten der nächsten Durchläufe können in der Quelle eingesehen werden.

Beim Hinzufügen einer Website stehen dir folgende Einstellungen zur Verfügung:

* *Maximale Crawl-Tiefe: B*estimme, wie viele Ebenen tief die Website gecrawlt werden soll. Der Standardwert liegt bei `100` und lässt sich über ein Zahlenfeld anpassen.
* *Maximale Seitenanzahl*: Begrenzt, wie viele Seiten insgesamt gecrawlt werden dürfen.
* *Pfade einschließen:* Lege fest, welche URL-Pfade gecrawlt werden sollen (z. B. `/docs` oder `/hilfe/*`).
* *Pfade ausschließen:* Schließe bestimmte URL-Pfade vom Crawling aus (z. B. `/blog` oder `/intern/*`).

***

### Quellen

#### Verwendung – Was kann man mit Wissen machen?

**Quellen im** <code class="expression">space.vars.TERM\_AI\_AGENT</code> **nutzen**

Die hinterlegten Wissensquellen stehen deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> in generativen <code class="expression">space.vars.TERM\_AI</code>-Schritten zur Verfügung. Du kannst sie an folgenden Stellen einbinden:

* [Gespräch führen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-gesprach-fuhren)
* [Prompt ausführen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-prompt-ausfuhren)
* [KI-Einstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen)

Dabei kannst du entweder alle Quellen verwenden oder gezielt einzelne Quellen über [Wissensgruppen](#wissensgruppen) zuweisen.

{% hint style="info" %}
Quellen sind grundsätzlich global für den gesamten <code class="expression">space.vars.TERM\_AI\_AGENT</code> verfügbar. Über Wissensgruppen lässt sich die Zuordnung bei Bedarf einschränken.
{% endhint %}

**Quellen anzeigen und prüfen**

In der Quellenübersicht unter *Wissen* werden alle hinterlegten Quellen in einer Tabelle dargestellt. Ein Klick auf eine Quelle öffnet die Detailansicht mit dem extrahierten Inhalt, einem Inhaltsverzeichnis der erkannten Abschnitte sowie Kennzahlen zu Chunks und Wörtern. Gecrawlte Websites werden in der Leiste mit ihrer Start-URL angezeigt. Mit einem Klick auf die Quelle lässt sich eine Übersicht aller darunterliegenden Unterseiten öffnen.

***

#### Verwaltung – Erstellung, Bearbeitung und Löschen

**Quelle hinzufügen: PDF-Dateien**

{% stepper %}
{% step %}
Navigiere zu *Wissen*.
{% endstep %}

{% step %}
Klicke auf *Quellen hinzufügen* oder wähle das *+*.
{% endstep %}

{% step %}
Wähle den Quellentyp *Datei hochladen* aus.
{% endstep %}

{% step %}
Ziehe eine oder mehrere PDF-Dateien in den Upload-Bereich oder wähle sie über den Dateidialog aus (max. 25 MB pro Datei, 200 MB gesamt).
{% endstep %}

{% step %}
Die Dateien werden im Hintergrund verarbeitet. Der aktuelle Verarbeitungsstatus wird in der Übersicht angezeigt.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Die Verarbeitung kann je nach Umfang der Dateien einige Minuten in Anspruch nehmen. Sobald sie abgeschlossen ist, stehen die Inhalte dem <code class="expression">space.vars.TERM\_AI\_AGENT</code> automatisch zur Verfügung.
{% endhint %}

**Quelle hinzufügen: Website**

{% stepper %}
{% step %}
Navigiere zu *Wissen*.
{% endstep %}

{% step %}
Klicke auf *Quellen hinzufügen* oder wähle das *+*.
{% endstep %}

{% step %}
Wähle den Quellentyp *Webseite* aus.
{% endstep %}

{% step %}
Gib die gewünschte Start-URL der Website ein.
{% endstep %}

{% step %}
Konfiguriere bei Bedarf:

* Maximale Tiefe (Standard: `100`, max. `100`)
* Maximale Seitenanzahl (Standard: `100`, max. `1000`)
* Pfadfilter (Regex) zum Ein- bzw. Ausschließen (z. B. `/produkte/.*` einschließen, `/intern/.*` ausschließen)
  {% endstep %}

{% step %}
Starte den Import. Die Website wird im Hintergrund gecrawlt und verarbeitet.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Die Verarbeitung kann je nach Umfang der Website einige Minuten in Anspruch nehmen. Sobald sie abgeschlossen ist, stehen die Inhalte dem <code class="expression">space.vars.TERM\_AI\_AGENT</code> automatisch zur Verfügung.
{% endhint %}

**Crawl bearbeiten**

Bestehende Crawls kannst du nachträglich bearbeiten. Es lassen sich eingeschlossene und ausgeschlossene Pfade sowie die maximale Crawl-Tiefe einstellen.

{% stepper %}
{% step %}
Navigiere zu *Wissen* .
{% endstep %}

{% step %}
Wähle die Quelle (Start-URL), die du bearbeiten möchtest und wähle oben rechts das Stiftsymbol.
{% endstep %}

{% step %}
Passe die gewünschten Einstellungen an.
{% endstep %}

{% step %}
Speichere die Änderungen.
{% endstep %}
{% endstepper %}

**Quelle löschen**

{% stepper %}
{% step %}
Navigiere zu *Wissen*.
{% endstep %}

{% step %}
Wähle den Punkt *Quellen*, der ganz oben in der Liste angezeigt wird. Es öffnet sich eine tabellarische Auflistung aller eingelesenen Quellen.
{% endstep %}

{% step %}
Wähle eine oder mehrere Quellen aus und klicke rechts auf das Mülltonnen-Symbol.
{% endstep %}

{% step %}
Bestätige das Löschen im angezeigten Bestätigungsdialog.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Gelöschte Quellen stehen dem <code class="expression">space.vars.TERM\_AI\_AGENT</code> nicht mehr zur Verfügung. Stelle sicher, dass die Quelle nicht mehr benötigt wird, bevor du sie entfernst.
{% endhint %}

***

#### Beispiele

**Beispiel: Hilfe-Center als Wissensquelle einbinden**

Du betreibst ein Hilfe-Center unter `https://hilfe.beispiel.de` und möchtest, dass dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> Fragen auf Basis dieser Inhalte beantwortet.

{% stepper %}
{% step %}
Navigiere zu *Wissen* und füge eine neue Website-Quelle hinzu.
{% endstep %}

{% step %}
Gib die URL `https://hilfe.beispiel.de` ein.
{% endstep %}

{% step %}
Schließe den Pfad `/intern/*` aus, da dieser nur interne Inhalte enthält.
{% endstep %}

{% step %}
Belasse die maximale Crawl-Tiefe beim Standardwert `100` und wähle 50 als Seitenanzahl.
{% endstep %}

{% step %}
Starte den Import und warte, bis die Verarbeitung abgeschlossen ist.
{% endstep %}
{% endstepper %}

Dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> kann nun Fragen beantworten, die sich auf die Inhalte deines Hilfe-Centers beziehen. Die verwendeten Quellen werden dem Nutzer im Chat als Referenz angezeigt.

**Beispiel: Produktkatalog als PDF bereitstellen**

Du möchtest, dass dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> Fragen zu deinem aktuellen Produktsortiment beantworten kann.

{% stepper %}
{% step %}
Navigiere zu *Wissen*.
{% endstep %}

{% step %}
Lade die aktuelle Version deines Produktkatalogs als PDF hoch.
{% endstep %}

{% step %}
Warte, bis die Verarbeitung abgeschlossen ist.
{% endstep %}
{% endstepper %}

Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> kann nun Informationen aus dem Katalog in seine Antworten einbeziehen, beispielweise Produktnamen, Preise oder Verfügbarkeiten.

***

#### Best Practices

* **Wissensquellen aktuell halten:** Veraltete Informationen können zu falschen oder irreführenden Antworten führen. Websites werden zwar automatisch erneut gecrawlt, aber PDF-Dateien musst du bei Änderungen manuell austauschen.
* **Aussagekräftige Dateinamen nutzen:** Benenne PDFs klar (z. B. `Produktkatalog_2026.pdf` statt `Dokument1.pdf`). Das erleichtert die Verwaltung in der Quellenübersicht.
* **Pfad-Einstellungen gezielt nutzen:** Schließe beim Website-Crawling irrelevante Inhalte aus (z. B. Impressum, interne Bereiche oder Blog-Artikel). Je relevanter die Quellen sind, desto präziser werden die Antworten deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s.
* **Wissensgruppen einsetzen:** Nutze [Wissensgruppen](#wissensgruppen), um Quellen gezielt bestimmten Schritten zuzuordnen. So stellst du sicher, dass der <code class="expression">space.vars.TERM\_AI\_AGENT</code> in jedem Kontext nur die passenden Informationen heranzieht.

***

### Wissensgruppen

#### Wo finde ich das?

Wissensgruppen findest du als Unterbereich im Menüpunkt *Wissen* in der linken Navigation, unterhalb der Quellenliste. Jede Gruppe zeigt dort direkt an, wie viele Quellen sie enthält.

#### Erklärung – Was genau sind Wissensgruppen?

Eine Wissensgruppe ist eine Sammlung von Wissensquellen, die du nach eigenen Kriterien zusammenstellst. Du kannst beliebig viele Quellen in einer Gruppe bündeln, beispielsweise alle Quellen zu einem bestimmten Thema, Produkt oder Einsatzbereich.

Eine Quelle kann dabei in mehreren Wissensgruppen gleichzeitig enthalten sein. So lassen sich flexibel überlappende Strukturen abbilden, ohne Quellen doppelt pflegen zu müssen.

#### Verwendung – Was kann man mit Wissensgruppen machen?

**Quellen gezielt filtern**

Der Hauptvorteil von Wissensgruppen liegt in der gezielten Steuerung, welche Quellen dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> in einem bestimmten Kontext nutzt. Anstatt immer auf das gesamte Wissen zuzugreifen, kannst du den Zugriff auf eine oder mehrere Wissensgruppen einschränken.

Die Auswahl einer Wissensgruppe ist an folgenden Stellen möglich:

* [Gespräch führen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-gesprach-fuhren)
* [Prompt ausführen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-prompt-ausfuhren)
* [KI-Einstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen)

In jedem dieser Schritte kannst du eine oder mehrere Wissensgruppen auswählen. Es lassen sich auch mehrere Gruppen gleichzeitig kombinieren: Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> greift dann auf alle Quellen aus den ausgewählten Gruppen zu.

{% hint style="info" %}
Wenn in einem Schritt keine Wissensgruppe ausgewählt wird, greift der <code class="expression">space.vars.TERM\_AI\_AGENT</code> automatisch auf alle verfügbaren Quellen zu.
{% endhint %}

**Praxisbeispiel: Quellen nach Thema aufteilen**

Du betreibst einen <code class="expression">space.vars.TERM\_AI\_AGENT</code> für den Kundenservice, der sowohl Fragen zu Produkten als auch zu Versand und Retouren beantworten soll. Dafür erstellst du zwei Wissensgruppen:

* *Produktwissen:* enthält den Produktkatalog (PDF) und die Produkt-FAQ-Seite (Website).
* *Versand & Retouren:* enthält die Versandrichtlinien (PDF) und die Retouren-Hilfeseite (Website).

In einem Schritt, der sich ausschließlich mit Retourenfragen befasst, wählst du nur die Gruppe *Versand & Retouren* aus. So vermeidest du, dass der <code class="expression">space.vars.TERM\_AI\_AGENT</code> irrelevante Produktinformationen in seine Antwort einbezieht.

#### Verwaltung – Erstellung, Bearbeitung und Löschen

**Wissensgruppe erstellen**

{% stepper %}
{% step %}
Navigiere zu *Wissen → Gruppen*.
{% endstep %}

{% step %}
Klicke auf *Gruppen* und wähle *Wissensgruppe erstellen* oder klicke direkt auf *+*.
{% endstep %}

{% step %}
Vergib im Feld *Name der Wissensgruppe* einen Namen für die Gruppe.
{% endstep %}

{% step %}
Klicke auf *Erstellen*.
{% endstep %}

{% step %}
Öffne die neue Gruppe, klicke auf *Wissensquellen bearbeiten* und füge die gewünschten Quellen per Checkbox hinzu. Crawls lassen sich ausklappen, sodas Unterseiten gezielt ausgewählt werden können. Nutze bei Bedarf das Suchfeld.
{% endstep %}
{% endstepper %}

**Wissensgruppe bearbeiten**

Du kannst jederzeit Quellen zu einer bestehenden Wissensgruppe hinzufügen oder daraus entfernen.

{% stepper %}
{% step %}
Navigiere zu *Wissen → Gruppen*.
{% endstep %}

{% step %}
Klicke auf *Gruppen* und öffne die Wissensgruppe, die du bearbeiten möchtest.
{% endstep %}

{% step %}
Klicke auf *Wissensquellen bearbeiten*.
{% endstep %}

{% step %}
Füge Quellen über die Checkboxen hinzu oder entferne bestehende.
{% endstep %}
{% endstepper %}

**Wissensgruppe löschen**

{% stepper %}
{% step %}
Navigiere zu *Wissen → Gruppen*.
{% endstep %}

{% step %}
Klicke auf *Gruppen* und wähle die Wissensgruppe aus, die du löschen möchtest.
{% endstep %}

{% step %}
Bestätige das Löschen.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Beim Löschen einer Wissensgruppe werden ausschließlich die Gruppierung und die Zuordnung aufgelöst. Die Quellen selbst bleiben im <code class="expression">space.vars.TERM\_AI\_AGENT</code> erhalten und stehen weiterhin zur Verfügung.
{% endhint %}

{% hint style="warning" %}
Wenn eine gelöschte Wissensgruppe in einem Schritt referenziert wurde, greift dieser Schritt anschließend auf alle verfügbaren Quellen zu, da keine Einschränkung mehr aktiv ist. Prüfe daher nach dem Löschen, ob die betroffenen Schritte angepasst werden müssen.
{% endhint %}

#### Beispiel: Mehrsprachiges Wissen aufteilen

Du bietest deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> in Deutsch und Englisch an. Deine Wissensquellen liegen ebenfalls in beiden Sprachen vor.

{% stepper %}
{% step %}
Erstelle die Wissensgruppe *Wissen DE* und füge alle deutschsprachigen Quellen hinzu.
{% endstep %}

{% step %}
Erstelle die Wissensgruppe *Wissen EN* und füge alle englischsprachigen Quellen hinzu.
{% endstep %}

{% step %}
Wähle im jeweiligen sprachspezifischen Schritt die passende Wissensgruppe aus.
{% endstep %}
{% endstepper %}

So stellst du sicher, dass der <code class="expression">space.vars.TERM\_AI\_AGENT</code> nur Quellen in der richtigen Sprache heranzieht. Dies ist insbesondere dann ratsam, wenn sich Informationen je nach Markt unterscheiden.

#### Best Practices

* **Klare Namen vergeben:** Benenne Wissensgruppen eindeutig. Z. B. nach Thema, Produkt oder Einsatzbereich. Das erleichtert die Zuordnung, wenn du mehrere Gruppen verwaltest.
* **Früh strukturieren:** Nutze Wissensgruppen auch dann, wenn du aktuell nur wenige Quellen hast. Eine saubere Struktur von Anfang an spart Aufwand, sobald weitere Quellen hinzukommen.
* **Auf Relevantes beschränken:** Beschränke die Wissensgruppen in einem Schritt auf das, was tatsächlich relevant ist. Je weniger irrelevante Quellen der <code class="expression">space.vars.TERM\_AI\_AGENT</code> durchsuchen muss, desto präziser und schneller fallen die Antworten aus.


# Mediathek

Die Mediathek ist der zentrale Speicherort für Dateien innerhalb deines AI Agents. Hier kannst du Dateien hochladen, verwalten und anschließend im Flow-Builder oder über die Inbox verwenden.

### Wo finde ich die Mediathek?

Die Mediathek erreichst du über *AI Agent → Build → Mediathek*.

Beim Öffnen siehst du eine Übersicht aller bereits hochgeladenen Dateien. Ist die Mediathek noch leer, wird der Hinweis *Keine Dateien vorhanden* angezeigt.

***

### Erklärung – Was ist die Mediathek?

Die Mediathek dient als Dateiverwaltung für deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Du kannst dort beliebige Dateien hochladen – darunter Bilder, Videos, Audiodateien, PDFs oder andere Formate. Die maximale Dateigröße beträgt **25 MB** pro Datei.

Hochgeladene Dateien stehen dir anschließend an zwei Stellen zur Verfügung:

* **Im** <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>**:** Du kannst Dateien aus der Mediathek direkt in [Elemente](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-dateien) wie Bild, Video, Audio oder Dokument einbinden.
* **In der Inbox:** Du kannst Dateien aus der Mediathek an Nutzer senden.

***

### Verwendung – Was kann man mit der Mediathek machen?

#### Dateien hochladen

{% stepper %}
{% step %}
Öffne die Mediathek über *AI Agent → Build → Mediathek*.
{% endstep %}

{% step %}
Klicke oben rechts auf *Datei hochladen*.
{% endstep %}

{% step %}
Es öffnet sich ein Dialog mit zwei Möglichkeiten:

* *Datei hierher ziehen* – ziehe eine oder mehrere Dateien per Drag-and-Drop in den markierten Bereich.
* *Vom Computer hochladen* – klicke auf den Button, um Dateien über den Datei-Explorer auszuwählen.
  {% endstep %}

{% step %}
Die Datei wird hochgeladen und erscheint anschließend in der Mediathek-Übersicht.
{% endstep %}
{% endstepper %}

Alternativ kannst du Dateien auch direkt per Drag-and-Drop in das Browserfenster der Mediathek ziehen, ohne den Upload-Dialog zu öffnen.

{% hint style="info" %}
Du kannst mehrere Dateien gleichzeitig hochladen. Alle Dateiformate sind erlaubt. Die maximale Dateigröße beträgt 25 MB pro Datei.
{% endhint %}

#### Dateien ansehen

Um eine hochgeladene Datei zu öffnen, doppelklicke auf die gewünschte Datei in der Übersicht. Die Datei wird in einem neuen Browser-Tab geöffnet.

#### Dateien im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> verwenden

Hochgeladene Dateien stehen im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> in den entsprechenden Elementen zur Auswahl – z. B. in Bild-, Video-, Audio- oder [Datei-Elementen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-dateien).

#### Dateien über die Inbox versenden

In der Inbox versendest du eine Datei aus der Mediathek direkt in einer Konversation – über das Symbol *Datei aus Mediathek senden* im Antwortbereich. Mehr dazu im Artikel [Konversationen](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/konversationen).

#### Dateien löschen

Jede Datei in der Mediathek zeigt unten rechts ein Papierkorb-Symbol. Klicke darauf, um die Datei zu löschen.

{% hint style="warning" %}
Das Löschen einer Datei kann nicht rückgängig gemacht werden. Wenn eine gelöschte Datei in einem <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>-Element verwendet wurde, bleibt das Element bestehen, funktioniert aber nicht mehr korrekt. Du musst in diesem Fall entweder eine andere Datei auswählen oder das Element manuell entfernen.
{% endhint %}

{% hint style="info" %}
Prüfe vor dem Löschen, ob die Datei noch in einem <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>-Element oder in der Inbox verwendet wird.
{% endhint %}

***

### Best Practices

* **Aussagekräftige Dateinamen verwenden:** Benenne deine Dateien vor dem Upload so, dass ihr Inhalt leicht erkennbar ist – z. B. `willkommensbild-startseite.png` statt `IMG_2847.png`. Da Dateien in der Mediathek nicht umbenannt werden können, lohnt es sich, den Namen vorab festzulegen.
* **Dateigröße beachten:** Halte Dateien möglichst klein, um schnelle Ladezeiten für deine Nutzer zu gewährleisten. Die maximale Dateigröße beträgt 25 MB.
* **Nicht mehr benötigte Dateien entfernen:** Lösche regelmäßig Dateien, die nicht mehr verwendet werden, um die Übersicht in der Mediathek zu behalten.


# Daten

Im Bereich *Daten* optimierst du, wie zuverlässig dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> Nutzereingaben versteht. Hier wertest du gesammelte echte Eingaben aus, kennzeichnest Entitäten in Beispielen und trainierst das zugrunde liegende <code class="expression">space.vars.TERM\_AI</code>-Modell. Du erreichst den Bereich über die linke Navigation im Abschnitt *Daten*.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Trainingsdaten</strong></td><td>Gesammelte echte Nutzereingaben prüfen und Intentionen zuordnen, um die Erkennung gezielt zu verbessern.</td><td><a href="/pages/mmzEcwna7PUEOh3DFfJb">/pages/mmzEcwna7PUEOh3DFfJb</a></td></tr><tr><td><strong>Entitäten labeln</strong></td><td>Textstellen in Beispieleingaben markieren, damit der <code class="expression">space.vars.TERM_AI_AGENT</code> Entitäten zuverlässig erkennt.</td><td><a href="/pages/Cgkmn2xx1gDRe5Xayw2I">/pages/Cgkmn2xx1gDRe5Xayw2I</a></td></tr><tr><td><strong>Modelle</strong></td><td>Das <code class="expression">space.vars.TERM_AI</code>-Modell trainieren und seine Erkennungsqualität für Intentionen und Entitäten bewerten.</td><td><a href="/pages/00W6vhLx21jXdU0mgaIj">/pages/00W6vhLx21jXdU0mgaIj</a></td></tr></tbody></table>


# Trainingsdaten

Trainingsdaten sind echte Benutzereingaben, die dein AI Agent gesammelt hat. Du kannst sie nutzen, um die Erkennungsqualität deines AI Agents gezielt zu verbessern.

### Wo finde ich die Trainingsdaten?

Die Trainingsdaten erreichst du über *AI Agent → Daten → Trainingsdaten*.

Auf der Übersichtsseite siehst du die Kachel *Trainingsstapel verarbeiten* mit einer Zusammenfassung aller gesammelten Eingaben, aufgeteilt nach Übereinstimmungsstufen. Zugeordnete Trainingsdaten werden anschließend als Ausdrücke direkt in den jeweiligen [Intentionen](/epic-ai-platform/epic-ai-platform/ai-agent/build/intentionen) aufgeführt.

***

### Erklärung – Was genau sind Trainingsdaten?

Trainingsdaten sind konkrete Benutzereingaben aus Chat- oder Voice-Konversationen, bei denen der <code class="expression">space.vars.TERM\_AI\_AGENT</code> versucht hat, eine passende Intention oder FAQ zu erkennen.

Jede Eingabe zeigt, wie stark sie mit den vorhandenen Intentionen übereinstimmt – also wie sicher der <code class="expression">space.vars.TERM\_AI\_AGENT</code> war, die Absicht des Nutzers richtig zu interpretieren. Dieser Wert wird als *Sicherheit* (in Prozent) angezeigt.

#### Die Trainingsstapel

Eingaben werden automatisch nach ihrer höchsten Übereinstimmung in Stapel eingeteilt. Jeder Stapel enthält dabei auch alle Eingaben der darunter liegenden Stufen – der Stapel ≤ 50 % enthält also auch die Eingaben aus ≤ 10 % und ≤ 30 %. Die Farben der Stapel signalisieren auf einen Blick den Handlungsbedarf:

<table><thead><tr><th width="120.95703125">Stapel</th><th width="529.7421875">Beschreibung</th><th>Flow ausgelöst?</th></tr></thead><tbody><tr><td><strong>≤ 10 %</strong></td><td><p>Sehr geringe Übereinstimmung:</p><p>Der <code class="expression">space.vars.TERM_AI_AGENT</code> konnte keine passende Intention finden.</p></td><td>Nein</td></tr><tr><td><strong>≤ 30 %</strong></td><td><p>Geringe Übereinstimmung:</p><p>Keine Intention eindeutig erkannt.</p></td><td>Nein</td></tr><tr><td><strong>≤ 50 %</strong></td><td><p>Mittlere Übereinstimmung:</p><p>Die Schwelle wurde nicht überschritten.</p></td><td>Nein</td></tr><tr><td><strong>≤ 70 %</strong></td><td><p>Übereinstimmung:</p><p>Übereinstimmung vorhanden, aber unterhalb der Erkennungsschwelle.</p></td><td>Nein</td></tr><tr><td><strong>> 70 %</strong></td><td><p>Hohe Übereinstimmung:</p><p>Mindestens eine Intention wurde eindeutig erkannt. Wenn mehrere Intentionen über 70 % liegen, wird automatisch diejenige mit dem höchsten Wert gewählt.</p></td><td>Ja</td></tr></tbody></table>

{% hint style="info" %}
Alle Eingaben innerhalb eines Stapels werden absteigend nach ihrem Übereinstimmungswert sortiert.
{% endhint %}

***

### Verwendung – Was kann man mit Trainingsdaten machen?

#### Erkennungsqualität nachvollziehen

Die Trainingsdaten zeigen dir, wie gut dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> Benutzereingaben aktuell erkennt. Du siehst auf einen Blick:

* wie viele Eingaben in welchem Stapel landen,
* wie hoch die durchschnittliche Sicherheit insgesamt ist,
* und ob häufig Eingaben unterhalb der Erkennungsschwelle bleiben.

#### Eingaben Intentionen zuordnen

Falsch oder gar nicht erkannte Eingaben kannst du manuell der richtigen Intention zuordnen. So lernt dein <code class="expression">space.vars.TERM\_AI\_AGENT</code>, ähnliche Formulierungen künftig korrekt zu erkennen. Für jede Eingabe stehen zwei Aktionen zur Verfügung:

* *Ausdruck zuordnen* – ordnet die Eingabe der gewählten Intention zu und fügt sie dort als neuen Beispielausdruck hinzu. Die Zuordnung wird erst nach aktivem Klick auf den Button wirksam. Die Intention mit der höchsten Übereinstimmung ist dabei dunkel hervorgehoben – sie wird aber erst nach Bestätigung tatsächlich übernommen.
* *Ausdruck nicht zuordnen* – verwirft die Eingabe, ohne sie einer Intention zuzuordnen.

So ordnest du eine Eingabe einer Intention zu:

{% stepper %}
{% step %}
Navigiere zu *AI Agent → Daten → Trainingsdaten*.
{% endstep %}

{% step %}
Wähle einen Stapel aus, den du bearbeiten möchtest – oder klicke auf *Stapel jetzt zuordnen*, um alle Eingaben unter 70 % auf einmal zu öffnen.
{% endstep %}

{% step %}
Die Detailansicht einer Eingabe öffnet sich. Du siehst den Eingabetext des Nutzers, die vorhergesagte Intention (sofern vorhanden), den Sicherheitswert, das Erstellungsdatum und die Sprache.
{% endstep %}

{% step %}
Unter *Vorhersagen für alle Intentionen* werden alle Intentionen mit ihrem Übereinstimmungswert aufgelistet. Über das Suchfeld *Intentionen filtern …* navigierst du schnell zur richtigen Intention; mit *Intentionen unter 5 % einblenden/ausblenden* blendest du sehr schwach übereinstimmende Intentionen ein oder aus.
{% endstep %}

{% step %}
Klicke bei der passenden Intention auf *Ausdruck zuordnen*, um die Eingabe zuzuordnen.
{% endstep %}

{% step %}
Oder klicke auf *Ausdruck nicht zuordnen* (roter Button), wenn die Eingabe keiner Intention zugeordnet werden soll.
{% endstep %}
{% endstepper %}

***

### Beispiele

#### Beispiel 1: Intention nicht erkannt – inhaltlich aber passend

**Situation:** Ein Nutzer schreibt „Ich möchte meine Bestellung zurückziehen". Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> hat die Eingabe nur zu 60 % der Intention „Stornierung" zugeordnet – unterhalb der Erkennungsschwelle. Die Eingabe landet im Stapel ≤ 70 %, kein Flow wurde ausgelöst.

**Was tun?** Inhaltlich passt die Eingabe klar zur Intention „Stornierung". Öffne die Eingabe in der Detailansicht und klicke bei der Intention „Stornierung" auf *Ausdruck zuordnen*. Künftig erkennt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> ähnliche Formulierungen mit höherer Sicherheit.

#### Beispiel 2: Intention fälschlicherweise erkannt – inhaltlich nicht passend

**Situation:** Ein Nutzer schreibt „Ich will meine Bestellung stornieren". Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> hat die Eingabe mit 74 % der Intention „Reklamation" zugeordnet – der falsche Flow wurde ausgelöst.

**Was tun?** Öffne die Eingabe im Stapel > 70 %. Die Intention „Reklamation" ist hervorgehoben, passt inhaltlich aber nicht. Suche im Filterfeld nach „Stornierung" und klicke dort auf *Ausdruck zuordnen*. So lernt der <code class="expression">space.vars.TERM\_AI\_AGENT</code>, die Absicht künftig korrekt einzuordnen.

***

### Best Practices

* **Regelmäßig bearbeiten:** Bearbeite die Stapel regelmäßig. So verbessert sich die Erkennungsqualität deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s kontinuierlich.
* **Unzugeordnete Eingaben prüfen:** Eingaben, die keiner Intention zugeordnet wurden, können wertvolle Hinweise liefern: Sie können außerhalb des Zuständigkeitsbereichs liegen, nachträglich aufgenommen werden oder als Grundlage für neue Intentionen dienen.
* **Nur passende Ausdrücke zuordnen:** Ordne ausschließlich Eingaben zu, die inhaltlich wirklich zu einer Intention passen. Bei Eingaben, die zu mehreren Intentionen passen könnten, ist es besser, keine Zuordnung vorzunehmen – sonst wird die Intention verwässert und die Erkennungsqualität sinkt.
* **Auch hohe Übereinstimmungen prüfen:** Eingaben im Stapel > 70 % wurden zwar erkannt, können aber trotzdem falsch zugeordnet sein. Prüfe diese regelmäßig – sie können sowohl Fehler enthalten als auch als besonders gute Beispiele dienen.
* **Nachbearbeitung konsequent nutzen:** Falsch oder nicht erkannte Eingaben manuell zuzuordnen ist eine der effektivsten Methoden, um deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> gezielt zu verbessern. Je mehr reale Benutzereingaben korrekt zugeordnet sind, desto zuverlässiger reagiert der <code class="expression">space.vars.TERM\_AI\_AGENT</code> künftig.


# Entitäten labeln

Beim Labeln markierst du Textstellen in Trainingsbeispielen, damit der AI Agent diese Entitäten in zukünftigen Eingaben automatisch erkennt und zuordnet.

### Wo finde ich das?

Den Bereich *Entitäten labeln* findest du über *AI Agent → Daten → Entitäten labeln*.

***

### Erklärung – Was genau ist Entitäten labeln?

Wenn Nutzer mit deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> schreiben oder ein Anruf transkribiert wird, versucht das System, bestimmte Begriffe in der Eingabe automatisch zu erkennen – zum Beispiel Ortsnamen, Daten oder IBANs. Damit das funktioniert, muss das Modell zuvor an Beispielen lernen, wie solche Begriffe aussehen.

Genau das passiert beim Labeln: Du markierst in bestehenden Beispielen die relevanten Textstellen und weist ihnen eine [Entität](/epic-ai-platform/epic-ai-platform/ai-agent/build/entitaten) zu – ähnlich wie mit einem Textmarker. Auf Basis dieser Markierungen trainiert das System, die entsprechenden Begriffe in echten Nutzereingaben zu erkennen.

Das Labeln ist ausschließlich für Beispiele innerhalb von Intentionen möglich. Losgelöste Beispiele – ohne Zugehörigkeit zu einer Intention – gibt es nicht.

{% hint style="info" %}
Markierungen für Entitäten ohne erlernte Komponente sind zwar technisch möglich, haben aber keine Auswirkung auf die Erkennung oder das Verhalten des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Damit eine Markierung wirksam ist, muss die Entität eine [Erlernt-Komponente](/epic-ai-platform/epic-ai-platform/ai-agent/build/entitaten#erlernt-komponente) besitzen.
{% endhint %}

***

### Verwendung – Was kann man mit Entitäten labeln machen?

#### Sprache auswählen

Lege zunächst die gewünschte Sprache fest. Nach der Auswahl werden alle Beispiele dieser Sprache angezeigt, in denen du Entitäten markieren kannst.

#### Entitäten in Beispielen markieren

Rechts im Panel sind alle im System hinterlegten Entitäten farbig dargestellt. Wähle eine Entität aus und markiere anschließend den gewünschten Text innerhalb eines Beispiels.

#### Markierungen entfernen

Bereits markierte Entitäten lassen sich jederzeit wieder entfernen. Klicke dazu auf das *X*-Symbol, das beim Hover über die Markierung erscheint.

#### Beispiele laden

In der Übersicht werden stets **25 Beispiele** aus allen Intentionen angezeigt, sortiert nach Erstellungsdatum. Über die Schaltfläche *Weitere Einträge laden* blendest du zusätzliche Beispiele ein.

{% hint style="info" %}
Ein direkter Rückschluss darauf, zu welcher Intention ein Beispiel gehört, ist in dieser Ansicht nicht möglich.
{% endhint %}

***

### Verwaltung – Beispiele hinzufügen und löschen

#### Neues Beispiel hinzufügen

Im oberen Bereich der Seite findest du den Abschnitt *Neues Beispiel hinzufügen*.

{% stepper %}
{% step %}
Wähle im Feld *Intention* die passende Intention aus dem Dropdown aus.
{% endstep %}

{% step %}
Trage im Feld *Beispiel* den Beispieltext ein.
{% endstep %}

{% step %}
Klicke auf *Hinzufügen*.
{% endstep %}
{% endstepper %}

Das neue Beispiel erscheint in der Liste und kann anschließend direkt mit Entitäten gelabelt werden.

#### Beispiel löschen

Jedes Beispiel in der Liste enthält ein Papierkorb-Symbol. Klicke darauf, um das Beispiel zu entfernen.

{% hint style="warning" %}
Beim Löschen wird nicht angezeigt, zu welcher Intention das jeweilige Beispiel ursprünglich gehörte. Das Löschen kann nicht rückgängig gemacht werden.
{% endhint %}

***

### Beispiel: Entität „Ort" in einem Buchungsbeispiel labeln

**Szenario:** Dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> soll Ortsnamen in Buchungsanfragen automatisch erkennen.

{% stepper %}
{% step %}
Navigiere zu *AI Agent → Daten → Entitäten labeln*.
{% endstep %}

{% step %}
Wähle die gewünschte Sprache aus (z. B. Deutsch).
{% endstep %}

{% step %}
Suche in der Beispielliste nach einem passenden Beispiel – oder füge ein neues hinzu:

* Intention: `Ticketbuchung`
* Beispiel: `Ich möchte ein Ticket nach Berlin buchen.`
  {% endstep %}

{% step %}
Klicke auf das Wort „Berlin" im Beispieltext, um es zu markieren.
{% endstep %}

{% step %}
Wähle rechts im Panel die Entität „Ort" aus.
{% endstep %}

{% step %}
Die Markierung ist gesetzt. Das Modell lernt beim nächsten Training, dass „Berlin" ein Ortsname ist.
{% endstep %}
{% endstepper %}

**Ergebnis:** Zukünftige Eingaben wie „Ich brauche ein Ticket nach Hamburg" werden vom <code class="expression">space.vars.TERM\_AI\_AGENT</code> automatisch mit der Entität „Ort" verknüpft.

***

### Best Practices

* **Regelmäßig labeln:** Markiere Entitäten kontinuierlich in neuen und bestehenden Beispielen. Jede neue Markierung verbessert die Erkennungsleistung des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s.
* **Nur relevante Stellen markieren:** Markiere ausschließlich Textstellen, die tatsächlich zur Erlernt-Komponente der Entität gehören. Unklare oder fehlerhafte Markierungen können die Erkennung verfälschen.
* **Erlernt-Komponente beachten:** Stelle sicher, dass die Entität eine Erlernt-Komponente besitzt, bevor du sie verwendest. Entitäten ohne Erlernt-Komponente haben keinen Einfluss auf das Verhalten des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s.
* **Alte oder fehlerhafte Labels entfernen:** Entferne nicht mehr relevante oder falsch gesetzte Markierungen über das *X*-Symbol. Eine saubere Trainingsbasis führt zu besseren Erkennungsergebnissen.
* **Neue Beispiele ergänzen:** Wenn bestimmte Eingabetypen oder Formulierungen bisher nicht korrekt erkannt werden, füge gezielt neue Beispiele mit passenden Entitätsmarkierungen hinzu.
* **Beispiele regelmäßig prüfen:** Kontrolliere gelabelte Beispiele auf Richtigkeit und Relevanz – insbesondere nach Änderungen an Intentionen oder Entitätsdefinitionen.


# Modelle

Das AI-Modell ist die Grundlage für die Sprachverständnis-Fähigkeiten deines AI Agents. Es wird auf Basis deiner Intentionen und Entitäten trainiert.

### Wo finde ich das?

Du findest die Modelle-Übersicht über *AI Agent → Daten → Modelle*.

Zusätzlich wird der aktuelle Status des Modells auch in der Seitennavigation angezeigt. Dort siehst du auf einen Blick, ob ein Training erforderlich ist, gerade läuft oder abgeschlossen wurde – inklusive Fortschrittsanzeige während eines laufenden Trainings.

***

### Erklärung – Was genau sind <code class="expression">space.vars.TERM\_AI</code>-Modelle?

Ein <code class="expression">space.vars.TERM\_AI</code>-Modell wird aus den von dir definierten Intentionen und Entitäten erstellt. Durch das Training lernt das Modell, Nutzereingaben den richtigen Intentionen zuzuordnen und relevante Entitäten wie z. B. eine IBAN, ein Datum oder eine Telefonnummer zu erkennen.

Jedes Mal, wenn du Änderungen an deinen Intentionen oder Entitäten vornimmst, muss ein neues Modell trainiert werden, damit diese Änderungen wirksam werden. Änderungen am Flow selbst erfordern kein neues Training.

{% hint style="info" %}
Für die [Versionserstellung](/epic-ai-platform/epic-ai-platform/ai-agent/versionen-and-bereitstellungsumgebungen) wird immer erst ein Modell benötigt. Stelle sicher, dass eines trainiert wurde, wenn du mit Versionierungen arbeiten möchtest.
{% endhint %}

#### Trainings- und Evaluations-Phase

Das Training eines Modells besteht aus zwei Phasen:

* **Training:** In dieser Phase lernt das Modell anhand deiner Daten. Der Fortschritt wird als Prozentanzeige dargestellt.
* **Evaluation:** Nach dem Training wird das [Modell automatisch ausgewertet](/epic-ai-platform/epic-ai-platform/ai-agent/daten/modelle/auswertung), um die Qualität der Erkennung sicherzustellen.

#### Modellstatus

In der Modelle-Übersicht und in der Navigation wird der aktuelle Status deines Modells angezeigt. Folgende Status sind möglich:

* **Training erforderlich:** Du hast Änderungen an Intentionen oder Entitäten vorgenommen, die ein neues Training erfordern.
* **Training läuft:** Das Modell wird gerade trainiert. Du kannst den Fortschritt in der Karte und in der Navigation verfolgen.
* **Modell wird evaluiert:** Das Training ist abgeschlossen und die Evaluations-Phase läuft.
* **Training abgeschlossen:** Das Modell wurde erfolgreich trainiert und steht zur Verfügung.
* **Training fehlgeschlagen:** Das Training konnte nicht erfolgreich abgeschlossen werden. In diesem Fall kannst du einfach ein neues Training starten.

***

### Verwendung – Neues Modell trainieren

Das Training muss immer manuell gestartet werden. Ein automatisches Training findet nicht statt.

#### Training starten

{% stepper %}
{% step %}
Navigiere zu *AI Agent → Daten → Modelle*.
{% endstep %}

{% step %}
Wurden Änderungen an Intentionen oder Entitäten vorgenommen, siehst du den Hinweis *Training erforderlich* mit einer kurzen Erklärung.
{% endstep %}

{% step %}
Klicke auf *Neues Modell trainieren*, um das Training zu starten.
{% endstep %}

{% step %}
Das Training beginnt; der Fortschritt wird sowohl in der Modelle-Übersicht als auch in der Navigation in Echtzeit angezeigt.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Es kann immer nur ein Modell gleichzeitig trainiert werden. Du kannst während des Trainings jedoch ganz normal weiter an deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> arbeiten. Das Modelltraining kann – je nach Datenmenge – wenige Minuten bis einige Stunden in Anspruch nehmen.
{% endhint %}

#### Nach dem Training

Sobald das Training und die Evaluation erfolgreich abgeschlossen sind, wechselt der Status auf *Training abgeschlossen*. Das trainierte Modell wird anschließend verwendet und kann über die [Versionen](/epic-ai-platform/epic-ai-platform/ai-agent/versionen-and-bereitstellungsumgebungen) verwaltet werden.

#### Wenn ein Training fehlschlägt

Sollte ein Training fehlschlagen, wird dir der Status *Training fehlgeschlagen* angezeigt. In diesem Fall kannst du einfach ein neues Training starten. Dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> arbeitet in der Zwischenzeit weiterhin mit dem zuletzt erfolgreich trainierten Modell.

#### Modellverlauf

In der Modelle-Übersicht findest du unterhalb der Statuskarte eine Tabelle mit allen bisherigen Trainingsläufen. Jeder Eintrag zeigt:

* **Status:** der Abschlussstatus (z. B. *Abgeschlossen*).
* **Erstellt:** Datum und Uhrzeit, zu der das Training gestartet wurde.
* **Geändert:** Datum und Uhrzeit der letzten Statusänderung.
* **Trainingsdauer:** die Gesamtdauer des Trainings.
* **ID:** eine eindeutige Kennung des Trainings.

{% hint style="info" %}
Ältere Modellversionen werden nach einer gewissen Zeit der Inaktivität automatisch gelöscht. Du kannst verschiedene Versionen über die [Versionsverwaltung](/epic-ai-platform/epic-ai-platform/ai-agent/versionen-and-bereitstellungsumgebungen) nutzen.
{% endhint %}

***

### Best Practices

* **Regelmäßig trainieren:** Starte nach jeder größeren Änderung an deinen Intentionen oder Entitäten ein neues Training, damit dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> immer auf dem aktuellen Stand arbeitet.
* **Änderungen bündeln:** Wenn du mehrere Anpassungen an Intentionen oder Entitäten planst, nimm alle Änderungen zuerst vor und starte dann ein einziges Training. Das spart Zeit, da immer nur ein Training gleichzeitig laufen kann.


# Auswertung

Die Modell-Bewertung zeigt dir, wie gut dein trainiertes AI-Modell Intentionen und Entitäten erkennt.

### Wo finde ich das?

{% stepper %}
{% step %}
Navigiere zu *AI Agent → Daten → Modelle*.
{% endstep %}

{% step %}
Klicke in der Modellverlauf-Tabelle auf das gewünschte Modell.
{% endstep %}

{% step %}
Die Modell-Bewertung öffnet sich mit der Übersichtsseite.
{% endstep %}
{% endstepper %}

***

### Erklärung – Was genau ist die Modell-Bewertung?

Die Modell-Bewertung gibt dir einen detaillierten Einblick, wie zuverlässig dein <code class="expression">space.vars.TERM\_AI</code>-Modell arbeitet. Dabei werden die Erkennungsleistungen für Intentionen und Entitäten separat ausgewertet.

Über den Filter *Modelltyp* kannst du zwischen der Auswertung für Intentionen und Entitäten wechseln.

Die Bewertung ist in vier Bereiche (Tabs) unterteilt:

* **Übersicht:** Zeigt die wichtigsten Kennzahlen auf einen Blick.
* **Performance:** Listet die Erkennungsleistung für jede einzelne Intention bzw. Entität auf.
* **Datenverteilung:** Zeigt, wie deine Trainingsdaten auf die einzelnen Intentionen bzw. Entitäten verteilt sind.
* **Confusion Matrix:** Visualisiert, welche Intentionen bzw. Entitäten das Modell verwechselt.

#### Die drei Kennzahlen verstehen

In der Modell-Bewertung begegnen dir drei zentrale Kennzahlen. Alle drei Werte liegen zwischen 0 % und 100 % – je höher, desto besser.

* **Precision (Präzision):** Gibt an, wie oft das Modell richtig liegt, wenn es eine bestimmte Intention oder Entität erkennt. Eine hohe Precision bedeutet: Wenn das Modell sagt „Das ist Intention X“, dann stimmt das in den meisten Fällen auch. Einfach gesagt: Wie verlässlich sind die Treffer?
* **Recall:** Gibt an, wie gut das Modell alle tatsächlichen Fälle einer Intention oder Entität findet. Ein hoher Recall bedeutet: Das Modell verpasst nur wenige relevante Eingaben. Einfach gesagt: Wie vollständig werden die Fälle erkannt?
* **F1-Score:** Ist der Mittelwert aus Precision und Recall. Er fasst beide Werte in einer einzigen Kennzahl zusammen. Ein hoher F1-Score bedeutet, dass das Modell sowohl verlässlich als auch vollständig erkennt. Der F1-Score eignet sich daher am besten als Gesamtbewertung der Erkennungsqualität.

***

### Die vier Bereiche im Detail

#### Übersicht

Die Übersicht zeigt die drei Kennzahlen (F1-Score, Precision und Recall) als Diagramme für alle Intentionen bzw. Entitäten zusammengefasst. Du siehst hier auf einen Blick, wie gut dein Modell insgesamt abschneidet.

Dieser Bereich eignet sich besonders, um nach einem Training schnell einzuschätzen, ob die Erkennungsqualität zufriedenstellend ist.

#### Performance

Der Performance-Tab zeigt eine detaillierte Tabelle mit den Erkennungswerten für jede einzelne Intention bzw. Entität. Für jeden Eintrag siehst du:

* **Name:** Der Name der Intention bzw. Entität.
* **F1:** Der F1-Score für diese Intention bzw. Entität.
* **Precision:** Die Präzision für diese Intention bzw. Entität.
* **Recall:** Der Recall für diese Intention bzw. Entität.
* **TP (True Positives):** Anzahl der Fälle, die korrekt als diese Intention erkannt wurden.
* **TN (True Negatives):** Anzahl der Fälle, die korrekt als eine andere Intention erkannt wurden.
* **FP (False Positives):** Anzahl der Fälle, die fälschlicherweise als diese Intention erkannt wurden, obwohl sie einer anderen Intention zugehören.
* **FN (False Negatives):** Anzahl der Fälle, die zu dieser Intention gehören, aber fälschlicherweise einer anderen zugeordnet wurden.

Dieser Bereich hilft dir, gezielt die Intentionen oder Entitäten zu identifizieren, bei denen das Modell Schwächen zeigt. Intentionen mit niedrigen Werten sollten überarbeitet werden – z. B. durch zusätzliche [Trainingsbeispiele](/epic-ai-platform/epic-ai-platform/ai-agent/build/intentionen).

#### Datenverteilung

Der Datenverteilungs-Tab zeigt, wie viele Trainingsbeispiele pro Intention bzw. Entität vorhanden sind und wie diese auf Trainings- und Testdaten aufgeteilt wurden.

Für jeden Eintrag siehst du:

* **Name:** Der Name der Intention bzw. Entität.
* **Training:** Anzahl der Beispiele, die für das Training verwendet wurden.
* **Test:** Anzahl der Beispiele, die für die Evaluation verwendet wurden.
* **Zusammen:** Gesamtanzahl der verfügbaren Beispiele.

Am oberen Rand wird zusätzlich die Gesamtzahl der Trainings- und Testdaten mit prozentualem Anteil angezeigt.

{% hint style="info" %}
Eine ungleiche Verteilung der Trainingsdaten kann die Erkennungsqualität beeinflussen. Intentionen oder Entitäten mit sehr wenigen Beispielen werden tendenziell schlechter erkannt.
{% endhint %}

#### Confusion Matrix

Die Confusion Matrix zeigt in einer Matrix-Darstellung, wie das Modell die einzelnen Intentionen bzw. Entitäten einander zuordnet. Sie macht sichtbar, welche Intentionen oder Entitäten das Modell miteinander verwechselt.

So liest du die Matrix: Jede Zeile steht für die tatsächliche Intention, jede Spalte für die vom Modell vorhergesagte Intention. Ein Wert auf der Diagonale (z. B. grün hinterlegt) bedeutet, dass das Modell korrekt erkannt hat. Werte außerhalb der Diagonale (z. B. rot oder gelb hinterlegt) zeigen Verwechslungen an.

Über den Filter *Format* kannst du zwischen zwei Darstellungen wechseln:

* **Normalisiert:** Zeigt die Werte als Prozentangaben (0 bis 1). So siehst du den Anteil der korrekt bzw. falsch zugeordneten Fälle.
* **Absolute Anzahl:** Zeigt die tatsächliche Anzahl der Fälle. So siehst du die konkreten Zahlen.

{% hint style="info" %}
Nutze die normalisierte Ansicht, um Verwechslungsmuster zu erkennen, und die absolute Ansicht, um die tatsächlichen Fallzahlen zu prüfen.
{% endhint %}

***

### Best Practices

* **F1-Score als Leitwert nutzen:** Der F1-Score gibt dir die zuverlässigste Gesamtbewertung. Achte darauf, dass er für deine wichtigsten Intentionen möglichst hoch ist.
* **Schwache Intentionen gezielt verbessern:** Prüfe im Performance-Tab, welche Intentionen niedrige Werte haben. Häufig hilft es, zusätzliche und vielfältigere [Trainingsbeispiele](/epic-ai-platform/epic-ai-platform/ai-agent/build/intentionen) hinzuzufügen.
* **Verwechslungen analysieren:** Wenn die Confusion Matrix zeigt, dass zwei Intentionen häufig verwechselt werden, sind ihre Trainingsbeispiele möglicherweise zu ähnlich. Überarbeite in diesem Fall die betroffenen Intentionen, damit sie sich klarer voneinander unterscheiden.
* **Auf ausgewogene Datenverteilung achten:** Intentionen mit deutlich weniger Trainingsbeispielen werden oft schlechter erkannt. Versuche, die Anzahl der Beispiele pro Intention möglichst gleichmäßig zu halten.
* **Beide Modelltypen prüfen:** Vergiss nicht, die Auswertung sowohl für Intentionen als auch für Entitäten zu kontrollieren. Wechsle dazu einfach über den *Modelltyp*-Filter.


# Statistiken

Die Statistiken geben dir einen detaillierten Überblick über die Nutzung und Performance deiner AI Agents. Du kannst Konversationen, Interaktionen, erkannte Intentionen und weitere Kennzahlen auswerte

* **Konversationen im Zeitverlauf** – Liniendiagramm, das zeigt, wie sich die Anzahl der Konversationen über den gewählten Zeitraum verteilt.
* **Intentionen erkannt** – Auflistung der am häufigsten erkannten Intentionen mit absoluter Anzahl und prozentualem Anteil. Über „Alle anzeigen" lässt sich die vollständige Liste aufrufen.
* **Nachrichten im Zeitverlauf** – Liniendiagramm mit drei Linien: Gesamt, Gesendet und Empfangen.
* **Nachrichten pro Konversation (Mittelwert)** – Durchschnittliche Anzahl der Nachrichten pro Gespräch.
* **Interaktionen im Zeitverlauf** – Liniendiagramm zur zeitlichen Verteilung der Interaktionen.
* **Intent Score (Mittelwert)** – Durchschnittliche Konfidenz der Intenterkennung in Prozent. Ein hoher Wert bedeutet, dass der <code class="expression">space.vars.TERM\_AI\_AGENT</code> die Absichten der Nutzer mit hoher Sicherheit erkennt.
* **Schritte ausgeführt** – Zeigt, welche Schritte im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> wie häufig durchlaufen wurden – inklusive prozentualem Anteil.
* **Konversationen pro Kanaltyp** – Verteilung der Konversationen auf die verschiedenen Kanäle (z. B. WhatsApp, Telefonie) mit absoluter Anzahl und Prozentwert.
* **Sprachen der Konversationen** – Zeigt, in welchen Sprachen die Konversationen geführt wurden.

### Wo finde ich die Statistiken?

Die Statistiken erreichst du über *Statistiken* in der linken Seitennavigation. Dort findest du folgende Berichte:

* *Übersicht* – kanalübergreifende Zusammenfassung über alle Kanäle.
* *Benutzer* – Auswertung zur Nutzung der Inbox durch dein Team (menschliche Agenten).
* *Chat-Kanäle* und *Voice-Kanäle* – pro Kanal ein eigener Bericht.

Wenn du mehrere Chat- oder Voice-Kanäle eingerichtet hast, wird für jeden Kanal ein eigener Bericht angezeigt.

### Zeitraum auswählen

Für alle Statistikberichte kannst du den Zeitraum frei wählen. Klicke dazu auf das Datumsfeld oben rechts. Es öffnet sich ein Kalender mit den folgenden Schnellauswahl-Optionen:

* Heute
* Gestern
* Letzte 7 Tage
* Letzte 14 Tage
* Letzte 28 Tage
* Dieser Monat
* Letzter Monat
* Letzte 3 Monate

Alternativ kannst du über den Kalender einen individuellen Zeitraum definieren. Bestätige deine Auswahl mit *Übernehmen*.

{% hint style="info" %}
Alle prozentualen Veränderungen (z. B. „+3,19 %") beziehen sich auf den Vergleich mit dem gleich langen Vorzeitraum. Wählst du beispielsweise die letzten 7 Tage aus, wird mit den 7 Tagen davor verglichen.
{% endhint %}

### Bezeichnungen ausgeführter Schritte

In den Statistiken zu ausgeführten Schritten wird zu jedem Eintrag die Bezeichnung des jeweiligen Schritts angezeigt. So erkennst du auf einen Blick, welcher Schritt ausgeführt wurde. Das gilt für alle Schritte, die im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> existieren.

Die Bezeichnung wird zum Zeitpunkt der Ausführung gespeichert. Wird ein Schritt später umbenannt, bleibt in älteren Statistik-Einträgen der vorherige Name erhalten. Die zugehörige ID bleibt unverändert und ermöglicht eine eindeutige Zuordnung. Kann keine Bezeichnung ermittelt werden, wird der Eintrag als *Unbenannter Schritt* bzw. *Unbenannter Flow* dargestellt.

Wurde ein Schritt zwischenzeitlich gelöscht, wird er weiterhin mit seiner zuletzt bekannten Bezeichnung und einem Badge *Gelöscht* dargestellt.

### Übersicht – Alle Kanäle

Die Übersicht zeigt die wichtigsten Kennzahlen über alle Kanäle hinweg. Sie eignet sich, um schnell den Gesamtstatus deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s zu erfassen.

{% hint style="info" %}
Hat ein Schritt in verschiedenen Bereitstellungsumgebungen (z. B. Test oder Prod) unterschiedliche Namen, richtet sich der in der Übersicht angezeigte Name nach der Bereitstellungsumgebung der aktuellsten Konversation. War die letzte Konversation in der Umgebung „Test", steht dort z. B. „Begrüßung Test". War sie in „Prod", steht dort „Begrüßung Prod".
{% endhint %}

#### Kennzahlen-Karten

* *Konversationen* – Gesamtanzahl aller Gespräche (Chats und Anrufe) im gewählten Zeitraum.
* *Interaktionen* – Gesamtanzahl aller Interaktionen. Eine Interaktion ist eine eingehende Nachricht eines Nutzers inklusive der zugehörigen Verarbeitung durch den <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Eine Konversation kann mehrere Interaktionen enthalten.
* *Nachrichten* – Gesamtzahl der Nachrichten, aufgeschlüsselt in empfangene (vom Nutzer) und gesendete (vom <code class="expression">space.vars.TERM\_AI\_AGENT</code>) Nachrichten.
* *Nachrichtenlänge* – Durchschnittliche Länge der Nachrichten in Zeichen pro Nachricht.
* *Nachr./Konversation* – durchschnittliche Anzahl der Nachrichten pro Gespräch (Mittelwert).
* *Intentionsgenauigkeit* – durchschnittliche Konfidenz der Intent-Erkennung in Prozent, zusätzlich als Bewertung *Gut*, *Mittel* oder *Niedrig*. Ein hoher Wert bedeutet, dass der <code class="expression">space.vars.TERM\_AI\_AGENT</code> die Absichten der Nutzer mit hoher Sicherheit erkennt.

Jede Kennzahlen-Karte zeigt zusätzlich die absolute und prozentuale Veränderung im Vergleich zum Vorzeitraum an.

#### Diagramme und Auswertungen

* *Konversationen im Zeitverlauf* – Liniendiagramm, das zeigt, wie sich die Anzahl der Konversationen über den gewählten Zeitraum verteilt.
* *Nachrichten im Zeitverlauf* – Liniendiagramm mit drei Linien: Gesamt, Gesendet und Empfangen.
* *Interaktionen im Zeitverlauf* – Liniendiagramm zur zeitlichen Verteilung der Interaktionen.
* *Intentionen erkannt* – Auflistung der am häufigsten erkannten Intentionen mit absoluter Anzahl und prozentualem Anteil. Über *Alle anzeigen* öffnet sich die vollständige Liste.
* *Schritte ausgeführt* – zeigt, welche Schritte im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> wie häufig durchlaufen wurden – inklusive prozentualem Anteil.
* *Konversationen pro Kanaltyp* – Verteilung der Konversationen auf die verschiedenen Kanäle (z. B. WhatsApp, Telefonie) mit absoluter Anzahl und Prozentwert.
* *Sprachen* – zeigt, in welchen Sprachen die Konversationen geführt wurden.

{% hint style="info" %}
Wenn für eine Kennzahl keine Daten vorliegen, wird die entsprechende Karte mit *Keine Daten* angezeigt.
{% endhint %}

### Benutzer-Statistiken

Der Bericht *Benutzer* zeigt dir, wie die *Inbox* von deinem Team genutzt wird. Hier siehst du, wie viele Gespräche an menschliche Agenten weitergeleitet wurden und wie diese bearbeitet werden. Er ist in die Abschnitte *Kennzahlen* und *Agenten* unterteilt.

#### Enthaltene Kennzahlen

* *Weitergeleitet an Agenten* – Gesamtanzahl der Konversationen, die an menschliche Agenten übergeben wurden.
* *Annahme-Status* – Aufschlüsselung in *Angenommen* und *Nicht angenommen*, um zu sehen, wie viele weitergeleitete Gespräche tatsächlich von Agenten übernommen wurden.
* *Ø Zeit bis Beitritt* – durchschnittliche Wartezeit (in Minuten und Sekunden), bis ein Agent dem Gespräch beigetreten ist.
* *Agenten Performance* – tabellarische Übersicht pro Agent mit Anzahl der bearbeiteten Konversationen und der durchschnittlichen Bearbeitungszeit.
* *Agenten Online* – zeigt die aktuell in der Inbox aktiven Mitarbeitenden mit dem Zeitpunkt *Zuletzt gesehen*. Sind keine Agenten online, erscheint der Hinweis *Aktuell sind keine Agenten online*.

### Chat-Kanal-Berichte

Für jeden Chat-Kanal gibt es einen eigenen Bericht. Dieser enthält dieselben Kennzahlen wie die Übersicht, bezieht sich jedoch ausschließlich auf den jeweiligen Kanal.

#### Enthaltene Kennzahlen

* *Konversationen* (Gesamt, Veränderung zum Vorzeitraum)
* *Interaktionen* (Gesamt, Veränderung zum Vorzeitraum)
* *Nachrichten* (empfangen, gesendet, gesamt – jeweils mit Veränderung)
* Nachrichtenlänge
* *Nachr./Konversation*
* *Intentionsgenauigkeit*
* *Konversationen im Zeitverlauf*
* *Nachrichten im Zeitverlauf* (Gesamt, Gesendet, Empfangen)
* *Interaktionen im Zeitverlauf*
* *Intentionen erkannt*
* *Schritte ausgeführt*
* *Sprachen*

Der Chat-Kanal-Bericht enthält im Gegensatz zur Übersicht keine Aufschlüsselung nach Kanaltyp, da er sich bereits auf einen einzelnen Kanal bezieht.

### Voice-Kanal-Berichte

Für jeden Voice-Kanal gibt es einen eigenen Bericht. Dieser enthält zusätzlich zu einigen der bekannten Kennzahlen auch voice-spezifische Metriken.

#### Voice-spezifische Kennzahlen

* *Gesprächsdauer* – Gesamtdauer aller Gespräche, angezeigt in Stunden (HH:MM) und Minuten (MM:SS), jeweils mit Veränderung zum Vorzeitraum.
* *Ø Gesprächsdauer* – durchschnittliche Dauer eines einzelnen Gesprächs im Format MM:SS.
* *Ø Benutzereingaben* – durchschnittliche Anzahl der Spracheingaben pro Gespräch.
* *Gesprächsende* – zeigt, wie viele Gespräche vom <code class="expression">space.vars.TERM\_AI\_AGENT</code> und wie viele vom Nutzer beendet wurden.
* *Weiterleitungsziele* – zeigt, an welche Ziele Gespräche weitergeleitet wurden.
* *Ausgangsschritte* – die Schritte im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>, an denen Gespräche beendet wurden. Zeigt den jeweiligen Schritt mit absoluter Anzahl und prozentualem Anteil.

#### Weitere Kennzahlen im Voice-Bericht

* *Konversationen* (Gesamt, Veränderung zum Vorzeitraum)
* *Interaktionen* (Gesamt, Veränderung zum Vorzeitraum)
* *Intentionsgenauigkeit*
* *Konversationen im Zeitverlauf*
* *Interaktionen im Zeitverlauf*
* *Intentionen erkannt*
* *Schritte ausgeführt*
* *Sprachen*

### Datenexport

Die Rohdaten aller Events kannst du als CSV-Datei exportieren – etwa zur Weiterverarbeitung in Excel oder Google Sheets. Den Export startest du über die Schaltfläche *Export* in der *Übersicht*.

[Mehr über Export und Datenmodell erfahren](/epic-ai-platform/epic-ai-platform/ai-agent/statistiken/export-and-datenmodell)

### Best Practices

* **Regelmäßig auswerten:** Prüfe die Statistiken mindestens wöchentlich, um Trends frühzeitig zu erkennen – etwa steigende Fallback-Raten oder eine sinkende *Intentionsgenauigkeit*.
* **Intentionsgenauigkeit im Blick behalten:** Ein hoher Wert (z. B. über 95 %) zeigt, dass dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> die Nutzerabsichten zuverlässig erkennt. Sinkt der Wert, solltest du die Trainingsdaten und Intentionen überprüfen.
* **Ausgangsschritte bei Voice-Kanälen analysieren:** Wenn viele Gespräche an unerwarteten Stellen beendet werden, kann das auf Probleme im Flow hindeuten. Prüfe in diesem Fall die betroffenen Schritte im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>.
* **Übersicht vs. Einzelberichte nutzen:** Verwende die *Übersicht* für einen schnellen Gesamteindruck. Für die detaillierte Analyse eines bestimmten Kanals wechsle in den jeweiligen Einzelbericht.
* **Inbox-Performance optimieren:** Achte auf *Nicht angenommen* und *Ø Zeit bis Beitritt* im Bericht *Benutzer*. Hohe Werte können darauf hindeuten, dass mehr Agenten benötigt werden oder die Weiterleitung optimiert werden sollte.


# Export & Datenmodell

Der Export ermöglicht es dir, die Rohdaten der Statistiken eines AI Agents als CSV-Datei herunterzuladen. So kannst du die Daten extern weiterverarbeiten, analysieren oder archivieren.

### Export

#### Wo finde ich das?

Öffne *Statistiken → Übersicht* und klicke oben rechts auf *Export*.

#### Was genau ist der Export?

Der Export liefert die Rohdaten der Statistiken eines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s für einen ausgewählten Zeitraum. Die Daten werden als CSV-Datei bereitgestellt.

Eine CSV-Datei ist ein einfaches Tabellenformat, das sich mit gängigen Tools wie Microsoft Excel, Google Sheets oder Datenanalyse-Software öffnen und weiterverarbeiten lässt.

#### Export durchführen

{% stepper %}
{% step %}

#### Export öffnen

Öffne *Statistiken → Übersicht* und klicke oben rechts auf *Export*. Es öffnet sich das Fenster *Rohdaten exportieren*.
{% endstep %}

{% step %}

#### Zeitraum wählen

Klicke auf das Datumsfeld, um den Kalender zu öffnen, und wähle einen Start- und einen Endtag. Zur schnellen Auswahl stehen links vordefinierte Zeiträume bereit – etwa *Gestern*, *Letzte 7 Tage* oder *Letzter Monat*. Bestätige mit *Übernehmen*.
{% endstep %}

{% step %}

#### Exportieren

Klicke auf *Exportieren*. Der Export wird nun verarbeitet; währenddessen erscheint ein Ladeindikator.
{% endstep %}

{% step %}

#### Datei herunterladen

Sobald der Export abgeschlossen ist (*Export bereit*), erscheint ein Download-Link. Klicke auf *Herunterladen*.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Schließe das Fenster nicht, solange der Export läuft – der Vorgang kann einige Minuten dauern. Der Download-Link ist nur 15 Minuten gültig; lade die Datei daher unmittelbar herunter. Der Exportzeitraum umfasst höchstens drei Monate, der aktuelle Tag ist nicht wählbar.
{% endhint %}

#### Best Practices

* Nutze die vordefinierten Zeiträume (z. B. *Letzter Monat*) für regelmäßige, vergleichbare Auswertungen.
* Lade die CSV-Datei unmittelbar nach Erscheinen des Download-Links herunter, da der Link nach 15 Minuten abläuft.

### Datenmodell

Die exportierte CSV-Datei bildet alle Events eines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s ab. Jede Zeile entspricht einem Event; die folgenden Spalten und Event-Typen sind enthalten:

<table data-header-hidden data-full-width="true"><thead><tr><th width="231.328125"></th><th></th><th width="268.046875"></th><th></th><th></th><th width="144.35546875"></th><th width="106.57421875"></th><th width="104.671875"></th><th width="305.1328125"></th><th width="128"></th><th></th><th width="128"></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Event-Tabelle</strong></td><td><strong>event_id</strong></td><td><strong>type</strong></td><td><strong>timestamp</strong></td><td><strong>bot_id</strong></td><td><strong>conversation_id</strong></td><td><strong>contact_id</strong></td><td><strong>version_id</strong></td><td><strong>payload</strong></td><td><strong>environment</strong></td><td><strong>channel_type</strong></td><td><strong>channel_id</strong></td><td><strong>label</strong></td><td><strong>flow_label</strong></td></tr><tr><td>Beschreibung</td><td>ID des Events die festlegt, dass jeder Eintrag einzigartig ist</td><td>Der Typ des Events legt fest, welche Art von Event stattfand</td><td>Zeitpunkt des Events</td><td>ID des <code class="expression">space.vars.TERM_AI_AGENT</code>s</td><td>ID der Konversation</td><td>ID des Kontakts</td><td>ID der <code class="expression">space.vars.TERM_AI_AGENT</code>-Version</td><td>Der aufgefasste Inhalt des Events</td><td>Umgebung, in der das Event stattfand (Test, Produktion oder Entwicklung)</td><td>Typ des verwendeten Channels</td><td>ID des verwendeten Channels</td><td>Name des ausgeführten Schritts</td><td>Name des Flows, in dem der Schritt sich befindet</td></tr><tr><td>Datentyp</td><td>uuid</td><td>CALL_START | CALL_END | CONTACT_CREATE | CONVERSATION_CREATE | ENTITY_DETECT | INTENT_DETECT | MESSAGE_SEND | MESSAGE_RECEIVE | MESSAGE_STATUS_UPDATE | ORGANIZATION_CREATE | CALL_TRANSFER | INTERACTION | STEP_EXECUTE | STEP_CONDITION_EXECUTE | STEP_SPLIT_EXECUTE | STEP_CONTEXT_EXECUTE | STEP_APP_MODULE_EXECUTE | CONVERSATION_TAG_ADDED | CONVERSATION_OPENED | CONVERSATION_CLOSED | REQUESTED_AGENT_HANDOVER</td><td>timestamp</td><td>string</td><td>string</td><td>string</td><td>string</td><td>JSON string</td><td>string</td><td>string</td><td>string</td><td>string</td><td>string</td></tr><tr><td><strong>Beschreibung des Event-Typen und des Payloads</strong></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><p>Dokumentiert den Start eines Anrufs.</p><p>Beinhaltet:</p><ul><li>die Rufnummer inklusive Ländervorwahl</li><li>ob es sich um eine mobile Nummer handelt</li></ul></td><td></td><td>CALL_START</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "callStart": {
    "countryCode": "number",
    "isMobile": "boolean",
    "calledNumber": "string"
  },
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert das Ende eines Anrufs.<br>Beinhaltet auch den Grund und die Art des Anruf-Endes.<br>Falls es sich um einen Transfer handelte, wird das Transferziel angegeben.</td><td></td><td>CALL_END</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "callEnd": {
    "reason": "string",
    "disconnectedBy": "string",
    "transferTarget": "string"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert das Erstellen eines Kontakts und legt dessen ID fest.</td><td></td><td>CONTACT_CREATE</td><td></td><td></td><td></td><td></td><td></td><td>/</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert die Erstellung einer Konversation und deren Sprache.</td><td></td><td>CONVERSATION_CREATE</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "conversationCreate": {
    "language": "string"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert die Erkennung einer Entität und deren ID. Gibt Auskunft, mit welcher Genauigkeit diese getroffen wurde.</td><td></td><td>ENTITY_DETECT</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "entityDetect": {
    "entityId": "string",
    "score": "number"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert die Erkennung einer Intention und deren ID. Gibt Auskunft, mit welcher Genauigkeit diese getroffen wurde.</td><td></td><td>INTENT_DETECT</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "intentDetect": {
    "intentId": "string",
    "score": "number"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><p>Dokumentiert den Versand einer Nachricht vom Agenten oder <code class="expression">space.vars.TERM_AI_AGENT</code>.</p><p>Beinhaltet:</p><ul><li>die ID der Nachricht</li><li>die Länge der Nachricht</li><li>die Größe (falls Datei)</li><li>die ID des Agenten (falls null, dann ist die Nachricht vom <code class="expression">space.vars.TERM_AI_AGENT</code>)</li><li>den Typ der Nachricht</li></ul></td><td></td><td>MESSAGE_SEND</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "messageSend": {
    "messageId": "string",
    "type": "string",
    "operatorId": "string",
    "length": "number",
    "size": "number"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><p>Dokumentiert den Empfang einer Nachricht vom User.</p><p>Beinhaltet:</p><ul><li>die ID der Nachricht</li><li>die Länge der Nachricht</li><li>die Größe (falls Datei)</li><li>den Typ der Nachricht</li></ul></td><td></td><td>MESSAGE_RECEIVE</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "messageReceive": {
    "messageId": "string",
    "type": "string",
    "length": "number",
    "size": "number"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert den Status einer Nachricht:<br>0 = SENT<br>1 = READ<br>2 = DELIVERED<br>3 = FAILED<br>-1 = UNRECOGNIZED</td><td></td><td>MESSAGE_STATUS_UPDATE</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "messageStatusUpdate": {
    "messageId": "string",
    "status": "string"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert das Erstellen einer Organisation und deren ID.</td><td></td><td>ORGANIZATION_CREATE</td><td></td><td></td><td></td><td></td><td></td><td><pre><code> {
  "organizationCreate": {
    "organizationId": "string"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert den Transfer eines Anrufs und das Transferziel.</td><td></td><td>CALL_TRANSFER</td><td></td><td></td><td></td><td></td><td></td><td><pre><code> {
  "callTransfer": {
    "target": "string"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert die Antworten der KI-Einstellung "Generative KI" (mit RAG).</td><td></td><td>GENERATIVE_AI_DETECT</td><td></td><td></td><td></td><td></td><td></td><td><pre data-overflow="wrap"><code>{"generativeAiDetect"     {"sourceIds": [] ,"trigger":"question_answering"}
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>/</td><td></td><td>INTERACTION</td><td></td><td></td><td></td><td></td><td></td><td>/</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><p>Dokumentiert die Ausführung von Schritten im <code class="expression">space.vars.TERM_AI_AGENT</code>.</p><p>Beinhaltet:</p><ul><li>die ID des Flows</li><li>die ID des Schrittes</li><li>den Typ des Schrittes</li></ul></td><td></td><td>STEP_EXECUTE</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "stepExecute": {
    "flowId": "string",
    "stepId": "string",
    "type": "string"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><p>Dokumentiert die Ausführung eines Bedingungs-Schrittes.</p><p>Beinhaltet:</p><ul><li>die ID des Flows</li><li>die ID des Schrittes</li><li>das Resultat der Bedingung, wobei “t” für wahr und “f” für falsch steht</li></ul></td><td></td><td>STEP_CONDITION_EXECUTE</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "stepConditionExecute": {
    "flowId": "string",
    "stepId": "string",
    "result": "string"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><p>Dokumentiert die Ausführung eines A/B-Split-Schrittes.</p><p>Beinhaltet:</p><ul><li>die ID des Flows</li><li>die ID des Schrittes</li><li>das Resultat des Splits, welches entweder “a” oder “b” ist</li></ul></td><td></td><td>STEP_SPLIT_EXECUTE</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "stepSplitExecute": {
    "flowId": "string",
    "stepId": "string",
    "result": "string"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><p>Dokumentiert die Ausführung eines Kontext-Schrittes.</p><p>Beinhaltet:</p><ul><li>die ID des Flows</li><li>die ID des Schrittes</li><li>den verwendeten Ausstieg</li><li>die ID der wahrscheinlichsten Intention</li></ul></td><td></td><td>STEP_CONTEXT_EXECUTE</td><td></td><td></td><td></td><td></td><td></td><td><pre><code> {
  "stepContextExecute": {
    "flowId": "string",
    "stepId": "string",
    "outlet": "string",
    "topIntent": "string"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td><p>Dokumentiert die Ausführung eines App-Modul-Schrittes.</p><p>Beinhaltet:</p><ul><li>die ID des Flows</li><li>die ID des Schritts</li><li>die ID der App</li><li>die ID des App-Moduls</li><li>den Status-Code</li><li>die Dauer bis zur Antwort</li><li>ob die Ausführung erfolgreich war</li></ul></td><td></td><td>STEP_APP_MODULE_EXECUTE</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "stepAppModuleExecute": {
    "flowId": "string",
    "stepId": "string",
    "appId": "string",
    "moduleId": "string",
    "statusCode": "number",
    "responseTime": "number",
    "responseOk": "boolean"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert das Hinzufügen eines “Tags” zur Konversation und die ID des “Tags”.</td><td></td><td>CONVERSATION_TAG_ADDED</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
  "conversationTagAdded": {
    "tagId": "string"
  }
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert das (erneute) Eröffnen einer Konversation.<br>Gibt an, ob diese von einem <code class="expression">space.vars.TERM_AI_AGENT</code> (null) oder einem Agenten (ID des Agenten)(wieder-)eröffnet wurde.</td><td></td><td>CONVERSATION_OPENED</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
"conversationOpened": {
"openedBy": "string",
"operatorId": "string"
}
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert das Abschließen einer Konversation.<br>Gibt an, ob diese von einem <code class="expression">space.vars.TERM_AI_AGENT</code> (null) oder einem Agenten (ID des Agenten) abgeschlossen wurde.</td><td></td><td>CONVERSATION_CLOSED</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
"conversationClosed": {
"closedBy": "string",
"operatorId": "string"
}
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>Dokumentiert die Ausführung des »Übergabe an Agenten«-Elements.</td><td></td><td>REQUESTED_AGENT_HANDOVER</td><td></td><td></td><td></td><td></td><td></td><td><pre><code>{
}
</code></pre></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>


# Einstellungen

Der Bereich Einstellungen ist die zentrale Anlaufstelle für grundlegenden und administrativen Konfigurationen deines AI Agents. Er ist über die Navigationsleiste deines AI Agents erreichbar.

In den Einstellungen konfigurierst du die grundlegenden und administrativen Aspekte deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s: vom internen Namen über Zugriffsrechte bis zu Kanälen und API-Zugängen. Du erreichst den Bereich über das *Zahnrad-Icon* unten links in der Navigation.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Allgemein</strong></td><td>Internen Namen und Zeitzone festlegen und bei Bedarf die Löschung des <code class="expression">space.vars.TERM_AI_AGENT</code>s beantragen.</td><td><a href="/pages/X9nSFQXBwBksmAKpXFjp">/pages/X9nSFQXBwBksmAKpXFjp</a></td></tr><tr><td><strong>App Store</strong></td><td>Apps installieren und externe Dienste als Werkzeuge in den Flow einbinden.</td><td><a href="/pages/SDgm86D4pkgrFMxg9qzd">/pages/SDgm86D4pkgrFMxg9qzd</a></td></tr><tr><td><strong>Sprachen</strong></td><td>Sprachen hinzufügen und die automatische Übersetzung aktivieren.</td><td><a href="/pages/Mpn7pP4pRdt2CrazHLYG">/pages/Mpn7pP4pRdt2CrazHLYG</a></td></tr><tr><td><strong>Benutzer</strong></td><td>Workspace-Mitglieder hinzufügen und ihnen Rollen für diesen <code class="expression">space.vars.TERM_AI_AGENT</code> zuweisen.</td><td><a href="/pages/Hi803v9lhJ3B8lmXazit">/pages/Hi803v9lhJ3B8lmXazit</a></td></tr><tr><td><strong>Teams</strong></td><td>Benutzer zu Gruppen zusammenfassen, um Konversationen gezielt zuzuweisen.</td><td><a href="/pages/jfIdX4XXLAssJFwN24J7">/pages/jfIdX4XXLAssJFwN24J7</a></td></tr><tr><td><strong>KI-Einstellungen</strong></td><td>Generative <code class="expression">space.vars.TERM_AI</code> und KI-gestützte Inbox-Funktionen aktivieren und konfigurieren.</td><td><a href="/pages/th6lMEC5wXwvSAfU6pnc">/pages/th6lMEC5wXwvSAfU6pnc</a></td></tr><tr><td><strong>Compliance Center</strong></td><td>KI-Transparenzhinweis, Aufbewahrungsfristen und Auskunft zu betroffenen Personen.</td><td><a href="/pages/ecjrmFEWlwVWhqO7TiPp">/pages/ecjrmFEWlwVWhqO7TiPp</a></td></tr><tr><td><strong>API-Schlüssel</strong></td><td>API-Schlüssel erstellen, um externe Systeme, Dienste und Webhooks sicher anzubinden.</td><td><a href="/pages/wE3GK4nfTtdRzICYE1ns">/pages/wE3GK4nfTtdRzICYE1ns</a></td></tr><tr><td><strong>Kanäle</strong></td><td>Kommunikationswege wie Web-Widget, Telefonie, E-Mail und Messenger einrichten.</td><td><a href="/pages/TYwPleoPBeFtQYrvt0n4">/pages/TYwPleoPBeFtQYrvt0n4</a></td></tr></tbody></table>

### Inbox

Diese Einstellungen betreffen die Zusammenarbeit in der *Inbox*:

* [**Tags**](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/tags-und-trigger)**:** Konversationen manuell oder automatisiert kategorisieren und filtern.
* [**Schnellantworten**](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/schnellantworten)**:** Vorgefertigte Textbausteine für häufig verwendete Antworten.
* [**Widgets**](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/inbox-widgets)**:** Variablenwerte als Karten in der Seitenleiste einer Konversation anzeigen und pflegen.


# Allgemein

Die Seite Allgemein ist die zentrale Einstellungsseite deines AI Agents. Hier kannst du den Namen und die Zeitzone deines AI Agents anpassen sowie bei Bedarf die Löschung beantragen.

### Wo finde ich das?

Du findest die Seite unter *Einstellungen → Allgemein*. Sie ist in drei Abschnitte unterteilt: *Allgemein* (Name und Zeitzone), *Details* (technische Informationen) und *Sensibler Bereich* (Löschung).

### Name und Zeitzone

Im Feld *Name des AI Agents* legst du den Namen fest, der deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> innerhalb der Plattform identifiziert. Er wird ausschließlich intern verwendet, z. B. in der Übersicht deiner <code class="expression">space.vars.TERM\_AI\_AGENT</code>s, und ist für Endnutzer nicht sichtbar.

Über das Feld *Zeitzone* bestimmst du, nach welcher Ortszeit zeitabhängige Funktionen deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s arbeiten:

* **Variablen**, die das aktuelle Datum oder die aktuelle Uhrzeit liefern
* **Das Datum**, das das <code class="expression">space.vars.TERM\_AI</code>-Modell bei der Verarbeitung von Anfragen erhält

{% hint style="info" %}
Zeitstempel in der Oberfläche der <code class="expression">space.vars.PRODUCT\_NAME</code> richten sich weiterhin nach der Zeitzone deines Browsers – nicht nach der hier eingestellten Zeitzone deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s.
{% endhint %}

So passt du Name oder Zeitzone an:

{% stepper %}
{% step %}

#### Einstellungen öffnen

Navigiere zu *Einstellungen → Allgemein*.
{% endstep %}

{% step %}

#### Werte anpassen

Ändere den Wert im Feld *Name des AI Agents* oder wähle im durchsuchbaren Feld *Zeitzone* eine Zeitzone (z. B. über die Suche „Berlin“).
{% endstep %}

{% step %}

#### Speichern

Sobald du etwas änderst, erscheint unten der Hinweis *Nicht gespeicherte Änderungen*. Klicke dort auf *Speichern –* oder auf *Zurücksetzen*, um die Änderungen zu verwerfen.
{% endstep %}
{% endstepper %}

{% hint style="success" %}
Wähle die Zeitzone passend zum Einsatzort deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Wird er primär in Deutschland genutzt, ist `Europe/Berlin` die richtige Wahl.
{% endhint %}

### Details

Der Abschnitt *Details* zeigt technische Informationen zu deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code>:

* *AI Agent ID:* wird automatisch vergeben und dient der internen Identifikation. Über das Kopieren-Symbol übernimmst du sie in die Zwischenablage.
* *Erstellt:* Datum und Uhrzeit, zu der der <code class="expression">space.vars.TERM\_AI\_AGENT</code> angelegt wurde.

### AI Agent löschen

Im *Sensiblen Bereich* beantragst du die Löschung deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Ein direktes Löschen über die Oberfläche ist nicht möglich: Klicke auf *E-Mail senden* und wende dich an die angezeigte Support-Adresse. Nach Bestätigung wird der <code class="expression">space.vars.TERM\_AI\_AGENT</code> innerhalb von 30 Tagen gelöscht.

{% hint style="danger" %}
Sobald die Löschanfrage bearbeitet wurde, lässt sich der Vorgang nicht mehr rückgängig machen. Möchtest du die Löschung stoppen, wende dich **schnellstmöglich** nach dem Absenden an den Support.
{% endhint %}


# Apps / Appstore

Der Appstore ermöglicht es, Apps direkt in einem AI Agent zu installieren und so externe Dienste in den Flow einzubinden. Er zeigt sowohl öffentliche als auch private Apps an.

### Wo finde ich das?

Du findest den App Store unter *AI Agent → Einstellungen → App Store*. Hier installierst du fertige Apps in deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> und bindest so externe Dienste in deine Flows ein. Angezeigt werden sowohl öffentliche Apps aus dem Marktplatz als auch private Apps, die in deinem [Workspace erstellt](/epic-ai-platform/epic-ai-platform/workspace/apps) wurden.

### Aufbau

Die linke Navigation gliedert den App Store in zwei Bereiche:

* *Entdecken* – neue Apps durchsuchen und installieren.
* *Deine Apps* – bereits installierte Apps verwalten, unterteilt in *Installiert* und *Privat*.

Über *Kategorien* filterst du gezielt: CRM, E-Commerce, ERP, Helpdesk, Termine, HR, Projekte und Sonstige. Oben rechts steht das Suchfeld *Apps durchsuchen* zur Verfügung.

#### Entdecken

Auf der Startseite von *Entdecken* sind oben Themen-Kacheln hervorgehoben (z. B. *CRM & Vertrieb*, *E-Commerce*, *Helpdesk & ITSM*), darunter folgen die Kategorie-Abschnitte mit den App-Karten. Besonders häufig genutzte Apps tragen ein *Beliebt*-Badge; über *Alle anzeigen* öffnest du die vollständige Liste einer Kategorie.

Ist eine App noch nicht verfügbar (Status *Demnächst verfügbar*), kannst du sie über *Integration anfragen* beim Epic AI-Team vormerken.

#### Deine Apps

* *Installiert* – alle installierten Apps, gruppiert nach Kategorie, mit Name und Installationsdatum. Öffentliche Apps tragen das Badge *Öffentlich*, private das Badge *Privat*.
* *Privat* – ausschließlich die im eigenen Workspace erstellten und installierten Apps.

### App installieren

{% stepper %}
{% step %}

#### App finden

Navigiere zu *AI Agent → Einstellungen → App Store* und suche die gewünschte App – über die Kategorien, die Themen-Kacheln oder die Suche.
{% endstep %}

{% step %}

#### Installieren

Klicke bei der App auf *Installieren*. Im Dialog *App installieren* wird die neueste freigegebene Version vorgeschlagen – bestätige die Installation.
{% endstep %}

{% step %}

#### Verbindungen prüfen

Nach der Installation landest du auf der App-Detailseite. Erfordert die App eine Verbindung mit Authentifizierung, weist dich ein orangefarbener Warnhinweis darauf hin.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Eine App ist erst vollständig nutzbar, wenn alle erforderlichen Verbindungen eingerichtet sind. Module, deren Verbindung noch nicht konfiguriert ist, sind im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> nicht einsatzbereit.
{% endhint %}

Möchtest du statt der neuesten Version eine bestimmte Version installieren, wähle sie nach der Installation über *Version ändern* auf der Detailseite aus.

### App-Detailseite

Ein Klick auf eine installierte App öffnet die Detailseite. Dort siehst du:

* Name, Typ-Badge (*Öffentlich* oder *Privat*), App-ID und Status
* die Beschreibung der App (sofern hinterlegt)
* die *Verbindungen* mit Status *Verbunden* oder *Nicht verbunden*
* die *Module* mit der jeweils verknüpften Verbindung
* Installations- und Aktualisierungsdatum

Ein Modul lässt sich nur verwenden, wenn die verknüpfte Verbindung eingerichtet und verbunden ist.

### Verbindung einrichten

Ist eine Verbindung noch nicht konfiguriert, erscheint auf der Detailseite ein orangefarbener Warnhinweis, und abhängige Module sind mit einem Warnsymbol gekennzeichnet.

{% stepper %}
{% step %}

#### Verbindung öffnen

Klicke im Warnhinweis auf *Einrichten* oder auf das Stift-Symbol neben der Verbindung.
{% endstep %}

{% step %}

#### Zugangsdaten eintragen

Welche Felder erscheinen, hängt vom Authentifizierungstyp der Verbindung ab – bei *Basic Auth* etwa *Benutzername* und *Passwort*, bei *Bearer Token* das Feld *Token*. Bei *OAuth2 Authorization Code* gibt es keine Felder: Dort öffnet *Verbinden* ein Popup mit dem Login des externen Anbieters.
{% endstep %}

{% step %}

#### Abschließen

Klicke auf *Verbinden*. Die Verbindung wird per Healthcheck-Abfrage geprüft; ist sie erfolgreich, wechselt der Status auf *Verbunden* und die zugehörigen Module sind einsatzbereit.
{% endstep %}
{% endstepper %}

Welche Typen es gibt, welche Zugangsdaten sie verlangen und was bei einem Fehlschlag zu tun ist, steht unter [Authentifizierung](/epic-ai-platform/epic-ai-platform/workspace/apps/authentifizierung).

{% hint style="info" %}
Zugangsdaten gehören zu dieser Installation. Ein anderer <code class="expression">space.vars.TERM\_AI\_AGENT</code> mit derselben App hat seine eigenen – und der Ersteller der App sieht deine nicht.
{% endhint %}

### Wenn eine Verbindung ausfällt

Eine eingerichtete Verbindung kann später ungültig werden, etwa weil ein Token widerrufen wurde oder sich nicht mehr erneuern ließ. Die Detailseite meldet dann *Verbindung gescheitert*, nennt den Zeitpunkt des Ausfalls und bietet *Neu verbinden* an. Bis dahin sind die Module dieser Verbindung nicht einsatzbereit.

### App aktualisieren

Ist eine neuere Version verfügbar, erscheint auf der Detailseite ein blauer Hinweis mit Veröffentlichungsdatum. Über *Aktualisieren* bringst du die App auf die neueste Version; über *Version ändern* wählst du gezielt eine bestimmte Version.

{% hint style="info" %}
Nach einer Aktualisierung oder einem Versionswechsel können sich Module oder Verbindungen geändert haben. Prüfe anschließend, ob alle Verbindungen noch verbunden sind und die Module im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> wie erwartet funktionieren.
{% endhint %}

### App deinstallieren

{% stepper %}
{% step %}

#### Deinstallation öffnen

Klicke auf der Detailseite im Abschnitt *App deinstallieren* auf *Deinstallieren*.
{% endstep %}

{% step %}

#### Bestätigen

Gib zur Sicherheit den Namen der App exakt ein und bestätige mit *App deinstallieren*.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Nach dem Deinstallieren stehen die Module der App im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> nicht mehr zur Verfügung – bereits eingebundene App-Modul-Schritte können zu Fehlern führen. Prüfe vorher, ob die App noch aktiv in einem Flow verwendet wird. Möglicherweise gehen zudem Daten verloren, die über die App erfasst wurden.

Mit der App werden auch ihre Verbindungen und die darin hinterlegten Zugangsdaten entfernt. Eine erteilte OAuth2-Freigabe bleibt beim externen Anbieter bestehen, bis du sie dort widerrufst.
{% endhint %}

### Apps im Flow Builder verwenden

Nach der Installation und dem Einrichten aller Verbindungen kannst du die Module einer App auf zwei Wegen im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> nutzen:

* **Als eigener Schritt:** Baue ein [App-Modul](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/app-module) als eigenständigen Schritt in den Flow ein. Die Modul-Antwort wird in Variablen gespeichert, die du anschließend im weiteren Verlauf verwenden kannst.
* **Als Tool in&#x20;*****Gespräch führen*****:** Binde ein Modul im Schritt [Gespräch führen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-gesprach-fuhren) als Tool ein. Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> entscheidet dann selbst, ob und wann er es während der Konversation aufruft.


# Sprache

Der Bereich Sprachen ermöglicht es dir, deinen AI Agent für mehrere Sprachen zu konfigurieren. So kann dein AI Agent Nutzer in ihrer jeweiligen Sprache verstehen und ansprechen.

### Wo finde ich das?

Du findest die Spracheinstellungen unter *Einstellungen → Sprachen*, im unteren Bereich der linken Navigationsleiste deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s.

### Was sind Sprachen?

Im Bereich *Sprachen* legst du fest, welche Sprachen dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> unterstützt. Jede aktive Sprache erscheint im Abschnitt *Aktive Sprachen* in einer Tabelle mit den Spalten *Sprache* und *Abkürzung* (z. B. `DE` für Deutsch oder `EN-GB` für Englisch (GB)).

Eine Sprache ist als Standardsprache markiert (Badge *Standard*). Sie ist die Quelle für die automatische Übersetzung statischer Schritte. Die Standardsprache wird bei der Einrichtung des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s festgelegt und lässt sich nachträglich weder ändern noch entfernen.

### Automatische Übersetzung

Über den Abschnitt *Automatische Übersetzung* aktivierst du die Karte *Automatisches Übersetzen*. Ist die Option aktiv, werden eingehende und ausgehende Nachrichten automatisch übersetzt – immer dann, wenn die Sprache eines Nutzers nicht aktiviert ist oder für sie keine Inhalte hinterlegt sind.

Zusätzlich gilt:

* <code class="expression">space.vars.TERM\_AI</code>**-gestützte Schritte** werden automatisch in alle aktiven Sprachen übersetzt.
* **Statische Schritte** – z. B. feste Textnachrichten im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> – werden ausgehend von der Standardsprache in die übrigen aktiven Sprachen übersetzt.

{% hint style="info" %}
Bei aktiver automatischer Übersetzung musst du statische Schritte nicht in jeder Sprache pflegen. Die Standardsprache bleibt die einzige Quelle, die du aktiv bearbeitest.
{% endhint %}

### Sprachen verwalten

#### Sprache hinzufügen

{% stepper %}
{% step %}
Klicke oben rechts auf *Sprache hinzufügen*.
{% endstep %}

{% step %}
Wähle im Feld *Sprache* die gewünschte Sprache aus. Das Feld ist durchsuchbar und bietet zahlreiche Weltsprachen.
{% endstep %}

{% step %}
Klicke auf *Hinzufügen*. Die Sprache erscheint anschließend im Abschnitt *Aktive Sprachen*.
{% endstep %}
{% endstepper %}

#### Sprache entfernen

{% stepper %}
{% step %}
Fahre im Abschnitt *Aktive Sprachen* mit der Maus über die Sprache und klicke rechts auf das Löschen-Symbol. Die Standardsprache lässt sich nicht entfernen.
{% endstep %}

{% step %}
Gib zur Sicherheit den Namen der Sprache in das Bestätigungsfeld ein und klicke auf *Sprache entfernen*.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Das Entfernen einer Sprache ist **unwiderruflich**. Alle Inhalte in dieser Sprache gehen verloren – darunter gepflegte Texte im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> und die zugehörigen Trainingsdaten. Prüfe daher vorab, ob die Sprache noch aktiv verwendet wird.
{% endhint %}

### Beispiel: Mehrsprachige Einrichtung

Du pflegst deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> auf Deutsch, möchtest aber auch Französisch, Englisch und Italienisch unterstützen:

1. Füge unter *Einstellungen → Sprachen* über *Sprache hinzufügen* die Sprachen *Französisch*, *Englisch (GB)* und *Italienisch* hinzu.
2. Aktiviere *Automatisches Übersetzen*.

Ergebnis: Du pflegst alle Inhalte im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> ausschließlich auf Deutsch. Schreibt ein Nutzer auf Französisch, übersetzt das System die Nachrichten automatisch.

### Best Practices

* **Primärsprache als Standard festlegen:** Die Sprache, in der du deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> pflegst, sollte die Standardsprache sein – die automatische Übersetzung statischer Schritte basiert immer auf ihr.
* **Automatisches Übersetzen bei mehrsprachigem Publikum aktivieren:** So musst du Inhalte nicht mehrfach manuell übersetzen und pflegen.
* **Sprachen bewusst entfernen:** Entferne eine Sprache nur, wenn du sie sicher nicht mehr brauchst – die zugehörigen Trainingsdaten lassen sich nicht wiederherstellen.


# Benutzer

Im Bereich „Benutzer" kannst du festlegen, welche Personen aus deinem Workspace Zugriff auf einen bestimmten AI Agent haben.

### Wo finde ich das?

Navigiere zu *AI Agent →* *Einstellungen → Benutzer*. Du siehst eine Tabelle mit allen Benutzern des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s – mit den Spalten *Vor- und Nachname*, *E-Mail-Adresse* und *Hinzugefügt*. Über das Suchfeld *Benutzer suchen* findest du gezielt einzelne Personen.

### Was sind Benutzer?

Benutzer sind Personen aus deinem Workspace, denen du Zugriff auf einen <code class="expression">space.vars.TERM\_AI\_AGENT</code> gewährt hast. Jeder Benutzer erhält eine oder mehrere Rollen, die festlegen, welche Funktionen er nutzen darf.

{% hint style="info" %}
Nur Personen, die bereits [Mitglied deines Workspaces](/epic-ai-platform/epic-ai-platform/workspace/benutzer) sind, können als Benutzer hinzugefügt werden. Es ist nicht möglich, externe Personen direkt hinzuzufügen. Sie müssen zuerst in den Workspace eingeladen werden.
{% endhint %}

#### Rollen im Überblick

Jedem Benutzer wird mindestens eine Rolle zugewiesen; mehrere Rollen gleichzeitig sind möglich. Die verfügbaren Rollen:

| Rolle                   | Berechtigung                                                                                                 |
| ----------------------- | ------------------------------------------------------------------------------------------------------------ |
| Inhaber                 | Kann den AI Agent uneingeschränkt verwalten und nutzen.                                                      |
| Administrator           | Kann den AI Agent verwalten und nutzen, ihn aber nicht löschen.                                              |
| Bearbeiter              | Kann den AI Agent bearbeiten, aber keine Benutzer verwalten oder Nachrichten versenden.                      |
| Inbox-Administrator     | Kann die Inbox-Einstellungen vollumfänglich verwalten und Nachrichten versenden.                             |
| Inbox-Benutzer          | Kann Nachrichten versenden, aber keine Inbox-Einstellungen verwalten.                                        |
| Inbox-Benutzer (extern) | Kann Nachrichten versenden, sieht aber nur die eigenen und die dem eigenen Team zugewiesenen Konversationen. |
| Mitglied                | Kann andere Mitglieder sehen, aber keine Änderungen vornehmen.                                               |
| Statistik-Betrachter    | Kann die Statistiken des AI Agents einsehen.                                                                 |

### Benutzer verwalten

{% hint style="info" %}
Um Benutzer hinzuzufügen oder zu entfernen, benötigst du die Rolle *Inhaber* oder *Administrator*.
{% endhint %}

#### Benutzer hinzufügen

{% stepper %}
{% step %}

#### Benutzer-Verwaltung öffnen

Navigiere zu *Einstellungen → Benutzer* und klicke oben rechts auf *Benutzer hinzufügen*.
{% endstep %}

{% step %}

#### Person und Rolle wählen

Wähle im Feld *Benutzer* eine Person aus den verfügbaren Workspace-Mitgliedern und weise ihr im Feld *Rolle* eine Rolle zu.
{% endstep %}

{% step %}

#### Weitere Personen ergänzen (optional)

Über *Weiteren Benutzer hinzufügen* fügst du in einem Schritt weitere Personen hinzu – jeweils mit eigener Rolle.
{% endstep %}

{% step %}

#### Bestätigen

Klicke auf *Benutzer hinzufügen*. Die Personen werden nacheinander hinzugefügt; zum Abschluss siehst du eine Übersicht der erfolgreich hinzugefügten Benutzer.
{% endstep %}
{% endstepper %}

#### Rollen ändern

Klicke in der Tabelle auf einen Benutzer, um seine Detailansicht zu öffnen. Sie gliedert sich in mehrere Bereiche:

* *Profil:* Name, E-Mail-Adresse und Datum des Hinzufügens.
* *Rollen:* Tabelle aller zugewiesenen Rollen mit Beschreibung. Über *Rolle hinzufügen* ergänzt du weitere Rollen – im Menü erscheinen nur Rollen, die der Benutzer noch nicht besitzt. Zum Entfernen einer Rolle fährst du über die Zeile und klickst auf das Löschsymbol (*Rolle entziehen*).
* *Teams:* Zeigt, in welchen Teams der Benutzer Mitglied ist.

#### Benutzer entfernen

{% stepper %}
{% step %}

#### Detailansicht öffnen

Klicke in der Tabelle auf den Benutzer.
{% endstep %}

{% step %}

#### Entfernen

Klicke im Bereich *Sensibler Bereich* auf *Entfernen* und bestätige die Entfernung.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Das Entfernen entzieht nur den Zugriff auf den jeweiligen <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Die Person bleibt weiterhin Mitglied des Workspaces.
{% endhint %}

{% hint style="warning" %}
Inhaber können nur von anderen Inhabern entfernt werden, und ein Inhaber kann sich nicht selbst entfernen. So ist sichergestellt, dass der <code class="expression">space.vars.TERM\_AI\_AGENT</code> nie ohne Inhaber ist.
{% endhint %}

### Best Practices

* **Rollen gezielt vergeben:** Weise nur die Rollen zu, die jemand für seine Arbeit tatsächlich benötigt. So vermeidest du unbeabsichtigte Änderungen am <code class="expression">space.vars.TERM\_AI\_AGENT</code>.
* **Mindestens zwei Inhaber einrichten:** Falls ein Inhaber das Team verlässt, bleibt der volle Zugriff gewährleistet.
* **Inbox-Rollen differenziert einsetzen:** Nutze *Inbox-Benutzer (extern)* für externe Mitarbeitende oder Partner, die nur ihre eigenen Konversationen sehen sollen. Für interne Teamleitungen eignet sich *Inbox-Administrator*, um Inbox-Einstellungen selbstständig zu verwalten.
* **Berechtigungen regelmäßig prüfen:** Kontrolliere in regelmäßigen Abständen, ob die zugewiesenen Rollen noch zu den aktuellen Aufgaben passen.


# Teams

Mit Teams kannst du Benutzer deines AI Agents zu Gruppen zusammenfassen.

### Wo finde ich das?

Du findest die Team-Verwaltung unter *Einstellungen → Teams*. Dort werden alle Teams in einer Tabelle mit den Spalten *Name*, *Mitglieder*, *Erstellt* und *ID* angezeigt. Die Team-ID lässt sich über das Kopier-Symbol in die Zwischenablage übernehmen – praktisch, wenn du das Team z. B. per API referenzierst. Über das Suchfeld *Team suchen* findest du gezielt einzelne Teams.

### Was sind Teams?

Ein Team ist eine Gruppe von Benutzern deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Du kannst beliebig viele Teams anlegen und jedem Team beliebig viele Mitglieder zuweisen. Als Mitglieder stehen ausschließlich [Benutzer](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/benutzer) zur Verfügung, die im <code class="expression">space.vars.TERM\_AI\_AGENT</code> angelegt sind. Einer Konversation kann immer nur ein Team gleichzeitig zugeordnet werden.

### Was kannst du mit Teams machen?

* **Automatische Zuweisung:** Das Element [*Team zuweisen*](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen#team-zuweisen) im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> ordnet eingehende Konversationen je nach Anliegen direkt dem passenden Team zu.
* **Manuelle Zuweisung:** In der Inbox weist du einer Konversation über die [*Team-Zuweisung*](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/konversationsdetails-rechte-seite#team-zuweisen) manuell ein Team zu oder änderst es.
* **Gefilterte Ansichten:** Der Bereich [*Teams*](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/bereiche-navigation-linke-seite#teams) in der Inbox zeigt für jedes Team eine eigene Warteschlange mit den zugeordneten Konversationen.
* **Rollen-Berechtigung:** Die Rolle [*Inbox-Benutzer (extern)*](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/benutzer#rollen-im-uberblick) sieht ausschließlich Konversationen, die dem eigenen Team zugeordnet sind.

### Teams verwalten

#### Team erstellen

{% stepper %}
{% step %}

#### Team-Verwaltung öffnen

Navigiere zu *Einstellungen → Teams*.
{% endstep %}

{% step %}

#### Team anlegen

Klicke oben rechts auf *Team erstellen*.
{% endstep %}

{% step %}

#### Namen vergeben

Trage im Feld *Teamname* einen Namen ein. Der Name ist ein Pflichtfeld.
{% endstep %}

{% step %}

#### Bestätigen

Klicke auf *Erstellen*. Das Team erscheint anschließend in der Übersicht.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Der Name eines Teams lässt sich nach der Erstellung nicht mehr ändern. Wähle daher direkt einen aussagekräftigen Namen.
{% endhint %}

#### Mitglieder bearbeiten

{% stepper %}
{% step %}

#### Team öffnen

Klicke unter *Einstellungen → Teams* auf das gewünschte Team. In der Detailansicht siehst du alle Mitglieder mit *Name* und *E-Mail-Adresse*.
{% endstep %}

{% step %}

#### Auswahl öffnen

Klicke oben rechts auf *Mitglieder bearbeiten*. Es öffnet sich ein Menü mit allen Benutzern des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Über das Suchfeld filterst du nach Name oder E-Mail-Adresse.
{% endstep %}

{% step %}

#### Mitglieder festlegen

Klicke auf einen Benutzer, um ihn hinzuzufügen oder zu entfernen. Ein Häkchen kennzeichnet die aktuellen Mitglieder.
{% endstep %}
{% endstepper %}

Deine Auswahl wird automatisch übernommen, sobald du das Menü schließt.

#### Team löschen

{% stepper %}
{% step %}

#### Team auswählen

Navigiere zu *Einstellungen → Teams* und klicke in der Übersicht auf das Löschen-Symbol des Teams.
{% endstep %}

{% step %}

#### Löschen bestätigen

Bestätige den Vorgang mit *Team löschen*.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Das Löschen eines Teams ist **endgültig**. Zugewiesene Konversationen verlieren ihre Zuordnung, und das Element *Team zuweisen* im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> enthält kein gültiges Team mehr. Prüfe vor dem Löschen, ob das Team noch in aktiven Flows oder Konversationen verwendet wird, und kontrolliere anschließend deine Flows auf ungültige Zuweisungen.
{% endhint %}

### Best Practices

* **Aussagekräftige Namen verwenden:** Da sich Teamnamen nicht nachträglich ändern lassen, wähle direkt einen klaren Namen – z. B. „Support Level 1“, „Vertrieb DACH“ oder „Buchhaltung“.
* **Teams nach Zuständigkeiten strukturieren:** Orientiere dich an den tatsächlichen Verantwortlichkeiten. So lassen sich Konversationen im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> gezielt weiterleiten und in der Inbox übersichtlich filtern.
* **Mitgliederliste aktuell halten:** Passe die Mitglieder zeitnah an, wenn Personen das Unternehmen verlassen oder die Zuständigkeit wechseln.
* **Automatische Zuweisung nutzen:** Das Element *Team zuweisen* im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> ordnet eingehende Konversationen ohne manuellen Aufwand dem richtigen Team zu.


# KI-Einstellungen

In den KI-Einstellungen legst du fest, wie dein AI Agent generative KI nutzt und welche KI-gestützten Funktionen in der Inbox aktiv sind.

In den KI-Einstellungen konfigurierst du generative <code class="expression">space.vars.TERM\_AI</code> und <code class="expression">space.vars.TERM\_AI</code>-Funktionen für die Inbox.

### Wo finde ich die KI-Einstellungen?

Du findest die Seite unter *Einstellungen → KI-Einstellungen*. Sie enthält zwei Bereiche:

* **Generative KI:** Steuert, wie dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> generative <code class="expression">space.vars.TERM\_AI</code> verwendet.
* **Inbox:** Aktiviert unterstützende <code class="expression">space.vars.TERM\_AI</code>-Funktionen für Inbox-Mitarbeitende.

### Generative KI

Die generative <code class="expression">space.vars.TERM\_AI</code> beantwortet Anfragen ohne passende [Intention](/epic-ai-platform/epic-ai-platform/ai-agent/build/intentionen) oder passendes [FAQ-Paar](/epic-ai-platform/epic-ai-platform/ai-agent/build/faqs). Sie nutzt dafür das hinterlegte [Wissen](/epic-ai-platform/epic-ai-platform/ai-agent/build/wissen).

{% hint style="warning" %}
Aktivierst du generative <code class="expression">space.vars.TERM\_AI</code>, steigt der erforderliche Confidence-Score für Intentionen und FAQ-Paare. Dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> ordnet Anfragen dann seltener zu. Nicht zugeordnete Anfragen kann er direkt generativ beantworten.
{% endhint %}

Aktiviere *Generative KI*. Lege anschließend im Feld *Prompt* fest, wie die <code class="expression">space.vars.TERM\_AI</code> antwortet. Definiere etwa Tonalität, Themenumfang und Verhaltensregeln. Ohne Prompt kannst du die Einstellung nicht speichern.

Weitere Optionen findest du unter [Modelleinstellungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/ki-einstellungen/modelleinstellungen).

### KI-Funktionen für die Inbox

Unter *Inbox* aktivierst du Funktionen für die Nachrichtenbearbeitung. Für jede aktive Funktion erscheint ein passendes Icon in der Inbox. Die Einstellungen gelten für alle Inbox-Mitarbeitenden deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>.

| Funktion                          | Wirkung                                                          | Eigener Prompt |
| --------------------------------- | ---------------------------------------------------------------- | -------------- |
| *Umformulierungen*                | Schlägt eine überarbeitete Version der eingegebenen Antwort vor. | Ja             |
| *Automatische Zusammenfassung*    | Fasst die bisherige Konversation zusammen.                       | Ja             |
| *Automatische Antwortgenerierung* | Erstellt aus der bisherigen Konversation einen Antwortvorschlag. | Nein           |

Aktiviere die gewünschte Funktion über den jeweiligen Schalter. Hinterlege bei Funktionen mit eigenem Prompt eine passende Anweisung. Beispiele:

* **Umformulierungen:** „Formuliere den Text professioneller und kürzer. Behalte den inhaltlichen Kern bei.“
* **Automatische Zusammenfassung:** „Fasse die Konversation in maximal zwei Sätzen zusammen. Hebe das Hauptanliegen hervor.“

{% hint style="info" %}
Inbox-Mitarbeitende können bei *Umformulierungen* zusätzliche Anweisungen im Antwortfeld eingeben. Beispiel: „Antworte bitte auf Englisch: \[Antwort].“
{% endhint %}

### Einstellungen speichern

Änderungen werden erst nach einem Klick auf *Speichern* wirksam. Mit *Zurücksetzen* verwirfst du sie. Der Hinweis *Nicht gespeicherte Änderungen* erscheint, solange Änderungen offen sind.

### Best Practices

* **Prompts präzise formulieren:** Klare Vorgaben zu Tonalität, Themenumfang und Einschränkungen schaffen vorhersehbare Antworten.
* **Zuordnungen prüfen:** Teste nach der Aktivierung der generativen <code class="expression">space.vars.TERM\_AI</code> relevante Intentionen und FAQs.
* **Prompts regelmäßig aktualisieren:** Passe sie an neue Anfragen und geänderte Kommunikationsvorgaben an.


# Prompt-Editor

Der Prompt-Editor ist das Texteingabefeld für alle Prompts in der Plattform. Er ermöglicht es, Inhalte sowohl über eine Formatierungsleiste als auch direkt per Markdown-Syntax zu gestalten.

{% hint style="info" %}
*Prompt-Editor* ist kein eigenständiger Navigationsbereich. Er taucht überall dort auf, wo KI-Prompts definiert werden können.
{% endhint %}

Der Prompt-Editor ist das Eingabefeld für alle Prompts in der Plattform. Du gestaltest Inhalte wahlweise über eine Formatierungsleiste oder direkt per Markdown.

### Wo finde ich den Prompt-Editor?

Der Prompt-Editor erscheint überall dort, wo du einen Prompt eingibst – etwa in den KI-Einstellungen deines <code class="expression">space.vars.TERM\_AI\_AGENT</code> oder in KI-Schritten wie [Gespräch führen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/gen-ai-gesprach-fuhren).

### Was ist der Prompt-Editor?

Der Editor kombiniert zwei Eingabewege in einem Feld:

* **Formatierungsleiste:** Wende Formatierungen per Klick an – ohne Markdown-Kenntnisse.
* **Markdown-Eingabe:** Tippe Markdown direkt ein; die Formatierung wird sofort als Vorschau gerendert.

Beide Wege lassen sich frei kombinieren – es gibt keinen Umschalter.

#### Toolbar

Die Toolbar am oberen Rand bietet folgende Funktionen:

| Schaltfläche                        | Funktion                                           |
| ----------------------------------- | -------------------------------------------------- |
| *Fett*                              | Text fett formatieren                              |
| *Kursiv*                            | Text kursiv formatieren                            |
| *Überschrift*                       | Absatzformat wählen (Fließtext, H1, H2, H3)        |
| *Aufzählungsliste*                  | Ungeordnete Liste erstellen                        |
| *Nummerierte Liste*                 | Geordnete Liste erstellen                          |
| *Variable einfügen*                 | Variablen-Picker öffnen (Puzzle-Symbol)            |
| *Rückgängig machen* / *Wiederholen* | Letzte Änderung zurücknehmen bzw. wiederherstellen |
| *Markdown kopieren*                 | Inhalt als Markdown in die Zwischenablage kopieren |
| *Speichern*                         | Eingaben sichern                                   |

#### Unterstützte Markdown-Elemente

* `# Überschrift 1` → H1
* `## Überschrift 2` → H2
* `### Überschrift 3` → H3
* `**Text**` → fett
* `*Text*` → kursiv
* `- Element` → Aufzählungsliste
* `1. Element` → nummerierte Liste
* ` ```code``` ` → Codeblock
* `> Text` → Zitat

{% hint style="info" %}
Die Formatierung erscheint sofort live im Editor – du siehst schon beim Tippen, wie der fertige Text aussieht.
{% endhint %}

### Variablen einfügen

Variablen befüllen Prompts dynamisch mit Inhalten aus der laufenden Unterhaltung – etwa dem Namen des Nutzers oder einer erkannten IBAN. Schreibgeschützte Variablen werden gelb, alle anderen blau hervorgehoben.&#x20;

1. Setze den Cursor an die gewünschte Stelle.
2. Klicke in der Toolbar auf *Variable einfügen* (Puzzle-Symbol), um den [Variablen-Picker](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen#variablen-picker) zu öffnen.
3. Wähle die Variable aus – sie wird an der Cursorposition eingefügt.

{% hint style="info" %}
Variablen können vom Prompt gelesen, aber nicht beschrieben werden.
{% endhint %}

### Speichern und Verwerfen

Über das *Speichern*-Symbol in der Toolbar sicherst du deine Eingaben. Verlässt du den Editor mit ungespeicherten Änderungen, erscheint ein Hinweis mit drei Optionen:

* *Zurück:* zurück zum Editor, ohne etwas zu ändern.
* *Verwerfen:* alle ungespeicherten Änderungen gehen verloren.
* *Speichern:* Änderungen sichern und Editor schließen.

{% hint style="warning" %}
*Verwerfen* lässt sich nicht rückgängig machen – alle nicht gespeicherten Inhalte gehen verloren.
{% endhint %}

### Best Practices

* **Formatierung gezielt einsetzen:** Nutze Überschriften und Listen, um lange Prompts zu gliedern. Das erleichtert die Bearbeitung und macht den Prompt für das Modell leichter verarbeitbar.
* **Variablen statt statischer Texte:** Verwende Variablen überall dort, wo Inhalte je Unterhaltung variieren – etwa Namen, Nummern oder Produktauswahlen.
* **Regelmäßig speichern:** Sichere deinen Prompt während der Arbeit, damit keine Änderungen verloren gehen.
* **Markdown oder Toolbar – je nach Vorliebe:** Beide Wege führen zum gleichen Ergebnis; wähle, was für dich schneller ist.


# Modelleinstellungen

Einstellungen, die für das ausgewählte AI-Modell übernommen werden können.

{% hint style="info" %}
*Modelleinstellungen* ist kein eigenständiger Navigationsbereich. Sie tauchen überall dort auf, wo KI-Modelle ausgewählt werden können.
{% endhint %}

Die Modelleinstellungen legen fest, welches KI-Modell dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> nutzt und wie es Antworten erzeugt. Du findest sie in den KI-Schritten sowie den *KI-Einstellungen*.

### Modell

Aktuell steht als *KI-Modell* ausschließlich **Gemini 2.5 Flash** zur Auswahl. Es bietet eine gute Balance aus Geschwindigkeit und präziser Logik.

### Thinking-Budget

Das *Thinking-Budget* steuert, wie viel „Denkzeit“ (Rechenaufwand) das Modell in eine Antwort investiert, bevor es antwortet:

* `-1`: Das Modell legt das Budget automatisch fest.
* `0`: Reasoning ist deaktiviert – das Modell antwortet direkt.
* `1`–`24576`: manuell festgelegtes Token-Budget (Maximum 24576).

Ein höheres Budget führt zu langsameren, aber tendenziell präziseren Antworten, ein niedriges zu schnelleren, aber weniger gründlichen. Nutze höhere Werte für komplexe Logik und niedrige für einfache Aufgaben wie Smalltalk.

### Weitere Parameter

Über *Erweiterte Einstellungen* steuerst du zusätzlich die Kreativität und Stabilität der Antworten:

| Parameter    | Funktion                                                   | Empfehlung                                                                                                |
| ------------ | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| *Temperatur* | Steuert Kreativität bzw. Zufall der Antwort (0–2).         | 0,0–0,3 für faktenbasierte Aufgaben; 1,0 als Standard; über 1,2 für kreative, aber instabilere Antworten. |
| *Top-P*      | Beeinflusst die Wortauswahl nach Wahrscheinlichkeit (0–1). | 0,1–0,5 für fokussierte, logische Antworten; 0,9–1,0 für natürlichen Sprachfluss.                         |
| *Seed*       | Fester Startwert für reproduzierbare Antworten.            | Leer lassen für natürliche Variation; feste Zahl für identische Tests.                                    |


# Automatisch generieren

Diese Funktion ist ein KI-gestützter Assistent, der automatisch Beispielphrasen für Intentionen und FAQs generiert.

Mit *Automatisch generieren* lässt du dir passende Beispielphrasen zu einem Thema erzeugen. Sie dienen als Trainingsbeispiele für [Intentionen](/epic-ai-platform/epic-ai-platform/ai-agent/build/intentionen) und [FAQs](/epic-ai-platform/epic-ai-platform/ai-agent/build/faqs) deines <code class="expression">space.vars.TERM\_AI\_AGENT</code>.

### Wo finde ich die Funktion?

*Automatisch generieren* ist in [Intentionen](/epic-ai-platform/epic-ai-platform/ai-agent/build/intentionen) und [FAQs](/epic-ai-platform/epic-ai-platform/ai-agent/build/faqs) verfügbar. Öffne eine Intention oder ein FAQ-Paar und klicke im unterhalb des Feldes *Neuen Ausdruck hinzufügen* auf *Automatisch generieren*.

### Phrasen generieren

{% hint style="info" %}
Generierte Phrasen werden beim Hinzufügen automatisch in alle aktivierten Sprachen übersetzt. Du musst nicht manuell übersetzen.
{% endhint %}

{% stepper %}
{% step %}

#### Dialog öffnen

Klicke im Feld *Neuen Ausdruck hinzufügen* auf *Automatisch generieren*. Es öffnet sich der Dialog *Phrasen generieren*.
{% endstep %}

{% step %}

#### Thema und Anzahl festlegen

Gib unter *Thema* ein Thema ein, z. B. „Bestellstatus“ oder „Passwort zurücksetzen“, und wähle unter *Anzahl*, wie viele Phrasen erzeugt werden sollen (Standard 10).
{% endstep %}

{% step %}

#### Phrasen erzeugen

Klicke auf *Phrasen generieren*. Die Vorschläge erscheinen unter *Generierte Phrasen*. Bist du nicht zufrieden, erzeugst du über *Neu generieren* neue Vorschläge zum selben Thema.
{% endstep %}

{% step %}

#### Phrasen auswählen

Aktiviere die Checkbox jeder passenden Phrase, oder wähle über *Alle auswählen* alle auf einmal.
{% endstep %}

{% step %}

#### Phrasen übernehmen

Klicke auf *X Phrasen hinzufügen*. Die ausgewählten Phrasen werden als Trainingsbeispiele übernommen und automatisch in alle konfigurierten Sprachen übersetzt.
{% endstep %}
{% endstepper %}

Die hinzugefügten Phrasen kannst du anschließend wie manuell erstellte Trainingsbeispiele bearbeiten oder löschen.

### Beispiel: Trainingsbeispiele für eine FAQ

Angenommen, du hast ein FAQ-Paar zum Thema „Bestellstatus abfragen“ und möchtest schnell Trainingsbeispiele erstellen:

1. Öffne das FAQ-Paar und klicke auf *Automatisch generieren*.
2. Gib unter *Thema* „Bestellstatus abfragen“ ein und belasse die *Anzahl* bei 10.
3. Klicke auf *Phrasen generieren*. Es entstehen Vorschläge wie „Wo ist meine Bestellung?“ oder „Wann kommt mein Paket an?“.
4. Wähle die passenden Phrasen aus und klicke auf *Phrasen hinzufügen*.

Die Phrasen stehen nun als Trainingsbeispiele bereit – automatisch übersetzt in alle aktivierten Sprachen.

### Best Practices

* **Konkretes Thema wählen:** Je präziser das Thema, desto relevanter die Phrasen. Statt „Hilfe“ eignet sich z. B. „Passwort zurücksetzen“ oder „Rechnung reklamieren“.
* **Phrasen vor dem Übernehmen prüfen:** Nicht jede Phrase passt perfekt – wähle gezielt aus und passe sie bei Bedarf nach dem Hinzufügen an.
* **Als Startpunkt nutzen:** Die generierten Phrasen sind eine solide Basis. Ergänze sie um branchen- oder unternehmensspezifische Formulierungen.
* **Mehrere Durchgänge:** Generiere Phrasen in mehreren Runden mit leicht unterschiedlichen Themen, um mehr Vielfalt zu erhalten – nutze dazu *Neu generieren* oder starte den Dialog erneut.


# Compliance Center

Das Compliance Center bündelt die regulatorischen Anforderungen an deinen AI Agent: den Hinweis auf die KI-Nutzung, die Aufbewahrungsfristen und die Auskunft zu einzelnen Personen.

{% hint style="info" %}
Der Menüpunkt erscheint nur, wenn deine Rolle die Compliance-Einstellungen des Workspace lesen darf. In den Standardrollen ist das bei *Inhaber* und *Administrator* der Fall.
{% endhint %}

{% hint style="success" %}
Für den Um- und Einstieg ins Compliance-Center (KI-Transparenzhinweis), haben wir einen [Leitfaden](/best-practice/umstieg-auf-das-compliance-center-ki-hinweise-richtig-verlagern) vorbereitet. Nutze unsere Empfehlungen und Checklist.
{% endhint %}

### Wo finde ich das?

Das Compliance Center gibt es an zwei Stellen:

* Im <code class="expression">space.vars.TERM\_AI\_AGENT</code> unter *Einstellungen → Compliance*: Hier legst du fest, was für diesen <code class="expression">space.vars.TERM\_AI\_AGENT</code> tatsächlich gilt.
* [Im Workspace unter *Compliance*](/epic-ai-platform/epic-ai-platform/workspace/compliance): Hier setzt du die Vorgabe für alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>s des Workspace.

Die Ansichten sind identisch aufgebaut. Sie unterscheiden sich nur darin, welche Bereiche sie anbieten.

***

### Erklärung – Was ist das Compliance Center?

Das Compliance Center ist die zentrale Stelle für die regulatorischen Anforderungen an deine <code class="expression">space.vars.TERM\_AI\_AGENT</code>s. Es beantwortet drei Fragen:

* Erfahren Personen, dass sie mit einer KI sprechen?
* Wie lange werden ihre Daten aufbewahrt?
* Und welche Daten liegen zu einer einzelnen Person vor?

Beim Öffnen des Compliance Centers landest du auf dem Reiter *Übersicht*. Die drei Arbeitsbereiche erreichst du über die übrigen Reiter:

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><strong>KI-Transparenz</strong></td><td>Art. 50 EU AI Act: Hinweis darauf, dass eine Person mit einem KI-System interagiert. Nur im AI Agent verfügbar.</td><td><a href="/pages/LIv7x0phY3o0v1JDUw0I">/pages/LIv7x0phY3o0v1JDUw0I</a></td><td></td></tr><tr><td><strong>Auskunft und Nachweise</strong></td><td>Art. 15 bis 17 DSGVO: Alle Informationen zu einer betroffenen Person, dazu die Löschung. Nur im AI Agent.</td><td><a href="/pages/AQiXk3eQOHZDb86yxjmS">/pages/AQiXk3eQOHZDb86yxjmS</a></td><td></td></tr><tr><td><strong>Aufbewahrung</strong></td><td>Art. 5 DSGVO: Aufbewahrungsfristen und Löschregeln je Datenkategorie. Beim AI Agent und im Workspace.</td><td><a href="/pages/zgW9agUrEUU7i2yE5GXD">/pages/zgW9agUrEUU7i2yE5GXD</a></td><td></td></tr></tbody></table>

***

### Workspace-Vorgabe und Agent-Einstellung

Die Aufbewahrung gibt es auf beiden Ebenen, und die Ebenen sind hierarchisch: Der Workspace setzt die Vorgabe, der <code class="expression">space.vars.TERM\_AI\_AGENT</code> folgt ihr, solange er keine eigene Frist vorgibt.

Sobald für einen <code class="expression">space.vars.TERM\_AI\_AGENT</code> eine eigene Frist gesetzt ist, gilt diese und die Workspace-Vorgabe greift für ihn nicht mehr – auch dann nicht, wenn die Vorgabe später geändert wird. Welche Ebene gerade greift, steht auf jeder Karte als Marke: *Workspace-Vorgabe* oder *Agent-Einstellung*.

{% hint style="info" %}
Eine Ausnahme ist der Legal Hold: Er wirkt auf beiden Ebenen. Ist er im Workspace gesetzt, sind alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>s des Workspace eingefroren. Diese Einstellung lässt sich über den einzelnen <code class="expression">space.vars.TERM\_AI\_AGENT</code> nicht aufheben.
{% endhint %}

***

### Die Übersicht lesen

Der Reiter *Übersicht* fasst zusammen, wie es um die Pflichten steht, und verlinkt direkt auf die Stellen, an denen etwas zu tun ist.

#### Gesamtstatus

Ganz oben steht ein Urteil über alle Bereiche zusammen. Es bezieht sich auf die Einstellungen, die das Center abdeckt, und ihre Bewertung nach unseren Prüfkriterien:

<table><thead><tr><th width="260">Status</th><th>Bedeutung</th></tr></thead><tbody><tr><td><em>Vollständig eingerichtet</em></td><td>Transparenzhinweis und Aufbewahrungsfristen sind gesetzt und erfüllen unsere Prüfkriterien.</td></tr><tr><td><em>Weitgehend eingerichtet</em></td><td>Alle Bereiche sind eingerichtet, einzelne Einstellungen solltest du noch prüfen.</td></tr><tr><td><em>Handlungsbedarf</em></td><td>Mindestens ein Punkt erfordert eine Anpassung.</td></tr></tbody></table>

{% hint style="warning" %}
Bei *Handlungsbedarf* macht die zweite Zeile den entscheidenden Unterschied: Ist ein Hinweis **deaktiviert**, wird auf diesem Kanal gar nichts ausgespielt und die Transparenzpflicht ist nicht erfüllt. Ist ein Hinweis lediglich **nicht konform**, greift zur Laufzeit unser Standardhinweis – es wird also ein Hinweis ausgespielt, die Formulierung ist aber nicht deine.
{% endhint %}

#### Kennzahlen

Rechts daneben stehen drei Werte:

* *Kanaltypen mit Hinweis* – wie viele Kanaltypen ihren eigenen Hinweis ausspielen, als „x / y". Ein Kanaltyp, auf dem der Ersatztext greift, zählt hier nicht mit.
* *Kategorien mit Frist* – wie viele Datenkategorien eine Aufbewahrungsfrist haben, statt unbegrenzt aufbewahrt zu werden.
* Die dritte Kennzahl sagt, wann als Nächstes gelöscht wird, und wechselt dazu ihre Beschriftung:
  * *Nächster Löschlauf* – Zeitpunkt des nächsten Laufs. Betrifft er nur eine Datenkategorie, steht sie hinter der Beschriftung.
  * *Löschläufe angehalten* – ein Legal Hold ist aktiv, es wird nichts entfernt.
  * *Keine Löschfrist aktiv* – jede Kategorie wird unbegrenzt aufbewahrt. Dann gibt es keinen Lauf anzukündigen.

Im Workspace entfällt die erste Kennzahl, weil der Hinweis dort nicht konfiguriert wird.

#### Bereiche

Darunter steht je Arbeitsbereich eine Karte mit dem Rechtsbezug und einer Zeile zum aktuellen Stand – etwa *Alle 5 Kanaltypen spielen deinen Hinweis aus* oder *Konversationen 1 Jahr*. Ein Klick öffnet den Bereich.

#### Zu erledigen

Darunter stehen die konkreten offenen Punkte, je einer pro Zeile. Ein Klick springt direkt an die zuständige Stelle – bei einem Kanaltyp öffnet sich der Editor genau für diesen Kanaltyp. Auch Kanäle, für die sich gar kein Hinweis hinterlegen lässt, werden hier aufgeführt; sie verweisen auf die [Kanäle](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale).

#### Hinweise je Kanaltyp

Die Kacheln zeigen für jeden Kanaltyp den Zustand als farbigen Punkt:

* **Grün** – eigener, konformer Hinweis.
* **Gelb** – wird ausgespielt, sollte aber geprüft werden.
* **Rot** – der hinterlegte Text ist nicht konform, es greift der Ersatztext.
* **Grau** – der Hinweis ist deaktiviert, es wird nichts ausgespielt.

Dazu steht auf der Kachel, was gerade gilt – der ausgespielte Hinweis selbst oder eine kurze Diagnose wie *Ersatztext greift* – und wie viele Kanäle dieses Typs eingerichtet sind. Betrifft ein Problem nur einzelne davon, steht das dort ebenfalls, etwa *1 von 3 Kanälen ohne Hinweis*.

Bewertet werden immer alle Kanaltypen, auch solche, für die noch kein Kanal eingerichtet ist. So steht die Einstellung schon, bevor der erste Kanal dieses Typs entsteht.

#### Aufbewahrungsfristen

Die zweite Kachelreihe macht dasselbe für die Datenkategorien: geltende Frist, woher sie kommt (*Aus der Workspace-Vorgabe*, *Eigene Frist des Agents*, im Workspace *Vorgabe für alle Agents*) und – nur beim <code class="expression">space.vars.TERM\_AI\_AGENT</code> – wie viele Datensätze aktuell gespeichert sind.

***

### Was ohne eigene Konfiguration gilt

{% hint style="info" %}
Bei bestehenden <code class="expression">space.vars.TERM\_AI\_AGENT</code>s sind beide Funktionen **bewusst nicht vorausgewählt**: Der KI-Hinweis ist deaktiviert und die Aufbewahrung steht auf *unbegrenzt*, bis du beides aktivierst. Einen Hinweis in laufende Konversationen einzuspielen oder Daten zu löschen sind sichtbare Eingriffe in bestehende Prozesse – deshalb nimmt die Plattform sie nicht von sich aus vor. Genau darum meldet ein länger bestehender <code class="expression">space.vars.TERM\_AI\_AGENT</code> beim ersten Öffnen *Handlungsbedarf*.

Neu angelegte <code class="expression">space.vars.TERM\_AI\_AGENT</code>s starten umgekehrt bereits konform: mit aktiviertem Hinweis und den empfohlenen Aufbewahrungsfristen.
{% endhint %}

***

### Wer das Compliance Center sieht

Der Menüpunkt erscheint, sobald deine Rolle mindestens einen Bereich des Centers lesen darf. In den Standardrollen ist das bei *Inhaber* und *Administrator* der Fall – beim <code class="expression">space.vars.TERM\_AI\_AGENT</code> für den jeweiligen <code class="expression">space.vars.TERM\_AI\_AGENT</code>, im Workspace für den Workspace. Allen anderen Rollen, auch *Bearbeiter* und den Inbox-Rollen, wird er nicht angezeigt.

Die Leserechte gelten je Bereich, und die Reiter richten sich danach: Wer nur die KI-Transparenz lesen darf, bekommt keinen Reiter *Aufbewahrung* angeboten. Fehlt das Schreibrecht, öffnet das Center im Lesemodus – oben steht ein entsprechender Hinweis, und *Verwerfen* und *Speichern* erscheinen nicht.

Welche Rolle jemand hat, legst du beim <code class="expression">space.vars.TERM\_AI\_AGENT</code> unter [Benutzer](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/benutzer) und im Workspace unter [Benutzer](/epic-ai-platform/epic-ai-platform/workspace/benutzer) fest.

***

### Änderungen speichern

Änderungen werden nicht sofort übernommen: Sobald du etwas anpasst, erscheint unten die Leiste *Nicht gespeicherte Änderungen* mit den Schaltflächen *Verwerfen* und *Speichern*. Verlässt du die Seite vorher, wirst du gefragt, ob du die Änderungen wirklich verwerfen möchtest.

***

### Was das Compliance Center nicht leistet

{% hint style="info" %}
Das Compliance Center prüft die Einstellungen in der <code class="expression">space.vars.PRODUCT\_NAME</code> anhand unserer Kriterien und protokolliert, welche KI-Hinweise ausgespielt wurden. Es ist **keine Rechtsberatung**: Ob Hinweise und Fristen im Einzelfall rechtlich ausreichen, hängt von deinen Anwendungsfällen und von Verarbeitungen außerhalb der Plattform ab. Dieser Hinweis steht deshalb auf jedem Reiter des Centers.
{% endhint %}


# KI-Transparenz

Der Hinweis nach Art. 50 EU AI Act macht für Personen erkennbar, dass sie mit einem KI-System interagieren. Du legst ihn je Kanaltyp und bei Bedarf für einzelne Kanäle fest.

### Wo finde ich das?

Du findest den Bereich im <code class="expression">space.vars.TERM\_AI\_AGENT</code> unter *Einstellungen → Compliance → KI-Transparenz*. Links steht die Liste der Kanaltypen, rechts der Editor für genau einen davon.

***

### Erklärung – Worum es geht

Nach Art. 50 EU AI Act müssen Personen erkennen können, dass sie mit einem KI-System interagieren. Der Hinweis erfüllt diese Pflicht: Er wird zu Beginn der Konversation ausgespielt – je nach Kanaltyp gesprochen, als Badge oder als Teil der ersten Nachricht.

<table><thead><tr><th width="143.96875">Kanaltyp</th><th width="210">Ausspielung</th><th>Wann und wo</th><th width="130">Empfohlene Länge</th></tr></thead><tbody><tr><td><em>Voice</em></td><td>Begrüßungsansage</td><td>Wird zu Beginn des Gesprächs angesagt, bevor der <code class="expression">space.vars.TERM_AI_AGENT</code> auf das Anliegen eingeht.</td><td>180 Zeichen</td></tr><tr><td><em>Web Chat</em></td><td>Badge im Chat Widget</td><td>Dauerhaft sichtbar im Kopfbereich des Widgets.</td><td>90 Zeichen</td></tr><tr><td><em>E-Mail</em></td><td>Hinweis in der Signatur</td><td>Am Ende jeder ausgehenden E-Mail, abgesetzt über der Signatur.</td><td>200 Zeichen</td></tr><tr><td><em>WhatsApp</em></td><td>Teil der ersten Nachricht</td><td>Wird der ersten Nachricht des <code class="expression">space.vars.TERM_AI_AGENT</code>s vorangestellt.</td><td>160 Zeichen</td></tr><tr><td><em>Facebook Messenger</em></td><td>Teil der ersten Nachricht</td><td>Wird der ersten Nachricht des <code class="expression">space.vars.TERM_AI_AGENT</code>s vorangestellt.</td><td>160 Zeichen</td></tr></tbody></table>

***

### Kanaltyp und Kanal-Ausnahme

Der Hinweis wird pro Kanaltyp festgelegt und gilt damit für alle Kanäle dieses Typs. In der Liste links steht unter dem Kanaltyp entweder die Art der Ausspielung oder, sobald Kanäle dieses Typs existieren, ihre Anzahl.

Einzelne Kanäle können von der Kanaltypen-Konfiguration abweichen. Klappe dazu links den Kanaltypen auf und wähle den gewünschten Kanal aus. Unter dem Kanalnamen steht, was gerade gilt:

* *Folgt dem Kanaltyp* – der Kanal übernimmt die Einstellung des Kanaltyps.
* *Eigene Ausnahme* – für diesen Kanal gilt ein abweichender Hinweis.

Solange der Kanal den Einstellungen des Kanaltypen folgt, zeigt der Editor den geltenden Text nur an. Über *Eigenen Hinweis festlegen* machst du daraus eine Ausnahme, über die Schaltfläche *Einstellung für \[Kanaltyp] übernehmen* gibst du sie wieder auf.

{% hint style="info" %}
Der Schalter *Ausspielung* gehört zur jeweiligen Ebene: Schaltest du den Hinweis für einen einzelnen Kanal aus, endet damit auch dessen Vererbung.
{% endhint %}

***

### Verwaltung – Hinweis einrichten

{% stepper %}
{% step %}

#### Kanaltyp auswählen

Wähle links den Kanaltyp aus, z. B. *Voice*. Der Punkt hinter dem Eintrag zeigt, ob dort ein konformer Hinweis ausgespielt wird.
{% endstep %}

{% step %}

#### Ausspielung aktivieren

Setze den Schalter in der Zeile *Ausspielung* auf aktiv. Die Zeile sagt dir, was gerade gilt: *Hinweis wird ausgespielt* oder *Hinweis ist deaktiviert*. Solange er aus ist, wird auf diesem Kanaltyp nichts ausgespielt.
{% endstep %}

{% step %}

#### Sprache wählen

Der Hinweis wird je Sprache hinterlegt. Hat dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> mehrere Sprachen, wähle in der Zeile *Sprache* aus, welche du gerade bearbeitest.
{% endstep %}

{% step %}

#### Hinweistext formulieren

Trage in der Zeile *Hinweistext* den Wortlaut ein, den die Person zu sehen oder zu hören bekommt. Beim ersten Bearbeiten ist ein Vorschlag von uns eingetragen.
{% endstep %}

{% step %}

#### Prüfung ansehen

Die Zeile *Prüfung* bewertet den Text sofort. Rechts zeigt die Vorschau, wie der Hinweis auf dem gewählten Kanal ausgespielt wird.
{% endstep %}

{% step %}

#### Speichern

Bestätige unten mit *Speichern*. Erst danach gilt der Hinweis für neue Konversationen.
{% endstep %}
{% endstepper %}

***

### Die Prüfung des Hinweistexts

Jeder Text wird gegen Art. 50 EU AI Act geprüft, während du ihn schreibst. Die Prüfung unterscheidet zwei Schweregrade.

**Verstoß – der Text wird zur Laufzeit ersetzt**

<table><thead><tr><th width="302.22265625">Meldung</th><th>Ursache</th></tr></thead><tbody><tr><td><em>Kein Hinweistext hinterlegt</em></td><td>Das Textfeld ist leer.</td></tr><tr><td><em>Kein erkennbarer Hinweis auf KI</em></td><td>Der Text nennt die KI-Nutzung nicht ausdrücklich.</td></tr><tr><td><em>Text erweckt den Eindruck eines menschlichen Gegenübers</em></td><td>Formulierungen wie „Mitarbeiter", „Berater" oder „kein Bot" legen nahe, dass ein Mensch antwortet.</td></tr></tbody></table>

{% hint style="warning" %}
Ein nicht konformer Hinweis erreicht eine Person nie: Die Plattform ersetzt ihn zur Laufzeit durch den Standardhinweis, damit die Pflicht erfüllt bleibt. Im [Nachweis](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/compliance-center/auskunft-und-nachweise) ist eine solche Konversation als *Ersatztext ausgespielt* gekennzeichnet.

Ein deaktivierter Hinweis wird nicht ersetzt.
{% endhint %}

**Warnung – der Text wird unverändert ausgespielt, ist aber vermutlich unwirksam**

<table><thead><tr><th width="300">Meldung</th><th>Ursache</th></tr></thead><tbody><tr><td><em>Hinweis sehr kurz</em></td><td>Weniger als 15 Zeichen.</td></tr><tr><td><em>Hinweis länger als für [Kanaltyp] empfohlen</em></td><td>Über der Längenempfehlung des Kanaltyps, die in der Meldung mit ihrem Namen genannt wird.</td></tr><tr><td><em>Platzhalter im Hinweistext</em></td><td>Der Text enthält Platzhalter in geschweiften Klammern, die zur Laufzeit leer bleiben können.</td></tr><tr><td><em>Markup in der Sprachansage</em></td><td>Nur bei Voice: HTML-Auszeichnungen werden bei der Sprachausgabe mitgelesen oder verworfen.</td></tr></tbody></table>

***

### Mehrsprachige Agents

Der Hinweis wird für jede Sprache des <code class="expression">space.vars.TERM\_AI\_AGENT</code>s einzeln hinterlegt. Der Status eines Kanaltyps fasst alle Sprachen zusammen: Fehlt in einer Sprache ein konformer Text, greift dort der Ersatztext.

Sichtbar wird das an zwei Stellen: an der Marke *\[Kanaltyp] unvollständig* neben der Zeile *Sprache* und an einem Hinweis unter der Prüfung, der die betroffenen Sprachen namentlich nennt. Welche Sprachen dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> kennt, legst du unter [Sprache](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/sprache) fest.

***

### Anzeige im Flow Builder

Auf dem globalen Einstieg eines Flows zeigt der [Flow Builder](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder) den KI-Transparenzhinweis an. Bei Voice-Kanälen zeigt er die Begrüßungsnachricht, die vor dem ersten Schritt zu hören ist sowie den Zustand der übrigen Kanaltypen. Die Anzeige ist rein informativ. Bearbeitet wird der Hinweis ausschließlich im [Compliance Center](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/compliance-center).

***

### Best Practices

* **Eigene Formulierung statt Ersatztext:** Der Standardhinweis erfüllt die Pflicht, klingt aber nicht nach deiner Marke. Ein eigener, konformer Text ist immer die bessere Wahl.
* **Alle Sprachen pflegen:** Ein fehlender Text führt dazu, dass in dieser Sprache der Ersatztext ausgespielt wird.


# Auskunft und Nachweise

Schlage eine betroffene Person nach und siehe, welche Einwilligungen, KI-Hinweise und gespeicherten Daten vorliegen. Von hier aus kann ihre Löschung angestoßen werden.

### Wo finde ich das?

Du findest den Bereich im <code class="expression">space.vars.TERM\_AI\_AGENT</code> unter *Einstellungen → Compliance → Auskunft und Nachweise*.

***

### Erklärung – Wofür ist das da?

Meldet sich eine Person und will wissen, was über sie gespeichert ist, oder fragt eine Prüfstelle, ob in einer bestimmten Konversation auf die KI-Nutzung hingewiesen wurde, findest du die Antwort hier.

{% hint style="info" %}
Die Seite beinhaltet bewusst keine Liste: Es gibt keine Übersicht aller Konversationen oder Kontakte, die sich durchblättern ließe. Personenbezogene Daten sind ausschließlich über eine gezielte Abfrage einsehbar. Jede Abfrage wird als Zugriff auf personenbezogene Daten protokolliert. Die aufgerufenen Daten werden in der Ansicht verworfen, sobald du die Seite verlässt.
{% endhint %}

***

### Person nachschlagen

Personen können anhand der Kontakt-ID (Kontaktkennung) oder der Konversations-ID gesucht werden.

Solange noch keine Abfrage gelaufen ist, zeigt die Seite, was die Akte leistet: Einwilligungen belegen, KI-Hinweise nachweisen und die Löschung anstoßen. Findet eine Abfrage niemanden, prüfe Schreibweise der Kennung.

***

### Die Auskunft

#### Kopfbereich

Oben stehen die Person, die Kanäle, über die sie Kontakt hatte, sowie Anzahl der Konversationen und Nachrichten, Erstkontakt und letzte Aktivität. Unter *Kennungen* liegen ihre Kennungen zum Kopieren.

#### Ausgespielte KI-Hinweise

Eine Zeile je Konversation. Ein Klick klappt den vollständigen Nachweis auf: Zustellung, Quelle, Sprache, Kontakt, Protokoll-ID und der Wortlaut, der tatsächlich ausgespielt wurde.

<table><thead><tr><th width="250">Status</th><th>Bedeutung</th></tr></thead><tbody><tr><td><em>Ausgespielt</em></td><td>Der von dir hinterlegte Hinweis wurde ausgespielt.</td></tr><tr><td><em>Ersatztext ausgespielt</em></td><td>Der hinterlegte Text war nicht konform und wurde zur Laufzeit durch den Standardhinweis ersetzt. Im Detail stehen beide Fassungen untereinander.</td></tr><tr><td><em>Nicht ausgespielt</em></td><td>Es wurde kein Hinweis ausgespielt. Die Transparenzpflicht war in dieser Konversation nicht erfüllt.</td></tr></tbody></table>

#### Gespeicherte Daten

Je Datenkategorie wird die Anzahl der Datensätze, das Datum des ältesten Eintrags und der daraus errechnete Löschtermin angezeigt. Der Termin ergibt sich aus der eingestellten [Aufbewahrungsfrist](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/compliance-center/aufbewahrung). Wird die Kategorie unbegrenzt aufbewahrt, steht dort *Keine Löschung vorgesehen*, bei aktivem Legal Hold *Durch Legal Hold zurückgehalten*.

#### Anfragen der betroffenen Person

Auskunfts- und Löschanfragen mit Status (*Offen*, *In Bearbeitung*, *Erledigt*, *Abgelehnt*) und der gesetzlichen Frist von einem Monat nach Art. 12 Abs. 3 DSGVO. Eine überschrittene Frist wird hervorgehoben. Liegen keine Anfragen vor, sagt der Abschnitt das ausdrücklich.

***

### Verwaltung – Löschung anstoßen

{% stepper %}
{% step %}

#### Person nachschlagen

Schlage die Person über ihre Konversations-ID oder Kontaktkennung nach.
{% endstep %}

{% step %}

#### Löschung öffnen

Klicke oben rechts auf *Löschung anstoßen*.
{% endstep %}

{% step %}

#### Notiz hinterlegen

Trage optional eine Notiz zur Anfrage ein, z. B. wann und wie die Person die Löschung verlangt hat. Achte darauf, keine persönlichen Daten in die Notiz zu schreiben.
{% endstep %}

{% step %}

#### Bestätigen

Bestätige mit *Löschung starten*. Die Anfrage erscheint anschließend unter *Anfragen der betroffenen Person*.
{% endstep %}
{% endstepper %}

{% hint style="danger" %}
Die Löschung startet sofort und lässt sich nicht rückgängig machen. Entfernt werden alle Konversationen mit Nachrichten und Dateien sowie die Kontaktdaten. Konversationen, Nachrichten und Dateien sind unmittelbar danach entfernt.

Compliance-Protokolle bleiben als Nachweis erhalten; für sie gilt eine eigene Aufbewahrungsfrist.
{% endhint %}

***

### Best Practices

* **ID aus der Konversation kopieren:** Der schnellste Weg zur Akte führt über die Konversations-ID aus den [Konversationen](/epic-ai-platform/epic-ai-platform/ai-agent/inbox/konversationen) in der Inbox.
* **Auffällige Nachweise ernst nehmen:** Steht bei einer Konversation *Nicht ausgespielt*, fehlte der Hinweis dort tatsächlich – prüfe die Einstellung des betroffenen Kanaltyps.


# Aufbewahrung

Aufbewahrungsfristen legen fest, wie lange Konversationen, Kontakte und Compliance-Protokolle gespeichert und wann sie automatisch gelöscht werden.

### Wo finde ich das?

Den Bereich gibt es zweimal:

* Im <code class="expression">space.vars.TERM\_AI\_AGENT</code> unter *Einstellungen → Compliance → Aufbewahrung*.
* Im Workspace unter *Compliance → Aufbewahrung*.

Die Workspace-Einstellung ist die Vorgabe, der alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>s folgen. Ein einzelner <code class="expression">space.vars.TERM\_AI\_AGENT</code> kann davon abweichen.

***

### Erklärung – Datenkategorien

Fristen werden je Datenkategorie gesetzt. Jede Kategorie hat einen eigenen Zweck und damit eine eigene sinnvolle Dauer.

{% hint style="info" %}
**J**ede Frist läuft ab der letzten Aktivität, nicht ab dem Erstellungsdatum. Eine Konversation, die über Wochen weitergeführt wird, bleibt also erhalten, solange sie aktiv ist.
{% endhint %}

<table><thead><tr><th width="185.95703125">Kategorie</th><th>Was dazugehört und ab wann gerechnet wird</th><th width="119.34375">Empfohlen</th><th width="110">Mindestens</th></tr></thead><tbody><tr><td><em>Konversationen</em></td><td>Chatverläufe mit allen Nachrichten, Dateien, Zuweisungen und Notizen aus der Inbox. Gerechnet ab der letzten Nachricht. Dateien werden zusammen mit der Konversation entfernt.</td><td>1 Jahr</td><td>30 Tage</td></tr><tr><td><em>Kontakte</em></td><td>Stammdaten und Kontaktvariablen, gerechnet ab der letzten Aktivität des Kontakts. Wird unabhängig von den Konversationen angewandt.</td><td>2 Jahre</td><td>90 Tage</td></tr><tr><td><em>Compliance-Protokolle</em></td><td>Nachweise über ausgespielte KI-Hinweise, gerechnet ab der letzten Aktivität in der zugehörigen Konversation. Sie belegen, was ausgespielt wurde.</td><td>3 Jahre</td><td>1 Jahr</td></tr></tbody></table>

Auch sehr lange Fristen sind erklärungsbedürftig: Ab 2 Jahren (Konversationen), 3 Jahren (Kontakte) beziehungsweise 10 Jahren (Protokolle) weist die Seite darauf hin, dass die Speicherung begründet sein sollte.

***

### Workspace-Vorgabe und Agent-Einstellung

Die beiden Ebenen sind hierarchisch: Der Workspace setzt die Vorgabe, der <code class="expression">space.vars.TERM\_AI\_AGENT</code> folgt ihr, solange er keine eigene Frist hat. Weicht die Agent-Einstellung von der Workspace-Vorgabe ab, gilt die des <code class="expression">space.vars.TERM\_AI\_AGENT</code>**s** – und zwar dauerhaft, auch wenn die Workspace-Vorgabe später geändert wird.

Jede Karte trägt oben eine Marke, die zeigt, woher die geltende Frist kommt:

* *Workspace-Vorgabe:* der <code class="expression">space.vars.TERM\_AI\_AGENT</code> folgt dem Workspace.
* *Agent-Einstellung:* für diesen <code class="expression">space.vars.TERM\_AI\_AGENT</code> gilt eine eigene Frist.

Rechts oben auf der Karte steht die geltende Frist im Klartext, darunter, was daraus folgt: *danach löschen* oder, bei unbegrenzter Aufbewahrung, *keine Löschung*.

Sobald du auf Agent-Ebene eine Frist auswählst, gilt sie als eigene Einstellung. Über *Workspace-Vorgabe übernehmen* am unteren Rand der Karte kehrst du zur Vorgabe zurück; in Klammern steht dabei, welche Frist bei Aktivierung wieder greifen würde.

{% hint style="info" %}
Der Legal Hold folgt dieser Logik nicht: Er wirkt auf beiden Ebenen. Ist er im Workspace gesetzt, sind alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>s des Workspace eingefroren, unabhängig von ihren eigenen Fristen.
{% endhint %}

***

### Verwaltung – Frist festlegen

{% stepper %}
{% step %}

#### Kategorie wählen

Jede Datenkategorie hat eine eigene Karte. Rechts oben steht die aktuell geltende Frist.
{% endstep %}

{% step %}

#### Frist auswählen

Wähle eine der vorgeschlagenen Fristen: *30 Tage*, *90 Tage*, *6 Monate*, *1 Jahr*, *2 Jahre* oder *3 Jahre*. Über *Eigene Frist* kannst du benutzerdefinierte Werte eintragen, über *Unbegrenzt* setzt du die Löschung aus.
{% endstep %}

{% step %}

#### Meldungen prüfen

Unter den Schaltflächen erscheinen Hinweise, wenn die Frist zu kurz, zu lang oder mit einer anderen Kategorie unvereinbar ist. Kategorien, die eine Anpassung erfordern, werden zusätzlich oben auf der Seite gesammelt.
{% endstep %}

{% step %}

#### Speichern

Bestätige unten mit *Speichern*. Die neue Frist greift ab dem nächsten Löschlauf.
{% endstep %}
{% endstepper %}

{% hint style="danger" %}
Eine gelöschte Konversation lässt sich nicht wiederherstellen. Verkürzt du eine Frist, wird beim nächsten Löschlauf alles entfernt, was nach der neuen Frist bereits fällig ist.
{% endhint %}

***

### Abhängigkeiten zwischen den Kategorien

Die Kategorien sind nicht unabhängig voneinander:

* **Kontakte lassen sich nicht vor ihren Konversationen löschen:** Die Frist für Kontakte kann deshalb nie kürzer sein als die für Konversationen. Werden Konversationen unbegrenzt aufbewahrt, ist bei Kontakten nur *Unbegrenzt* möglich; kürzere Vorschläge sind dann nicht auswählbar.
* **Nachweise sollten länger leben als die Daten, auf die sie sich beziehen:** Eine kürzere Frist für Compliance-Protokolle als für Konversationen wird als Warnung gemeldet.

***

### Legal Hold

Der Schalter *Legal Hold* hält sämtliche automatischen Löschungen an, etwa während eines Rechtsstreits oder eines Audits. Die Fristen laufen weiter, es wird aber nichts entfernt. Ist ein Legal Hold aktiv, meldet die Übersicht statt des nächsten Löschlaufs *Löschläufe angehalten*.

Ein Legal Hold auf Workspace-Ebene friert alle <code class="expression">space.vars.TERM\_AI\_AGENT</code>s des Workspace ein. Beim <code class="expression">space.vars.TERM\_AI\_AGENT</code> zeigt der Schalter deshalb immer den Zustand, der tatsächlich gilt, mit einer Marke daneben, wer ihn gesetzt hat:

* *Workspace-Vorgabe:* der Hold kommt aus dem Workspace. Der Schalter ist dann nicht bedienbar; aufheben lässt sich der Hold nur in den Workspace-Einstellungen.
* *Agent-Einstellung:* dieser <code class="expression">space.vars.TERM\_AI\_AGENT</code> hat einen eigenen Hold gesetzt und kann ihn hier auch wieder aufheben.

***

### Der Löschlauf

Die Plattform prüft stündlich, welche Daten fällig sind, und entfernt sie. Wann der nächste Lauf ansteht, steht als Kennzahl in der Übersicht und auf der Karte *Legal Hold. J*eweils mit den Datenkategorien, die dieser Lauf betrifft.

***

### Meldungen der Prüfung

<table><thead><tr><th width="300">Meldung</th><th>Bedeutung</th></tr></thead><tbody><tr><td><em>Keine Aufbewahrungsfrist gesetzt</em></td><td>Die Kategorie steht auf <em>Unbegrenzt</em>. Bei Konversationen und Kontakten widerspricht das dem Grundsatz der Speicherbegrenzung nach Art. 5 Abs. 1 lit. e DSGVO; bei Protokollen ist es zulässig, sollte aber begründet sein.</td></tr><tr><td><em>Frist kürzer als empfohlen</em></td><td>Die Frist unterschreitet den Mindestwert der Kategorie. Bei Compliance-Protokollen wird der Nachweis dadurch unmöglich.</td></tr><tr><td><em>Frist länger als üblich</em></td><td>Eine Speicherung über diese Dauer hinaus ist erklärungsbedürftig.</td></tr><tr><td><em>Frist kürzer als die der Konversationen</em></td><td>Nur bei Kontakten: Ein Kontakt kann nicht gelöscht werden, solange seine Konversationen noch bestehen.</td></tr><tr><td><em>Konversationen werden unbegrenzt aufbewahrt</em></td><td>Nur bei Kontakten: Für Kontakte ist eine Frist gesetzt, für Konversationen nicht. Die Löschung der Kontakte ist damit nicht durchführbar.</td></tr><tr><td><em>Folgt der unbegrenzten Aufbewahrung der Konversationen</em></td><td>Nur bei Kontakten: Beide Kategorien stehen auf <em>Unbegrenzt</em>. Die Ursache liegt bei den Konversationen – setze dort zuerst eine Frist.</td></tr><tr><td><em>Kürzer als die Aufbewahrung der Konversationen</em></td><td>Nur bei Compliance-Protokollen: Die Nachweise würden vor den Konversationen entfernt, auf die sie sich beziehen.</td></tr></tbody></table>

***

### Best Practices

* **Erst den Workspace, dann die Ausnahmen:** Setze die Fristen einmal zentral und weiche nur bei den <code class="expression">space.vars.TERM\_AI\_AGENT</code>s ab, die es wirklich brauchen. Entscheidungen sollten dokumentiert und begründet werden.
* **Mit den Konversationen anfangen:** Ihre Frist bestimmt, was bei Kontakten überhaupt möglich ist.
* **Legal Hold wieder aufheben:** Ein vergessener Hold sammelt Daten an, für die es keine Rechtsgrundlage mehr gibt.


# API-Schlüssel

Über einen API-Schlüssel verbindest du externe Systeme und Webhooks sicher mit deinem . Er authentifiziert jede Anfrage an die Epic AI Platform.

### Wo finde ich API-Schlüssel?

Du findest die Schlüssel deines <code class="expression">space.vars.TERM\_AI\_AGENT</code> unter *Einstellungen → API-Schlüssel*.

### Was ist ein API-Schlüssel?

Ein API-Schlüssel (auch API-Key) ist ein eindeutiger, geheimer Zugangscode. Er wird bei jeder Anfrage an die <code class="expression">space.vars.PRODUCT\_NAME</code>-API mitgeschickt und bestätigt, dass die Anfrage von einem autorisierten System stammt.

Der Schlüssel wird im HTTP-Header `x-chatcaptain-key` übermittelt.

#### Zwei Schlüssel pro AI Agent

Zu jedem <code class="expression">space.vars.TERM\_AI\_AGENT</code> gehören zwei Schlüssel mit identischen Berechtigungen: *Schlüssel 1* und *Schlüssel 2*. Der zweite ist für die Schlüssel-Rotation oder separate Integrationen gedacht. So kannst du einen Schlüssel erneuern, ohne den Betrieb zu unterbrechen.

### Schlüssel anzeigen, kopieren und neu generieren

Jeder Schlüssel wird standardmäßig verdeckt dargestellt. Über das Augen-Symbol blendest du ihn im Klartext ein, über das Kopier-Symbol übernimmst du ihn in die Zwischenablage.

Mit *Neu generieren* unter dem jeweiligen Schlüssel erzeugst du einen neuen Wert – etwa wenn ein Schlüssel kompromittiert wurde oder du ihn regelmäßig rotierst.

{% hint style="danger" %}
*Neu generieren* macht den bisherigen Schlüssel **sofort und ohne Rückfrage** ungültig. Externe Systeme mit dem alten Schlüssel können erst wieder Anfragen stellen, wenn du sie auf den neuen Wert umgestellt hast. Hinterlege den neuen Schlüssel daher überall zuerst, bevor du den alten erneuerst.
{% endhint %}

### Schlüssel rotieren

Mit zwei Schlüsseln rotierst du ohne Ausfallzeit:

{% stepper %}
{% step %}

#### Neuen Schlüssel erzeugen

Klicke bei *Schlüssel 2* auf *Neu generieren*.
{% endstep %}

{% step %}

#### Externes System umstellen

Hinterlege den neuen *Schlüssel 2* in deinem externen System und stelle sicher, dass es ausschließlich diesen Schlüssel verwendet.
{% endstep %}

{% step %}

#### Alten Schlüssel erneuern

Generiere anschließend *Schlüssel 1* neu, um den alten Wert ungültig zu machen.
{% endstep %}
{% endstepper %}

### Best Practices

* **Schlüssel geheim halten:** Teile deinen API-Schlüssel niemals öffentlich – etwa in öffentlichen Code-Repositories, Screenshots oder E-Mails. Wer den Schlüssel kennt, kann im Namen deines <code class="expression">space.vars.TERM\_AI\_AGENT</code> Anfragen stellen.
* **Beide Schlüssel aktiv nutzen:** Wechsle bei der Rotation zuerst das externe System auf den neuen Schlüssel, bevor du den alten erneuerst. So vermeidest du Ausfallzeiten.
* **Bei Verdacht sofort erneuern:** Wenn ein Schlüssel in falsche Hände geraten sein könnte, generiere ihn sofort neu. Der alte Wert ist damit unmittelbar ungültig.
* **Regelmäßig rotieren:** Erneuere deine API-Schlüssel in festen Abständen (z. B. alle 90 Tage) – auch ohne konkreten Verdacht.


# Kanäle

Kanäle bilden die Schnittstellen zwischen AI Agent und Endnutzern. Sie definieren die Kommunikationswege und Plattformen, über die Interaktionen stattfinden können.

## Kanäle

Ein Kanal verbindet deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> mit einer Plattform, über die deine Nutzer schreiben oder anrufen. Alle Kanäle laufen in derselben Inbox zusammen, sodass du Konversationen kanalübergreifend an einem Ort bearbeitest.

Du findest die Kanäle unter *Einstellungen → Kanäle*. Dort siehst du alle bestehenden Kanäle, gruppiert nach Typ, und legst über *Kanal hinzufügen* neue an.

### Verfügbare Kanaltypen

Die Kanäle sind in drei Kategorien gegliedert: *Messaging* für Chat-Plattformen, *Voice* für Telefonie und *E-Mail* für den Nachrichtenempfang per Mail. Wähle den Kanal, den du einrichten möchtest:

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td><strong>Web-Widget</strong></td><td>Chat-Widget für deine Website.</td><td><a href="/pages/gXbS6kLB2TDdeHQHaWfi">/pages/gXbS6kLB2TDdeHQHaWfi</a></td><td></td></tr><tr><td><strong>WhatsApp</strong></td><td>Nachrichten über WhatsApp Business.</td><td><a href="/pages/P8d3MZjWvGyRWIn3XFMz">/pages/P8d3MZjWvGyRWIn3XFMz</a></td><td></td></tr><tr><td><strong>Telegram</strong></td><td>Anbindung über einen Telegram-Bot.</td><td><a href="/pages/D0MDqDQmZev9V0Df9IfK">/pages/D0MDqDQmZev9V0Df9IfK</a></td><td></td></tr><tr><td><strong>Messenger</strong></td><td>Facebook Messenger einer Unternehmensseite.</td><td><a href="/pages/ExAQrqFL9ILmjIoP6mxk">/pages/ExAQrqFL9ILmjIoP6mxk</a></td><td></td></tr><tr><td><strong>Voice</strong></td><td>Automatische Rufnummer, sofort telefonisch erreichbar.</td><td><a href="/pages/66ppOtwKvtYzVMWDAaxr">/pages/66ppOtwKvtYzVMWDAaxr</a></td><td></td></tr><tr><td><strong>AudioCodes</strong></td><td>Telefonie über einen eigenen AudioCodes-Zugang.</td><td><a href="/pages/zWAqj2OPbWKd8XF2uApi">/pages/zWAqj2OPbWKd8XF2uApi</a></td><td></td></tr><tr><td><strong>E-Mail</strong></td><td>Eingehende E-Mails automatisch verarbeiten.</td><td><a href="/pages/UNZwHce4zkWiYDSMWQBR">/pages/UNZwHce4zkWiYDSMWQBR</a></td><td></td></tr><tr><td><strong>Microsoft Exchange</strong></td><td>E-Mails über ein bestehendes Exchange-Postfach.</td><td><a href="/pages/2yw6OWA4ooX0aOSXFdr0">/pages/2yw6OWA4ooX0aOSXFdr0</a></td><td></td></tr></tbody></table>

{% hint style="info" %}
Zum reinen Testen brauchst du keinen Kanal: Der Debug-Chat simuliert Gespräche direkt in der Oberfläche, ohne dass Nachrichten in der Inbox landen.
{% endhint %}

### Kanäle verwalten

In der Übersicht stehen dir drei Aktionen zur Verfügung:

* **Kanal hinzufügen:** Klicke oben rechts auf das Plus-Symbol, um den Bereich *Kanal hinzufügen* zu öffnen. Wähle dort zunächst eine Kategorie – Messaging, Voice oder E-Mail – und anschließend den gewünschten Kanaltyp, z. B. *Web-Widget*, *WhatsApp* oder *Voice*. Der weitere Ablauf unterscheidet sich je nach Typ; die Details dazu stehen auf der jeweiligen Kanalseite.
* **Detailansicht öffnen:** Ein Klick auf einen Kanal öffnet seine Detailansicht mit allen Einstellungen.
* **Kanal löschen:** In der Detailansicht entfernst du einen Kanal über *Löschen*.

{% hint style="danger" %}
Gelöschte Kanäle lassen sich nicht wiederherstellen. Laufende Gespräche werden abgebrochen, und der <code class="expression">space.vars.TERM\_AI\_AGENT</code> ist über diesen Kanal nicht mehr erreichbar.
{% endhint %}

### Detailansicht eines Kanals

Die Detailansicht bündelt alle Einstellungen eines Kanals in Tabs. Der Tab *Allgemein* ist bei jedem Kanal vorhanden; je nach Typ kommen weitere hinzu – *Widget* und *Einbindung* beim Web-Kanal, *Konfiguration* beim Voice- und AudioCodes-Kanal.

Im Tab *Allgemein* bearbeitest du *Name* und *Beschreibung* und bestätigst Änderungen mit *Speichern*. Darunter zeigt der Abschnitt *Details* die festen Eckdaten des Kanals:

<table><thead><tr><th width="207.828125">Feld</th><th>Bedeutung</th></tr></thead><tbody><tr><td>Kanaltyp</td><td>Art des Kanals – nach dem Anlegen nicht änderbar.</td></tr><tr><td>Umgebung</td><td>Bereitstellungsumgebung des Kanals (<em>Entwicklung</em>, <em>Test</em> oder <em>Produktion</em>) – nicht änderbar.</td></tr><tr><td>Kanal-ID</td><td>Interne Kennung des Kanals.</td></tr><tr><td>Erstellt</td><td>Zeitpunkt der Einrichtung.</td></tr><tr><td>Provider-ID</td><td>Kennung beim jeweiligen Anbieter, sofern vorhanden.</td></tr></tbody></table>

Zusätzlich blendet die Detailansicht die kanalspezifischen Angaben ein – etwa die Rufnummer, die E-Mail-Adresse oder die verknüpfte WhatsApp-Nummer. Was das im Einzelnen ist, steht auf der jeweiligen Kanalseite.


# Voice-Kanal

Vergibt eine Rufnummer, über die der AI Agent erreichbar ist.

Der Voice-Kanal verbindet deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> direkt mit dem Telefonnetz. Nach dem Erstellen wird automatisch eine Rufnummer zugewiesen. Dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> ist damit sofort telefonisch erreichbar, ganz ohne Konto bei einem Drittanbieter.

### Erstellung des Kanals

{% stepper %}
{% step %}

#### Auswahl öffnen

Öffne *Einstellungen → Kanäle*, klicke rechts auf *+* und wähle in der Auswahl *Kanal hinzufügen* unter *Voice* die Option *Voice*.
{% endstep %}

{% step %}

#### Angaben machen

Vergib einen *Namen* (Pflichtfeld) und optional eine *Beschreibung*. Lege unter *Bereitstellung* die Umgebung fest – *Entwicklung*, *Test* oder *Produktiv*.
{% endstep %}

{% step %}

#### Kanal erstellen

Klicke auf *Kanal erstellen*. Die Rufnummer wird automatisch bereitgestellt.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Die zugewiesene Rufnummer findest du in der Detailansicht des Kanals im Tab *Allgemein*. Dort kannst du sie kopieren. Die Nummer ist fest vergeben und lässt sich nicht ändern.
{% endhint %}

### Konfiguration und Spracheinstellungen

Öffne die Detailansicht des Kanals und wechsle auf den Tab *Konfiguration*, um Stimme und Gesprächsverhalten anzupassen. Änderungen werden erst mit *Speichern* übernommen.&#x20;

Oben lässt sich die jeweilige Sprache auswählen, um Änderungen für die sprachspezifischen Einstellungen durchzuführen. Dies sind *Stimme* und *Nachfrage-Text* – alle übrigen Einstellungen gelten sprachübergreifend.

<table><thead><tr><th width="267.28125">Einstellung</th><th>Beschreibung</th></tr></thead><tbody><tr><td>Stimme</td><td>Wähle Stimmen aus dem Dropdown-Menü, oder suche gezielt.</td></tr><tr><td>Timeout Spracheingabe</td><td>Maximale Stille (in ms), bevor eine Eingabe als abgeschlossen gilt.</td></tr><tr><td>Barge-In</td><td>Erlaubt dem Anrufer, die Sprachausgabe zu unterbrechen.</td></tr><tr><td>DTMF</td><td>Lässt Eingaben über die Telefontastatur (Tonwahl) zu.</td></tr><tr><td>Nachfrage-Text</td><td>Wird abgespielt, wenn keine Eingabe erkannt wird (je Sprache einstellbar).</td></tr><tr><td>Timeout Nachfrage</td><td>Wartezeit (in ms) bis zur nächsten Nachfrage.</td></tr><tr><td>Nachfragen</td><td>Anzahl der Wiederholungen, bevor das Gespräch automatisch endet.</td></tr><tr><td>Erkennungskontext</td><td>Fachbegriffe oder Produktnamen, die die Spracherkennung bevorzugt erkennt und transkribiert (sprachübergreifend).</td></tr></tbody></table>

{% hint style="success" %}
Unterbricht der <code class="expression">space.vars.TERM\_AI\_AGENT</code> den Anrufer schon bei kurzen Sprechpausen, erhöhe den *Timeout Spracheingabe* schrittweise.
{% endhint %}

#### Automatische Spracherkennung

Ist die *Automatische Spracherkennung* aktiv, erkennt der <code class="expression">space.vars.TERM\_AI\_AGENT</code> die Sprache des Anrufers und wechselt automatisch. Die Basissprache ist als *Standard* gesetzt und immer aktiv; zusätzlich kannst du bis zu zehn weitere der im <code class="expression">space.vars.TERM\_AI\_AGENT</code> hinterlegten Sprachen aktivieren. Über *Berücksichtigte Nutzereingaben* legst du fest, nach wie vielen Eingaben die Sprache verbindlich bestimmt wird.

{% hint style="warning" %}
Die Funktion befindet sich in der Beta-Phase. Mit *Dauerhafter Spracherkennung* wird die Sprache bei jeder Eingabe neu ausgewertet – kurze Antworten wie „Ja“ oder „Ok“ können dann ungewollte Sprachwechsel auslösen.
{% endhint %}

#### Hintergrundgeräusche

Optional blendet der Kanal ein dezentes Umgebungsgeräusch ein, damit das Gespräch natürlicher wirkt. Wähle nach dem Aktivieren ein Geräusch aus der Liste (z. B. Büro, Hotel-Rezeption oder Restaurant), höre es über den Play-Button vor und stelle die *Lautstärke* im Bereich von `-10` bis `+10` ein (Standard `0`). Halte die Lautstärke niedrig, damit die Sprachausgabe gut verständlich bleibt.

### Stilllegung und Löschung

Wird ein Voice-Kanal gelöscht, bleibt die verknüpfte Rufnummer 30 Tage lang reserviert. Innerhalb dieser Frist kann unser Support sie auf Anfrage reaktivieren. Nach Ablauf der Frist fällt die Nummer zurück in den allgemeinen Pool.


# AudioCodes-Kanal

Verbinde den AI Agent mit deinem AudioCodes-Account.

AudioCodes verbindet deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> über einen AudioCodes-Account mit dem Telefonnetz. Für eine Telefonie-Anbindung ohne eigenen Zugang eignet sich der [Voice-Kanal](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale/voice-kanal).

{% hint style="info" %}
Für diesen Kanaltyp benötigst du einen eigenen AudioCodes-Zugang. Einstellungen sind unter Umständen sowohl in der Epic AI Platform als auch in der AudioCodes-Konsole vorzunehmen.
{% endhint %}

### Erstellung des Kanals

{% stepper %}
{% step %}

#### Auswahl öffnen

Öffne *Einstellungen → Kanäle*, klicke oben rechts auf *+* und wähle in der Auswahl *Kanal hinzufügen* unter *Voice* die Option *AudioCodes*.
{% endstep %}

{% step %}

#### Angaben machen

Vergib einen *Namen* (Pflichtfeld) und optional eine *Beschreibung*.
{% endstep %}

{% step %}

#### Verbindung einrichten

Trage unter *Verbindung* die gewünschte *Rufnummer* ein (z. B. `49123456789`). Der *Authentifizierungsschlüssel* wird automatisch erzeugt – du kannst ihn neu erzeugen, anzeigen und kopieren.

*Achtung*: Der Schlüssel wird nur an dieser Stelle angezeigt. Kopiere ihn direkt und lege die Connection in AudioCodes parallel an.
{% endstep %}

{% step %}

#### Kanal erstellen

Wähle unter *Bereitstellung* die Umgebung (*Entwicklung*, *Test* oder *Produktiv*)und klicke auf *Kanal erstellen*.
{% endstep %}
{% endstepper %}

### Konfiguration

Öffne die Detailansicht des Kanals und wechsle auf den Tab *Konfiguration*. Änderungen werden erst mit *Speichern* übernommen.

#### Stimme und Sprache

Über die Sprachauswahl oben legst du fest, für welche Sprache du *Stimme* und *Nachfrage-Text* einstellst – diese beiden gelten je Sprache, alle übrigen Parameter global. Die *Stimme* gibst du als Voice-ID im Freitext an (z. B. `de-DE-ConradNeural`); so lassen sich auch Stimmen anderer Anbieter hinterlegen. Eine Übersicht der verfügbaren Azure-Stimmen findest du in der [Microsoft-Dokumentation](https://learn.microsoft.com/en-us/azure/ai-services/speech-service/language-support?tabs=tts).

#### S

| Einstellung           | Beschreibung                                                                                    |
| --------------------- | ----------------------------------------------------------------------------------------------- |
| Timeout Spracheingabe | Maximale Stille (in ms), bevor eine Eingabe als abgeschlossen gilt.                             |
| Barge-In              | Erlaubt dem Anrufer, die Sprachausgabe zu unterbrechen.                                         |
| DTMF                  | Lässt Eingaben über die Telefontastatur (Tonwahl) zu.                                           |
| Nachfrage-Text        | Wird abgespielt, wenn keine Eingabe erkannt wird (je Sprache einstellbar).                      |
| Timeout Nachfrage     | Wartezeit (in ms) bis zur nächsten Nachfrage.                                                   |
| Nachfragen            | Anzahl der Wiederholungen, bevor das Gespräch automatisch endet.                                |
| Erkennungskontext     | Fachbegriffe oder Produktnamen, die die Spracherkennung bevorzugt erkennt (sprachübergreifend). |

{% hint style="success" %}
Unterbricht der <code class="expression">space.vars.TERM\_AI\_AGENT</code> den Anrufer schon bei kurzen Sprechpausen, erhöhe den *Timeout Spracheingabe* schrittweise.
{% endhint %}


# E-Mail-Kanal

Gibt dem AI Agent eine E-Mail-Adresse um Mails empfangen zu können.

Der E-Mail-Kanal gibt deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code> eine eigene E-Mail-Adresse, über die er Nachrichten empfängt. Er wird derzeit vor allem genutzt, um Informationen aus E-Mails zu extrahieren, weiterzuverarbeiten und E-Mails zu klassifizieren.

{% hint style="info" %}
Das Versenden von E-Mails wird noch nicht unterstützt – die Antwort-Option in der Inbox ist entsprechend ausgegraut. Kommentare lassen sich manuell und automatisiert erstellen.
{% endhint %}

### Erstellung des Kanals

{% stepper %}
{% step %}

#### Auswahl öffnen

Öffne *Einstellungen → Kanäle*, klicke oben rechts auf *+* und wähle unter *E-Mail* die Option *E-Mail*.
{% endstep %}

{% step %}

#### Angaben machen

Vergib einen *Namen* (Pflichtfeld) und optional eine *Beschreibung*. Lege unter *Bereitstellung* die Umgebung fest – *Entwicklung*, *Test* oder *Produktiv*.
{% endstep %}

{% step %}

#### Kanal erstellen

Klicke auf *Kanal erstellen*. Die E-Mail-Adresse wird automatisch erzeugt.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Die zugewiesene E-Mail-Adresse findest du in der Detailansicht des Kanals im Tab *Allgemein*. Sie wird fest vergeben und lässt sich nicht ändern. Ihr Aufbau: `<kanal-id>+<agent-id>@reply.chatcaptain.com`.
{% endhint %}

### Funktionsweise

* **Einstiegspunkt:** Eingehende E-Mails starten den Flow nicht über den Einstieg, sondern direkt mit der Intentionserkennung. Wird keine Intention erkannt, landet die E-Mail im Fallback. *Hintergrund*: Eine E-Mail ist – anders als ein Live-Chat – oft eine zeitversetzte, abgeschlossene Nachricht ohne vorherigen Kontext. Die Intentions-Erkennung kann die Nachricht direkt analysieren und an die passende Stelle im Flow leiten. Du nutzt keine Intentionen? Dann stelle sicher, dass du den Fallback als Einstiegspunkt für deine E-Mails verwendest.
* **Dateianhänge:** Es können Anhänge bis zu einer Größe von 10 MB empfangen werden.
* **Threading:** Unterhaltungen werden automatisch in Threads sortiert. Ein Kontakt kann so mehrere parallele Vorgänge (Threads) eröffnen.


# Web-Kanal

Das Web-Widget bietet eine barrierefreie Live-Chat-Option für deine Website.

Das Web-Widget ist eine barrierefreie Live-Chat-Option für deine Website. Besucher interagieren darüber direkt mit deinem <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Unterhaltungen lassen sich über Elemente im Flow gezielt an Teams oder Mitarbeitende übergeben oder jederzeit aus der Inbox übernehmen.

### Erstellung des Kanals

{% stepper %}
{% step %}

#### Auswahl öffnen

Öffne *Einstellungen → Kanäle*, klicke oben rechts auf *+* und wähle unter *Messaging* die Option *Web-Widget*.
{% endstep %}

{% step %}

#### Angaben machen

Vergib einen *Namen* (Pflichtfeld) und optional eine *Beschreibung*. Lege unter *Bereitstellung* die Umgebung fest – *Entwicklung*, *Test* oder *Produktiv*.
{% endstep %}

{% step %}

#### Domains festlegen

Hinterlege unter *Domains* eine oder mehrere Domains, auf denen das Widget laufen darf. Du kannst die Liste später jederzeit anpassen.
{% endstep %}

{% step %}

#### Kanal erstellen

Klicke auf *Kanal erstellen*. Anschließend erhältst du den JavaScript-Code zum Einbinden des Widgets.
{% endstep %}
{% endstepper %}

### Konfiguration und Design

Öffne die Detailansicht des Kanals. Das Erscheinungsbild passt du im Tab *Widget* an, die technische Einbindung im Tab *Einbindung*. Änderungen im Tab *Widget* werden erst mit *Speichern* übernommen.

#### Erscheinungsbild (Tab *Widget*)

Links siehst du eine Live-Vorschau, die jede Änderung sofort abbildet; über *Widget live testen* öffnest du das Widget zusätzlich in einem echten Testfenster. Rechts konfigurierst du:

* **Farben** – jeweils über Farbwähler oder als Hex-Code:
  * Farbverlauf des Startbildschirms
  * Oberfläche (Primär- und Sekundärfarben) und
  * Widget-Button
* **Optionen**
  * Dark Mode
  * Datenschutzhinweis
  * Avatar ausblenden
  * Dateiupload deaktivieren
* **Texte** – je Sprache über die Sprachauswahl:
  * Name des AI Agents
  * Begrüßungsnachricht
  * Untertitel
  * Call to Action&#x20;
  * Call to Action Beschreibung

{% hint style="info" %}
Achte bei den Farben auf ausreichende Kontraste, damit das Widget für alle Nutzenden barrierefrei bleibt.
{% endhint %}

#### Domains und Einbindung (Tab *Einbindung*)

Unter *Domains* legst du fest, auf welchen Webseiten das Widget geladen werden darf – ohne Einschränkung ist es auf jeder Website nutzbar. Gib die Basis-Domain inklusive Protokoll an, ohne Unterpfad und ohne abschließenden Schrägstrich (z. B. `https://example.com`, nicht `https://example.com/shop/`).

Darunter steht unter *Script-Snippet* der fertige Einbindungscode. Kopiere ihn und füge ihn in den Quelltext deiner Website ein, um das Widget zu laden.

#### Widget live testen

Über *Widget live testen* im Tab *Widget* öffnest du das Widget in einem Testfenster.

{% hint style="success" %}
Anders als im [Debug-Chat](/epic-ai-platform/epic-ai-platform/ai-agent/debugging) werden hier erzeugte Nachrichten dauerhaft in der Inbox gespeichert und wie echte Anfragen behandelt. Nutze den Debug-Chat für schnelle Logik-Tests und das Web-Widget, wenn ein Test in der Inbox landen soll – etwa um Übergaben, Tags oder Flows im laufenden Gespräch zu proben. Achte darauf, in der passenden Umgebung zu testen.
{% endhint %}


# Telegram-Kanal

Der Telegram-Kanal ermöglicht es, deinen AI Agent direkt mit Telegram zu verbinden.

Über den Telegram-Kanal kommuniziert dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> direkt mit Nutzern in Telegram. Die Anbindung erfolgt über einen Telegram-Bot, den du mit einem Bot-Token verknüpfst.

### Voraussetzungen

Du benötigst einen Telegram-Bot-Token. Diesen erhältst du, indem du in der Telegram-App den offiziellen Bot *@BotFather* kontaktierst und dort einen neuen Bot erstellst. Ein Token sieht z. B. so aus: `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`.

### Erstellung des Kanals

{% stepper %}
{% step %}

#### Auswahl öffnen

Öffne *Einstellungen → Kanäle*, klicke oben rechts auf *+* und wähle unter *Messaging* die Option *Telegram*.
{% endstep %}

{% step %}

#### Token verifizieren

Trage deinen Bot-Token im Feld *Token* ein und klicke auf *Verifizieren*. Nach erfolgreicher Prüfung zeigt dir die <code class="expression">space.vars.PRODUCT\_NAME</code> eine Zusammenfassung deines Bots an.
{% endstep %}

{% step %}

#### Angaben machen

Vergib einen *Namen* (Pflichtfeld) und optional eine *Beschreibung*. Lege unter *Bereitstellung* die Umgebung fest – *Entwicklung*, *Test* oder *Produktiv*.
{% endstep %}

{% step %}

#### Kanal erstellen

Klicke auf *Kanal erstellen*. Dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> ist nun über Telegram erreichbar.
{% endstep %}
{% endstepper %}

### Kanaldetails

Öffne den Kanal in der Übersicht, um seine Details im Tab *Allgemein* einzusehen. Unter *Details* findest du unter anderem Kanaltyp, Umgebung, Kanal-ID und Erstellungsdatum; die *Provider-ID* enthält den hinterlegten Bot-Token. Im Abschnitt *Telegram* stehen die *Telegram-ID* und der *Name* des verknüpften Bots. Nutzer finden deinen Bot in Telegram über seinen @Username.

### Stilllegung und Löschung

Wird ein Telegram-Kanal gelöscht, trennt die <code class="expression">space.vars.PRODUCT\_NAME</code> die Verbindung zum Telegram-Bot sofort. Der Bot selbst bleibt bei Telegram bestehen und kann jederzeit erneut verknüpft werden.

{% hint style="warning" %}
Nach dem Löschen ist der <code class="expression">space.vars.TERM\_AI\_AGENT</code> über diesen Telegram-Bot nicht mehr erreichbar. Laufende Gespräche werden abgebrochen.
{% endhint %}

### Best Practices

* **Eigener Bot je Umgebung:** Erstelle bei Bedarf für *Entwicklung*, *Test* und *Produktiv* je einen eigenen Bot über *@BotFather*. So landen Testgespräche nicht im Produktiv-Kanal.
* **Aussagekräftige Kanalnamen:** Vergib eindeutige Namen, damit in der Kanalübersicht sofort klar ist, welcher Bot welchem Zweck dient.


# WhatsApp-Kanal

WhatsApp ist ein Messaging-Kanal, über den dein AI Agent direkt mit Nutzern kommunizieren kann.

Über den WhatsApp-Kanal kommuniziert dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> direkt mit Nutzern in WhatsApp. Die Anbindung läuft über einen WhatsApp Business Account (WABA) in deinem Meta Business-Konto.

### Voraussetzungen

Bevor du den WhatsApp-Kanal in der <code class="expression">space.vars.PRODUCT\_NAME</code> einrichtest, benötigst du ein Meta Business-Konto (ehemals Facebook Business Manager). Darüber werden dein WhatsApp Business Account (WABA) und die zugehörige Telefonnummer verwaltet. Falls du noch kein Meta Business-Konto hast, kannst du es während der Einrichtung direkt erstellen – du benötigst dafür nur einen bestehenden Facebook-Account.

{% hint style="info" %}
Die verwendete Telefonnummer darf nicht bereits mit einem persönlichen WhatsApp-Konto oder der WhatsApp Business App verknüpft sein. Ist die Nummer dort aktiv, musst du das bestehende Konto zuerst löschen.
{% endhint %}

### Erstellung des Kanals

Die Einrichtung läuft über den Embedded Signup von Meta – einen geführten Anmeldeprozess, bei dem du dich direkt aus der <code class="expression">space.vars.PRODUCT\_NAME</code> mit deinem Meta Business-Konto verbindest. Verknüpfung, Telefonnummer und Berechtigungen werden dabei automatisch eingerichtet.

{% stepper %}
{% step %}

#### Auswahl öffnen

Öffne *Einstellungen → Kanäle*, klicke oben rechts auf *+* und wähle unter *Messaging* die Option *WhatsApp*.
{% endstep %}

{% step %}

#### Mit Meta anmelden

Klicke unter *Meta-Anmeldung* auf *Mit Meta anmelden*. Der Embedded Signup von Meta führt dich durch die Anbindung:

* Melde dich mit deinem Facebook-Konto an.
* Wähle ein bestehendes Meta Business-Konto aus oder erstelle ein neues.
* Wähle einen bestehenden WhatsApp Business Account (WABA) aus oder erstelle einen neuen.
* Bestätige die erforderlichen Berechtigungen, damit der <code class="expression">space.vars.TERM\_AI\_AGENT</code> Nachrichten über den WhatsApp-Kanal senden und empfangen kann.
  {% endstep %}

{% step %}

#### Angaben machen

Vergib einen *Namen* (Pflichtfeld) und optional eine *Beschreibung*. Lege unter *Bereitstellung* die Umgebung fest – *Entwicklung*, *Test* oder *Produktiv*.
{% endstep %}

{% step %}

#### Kanal erstellen

Klicke auf *Kanal erstellen*. Dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> ist nun über WhatsApp erreichbar.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Meta prüft im Hintergrund, ob dein Unternehmen den WhatsApp-Richtlinien (Commerce Policy) entspricht. In der Regel geschieht das automatisch; andernfalls meldet sich Meta innerhalb von 24 Stunden.
{% endhint %}

### Kanaldetails

Öffne den Kanal in der Übersicht, um seine Details im Tab *Allgemein* einzusehen. Neben *Name* und *Beschreibung* (beide bearbeitbar) findest du unter *Details* den Kanaltyp, die Umgebung, die Kanal-ID und das Erstellungsdatum. Im Abschnitt *WhatsApp* stehen die *WhatsApp-ID* und die *Nummer* – die Telefonnummer, über die Nutzer deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> in WhatsApp erreichen.

### Stilllegung und Löschung

Wird ein WhatsApp-Kanal gelöscht, trennt die <code class="expression">space.vars.PRODUCT\_NAME</code> die Verbindung zum WhatsApp Business Account. Die Telefonnummer selbst bleibt in deinem Meta Business-Konto erhalten und kann jederzeit erneut verknüpft werden.

{% hint style="warning" %}
Nach dem Löschen ist der <code class="expression">space.vars.TERM\_AI\_AGENT</code> über diese WhatsApp-Nummer nicht mehr erreichbar. Laufende Gespräche werden abgebrochen.
{% endhint %}

### Best Practices

* **Eigene Nummer je Umgebung:** Richte bei Bedarf für *Entwicklung*, *Test* und *Produktiv* je eine eigene WhatsApp-Nummer im Meta Business-Konto ein. So landen Testgespräche nicht im Produktiv-Kanal.
* **Aussagekräftige Kanalnamen:** Vergib eindeutige Namen, damit in der Kanalübersicht sofort klar ist, welcher Kanal welchem Zweck dient.
* **Meta-Business-Verifizierung:** Lass dein Unternehmen im Meta Business-Konto verifizieren. Ohne Verifizierung gelten Grenzen bei der Anzahl der täglich versendbaren Nachrichten.


# Facebook Messenger

Der Facebook Messenger ist ein Messaging-Kanal, über den dein AI Agent direkt mit Nutzern kommunizieren kann, die deine Facebook-Unternehmensseite kontaktieren.

Über den Facebook Messenger kommuniziert dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> direkt mit Nutzern, die deine Facebook-Unternehmensseite anschreiben.

### Voraussetzungen

Du benötigst eine Facebook-Unternehmensseite – über sie empfängt und sendet dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> Nachrichten im Messenger. Falls du noch keine hast, erstelle sie vorab über Facebook; dafür genügt ein bestehender Facebook-Account.

### Erstellung des Kanals

Die Einrichtung läuft über die Anmeldung bei Facebook: Du meldest dich direkt aus der <code class="expression">space.vars.PRODUCT\_NAME</code> an und wählst die gewünschte Unternehmensseite aus. Verknüpfung und Berechtigungen werden dabei automatisch eingerichtet.

{% stepper %}
{% step %}

#### Auswahl öffnen

Öffne *Einstellungen → Kanäle*, klicke oben rechts auf *+* und wähle unter *Messaging* die Option *Messenger*.
{% endstep %}

{% step %}

#### Mit Facebook anmelden

Klicke unter *Facebook-Anmeldung* auf *Mit Facebook anmelden* und bestätige im Fenster von Facebook die erforderlichen Berechtigungen.
{% endstep %}

{% step %}

#### Unternehmensseite wählen

Wähle unter *Unternehmensseite* die Facebook-Seite aus, die du verbinden möchtest. Der Kanal übernimmt den Namen dieser Seite.
{% endstep %}

{% step %}

#### Kanal erstellen

Ergänze optional eine *Beschreibung*, lege unter *Bereitstellung* die Umgebung fest und klicke auf *Kanal erstellen*.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Die <code class="expression">space.vars.PRODUCT\_NAME</code> wird als App zu deiner Facebook-Seite hinzugefügt und kann darüber eingehende Nachrichten empfangen und beantworten.
{% endhint %}

### Kanaldetails

Öffne den Kanal in der Übersicht, um seine Details im Tab *Allgemein* einzusehen. Der *Name* entspricht der verknüpften Facebook-Seite. Unter *Details* findest du Kanaltyp, Umgebung, Kanal-ID und Erstellungsdatum, im Abschnitt *Facebook Messenger* die *Facebook-ID* der Seite.

### Stilllegung und Löschung

Wird ein Facebook-Messenger-Kanal gelöscht, trennt die <code class="expression">space.vars.PRODUCT\_NAME</code> die Verbindung zur Facebook-Unternehmensseite. Die Seite selbst bleibt bestehen und kann jederzeit erneut verknüpft werden.

{% hint style="warning" %}
Nach dem Löschen ist der <code class="expression">space.vars.TERM\_AI\_AGENT</code> über den Messenger dieser Seite nicht mehr erreichbar. Laufende Gespräche werden abgebrochen; eingehende Nachrichten sind dann nur noch direkt im Postfach deiner Facebook-Seite zugänglich.
{% endhint %}

### Best Practices

* **Eigene Seite je Umgebung:** Nutze bei Bedarf für *Entwicklung*, *Test* und *Produktiv* je eine eigene Facebook-Seite. So landen Testgespräche nicht im Produktiv-Kanal.
* **Eindeutige Kanalnamen:** Der Kanal übernimmt zunächst den Seitennamen – benenne ihn bei Bedarf im Tab *Allgemein* um, damit in der Kanalübersicht klar ist, welcher Kanal welchem Zweck dient.


# Microsoft Exchange

Verbinde deine Microsoft-Exchange-Postfächer mit dem Agent zum Senden und Empfangen von E-Mails.

#### **Anhänge**

Empfangene E-Mails können Anhänge enthalten. Mitarbeitende können diese in der Inbox öffnen und bei Bedarf herunterladen.

Es können auch welche versandt werden: Hänge eine oder mehrere Dateien – z. B. Dokumente, Rechnungen oder Bilder – direkt an deine Antwort an oder verschicke sie direkt [über den Flow](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-dateien), um sie im Kontext der Konversation an den Kontakt weiterzugeben. Wird eine Datei über den Flow versandt, werden sie dabei als Teil derselben E-Mail versendet und erzeugen keine separate Nachricht.

Es können Dateien bis zu einer Größe von 20 MB versendet werden. Überschreitet eine Datei dieses Limit, wird sie nicht versendet und die betroffene Nachricht erhält eine Fehlermeldung, die du über das Info-Symbol in der Inbox einsehen kannst.

* **Einstiegspunkt:** Eingehende E-Mails starten den Flow grundsätzlich im **Fallback**. Hintergrund: Eine E-Mail ist – anders als ein Live-Chat – oft eine zeitversetzte, abgeschlossene Nachricht ohne vorherigen Kontext. Über den Fallback kann die Intentions-Erkennung die Nachricht analysieren und den Nutzer direkt an die passende Stelle im Flow leiten.
* **Gebündelter Versand:** Nachrichten, die innerhalb eines Teilflows entstehen – also alle Schritte zwischen zwei Nutzereingaben – werden gesammelt und gemeinsam in einer E-Mail verschickt. Anhänge werden dabei an diese E-Mail angehängt.
* **Threading:** Unterhaltungen werden automatisch in Threads sortiert. Ein Kontakt kann so mehrere parallele Vorgänge (Threads) eröffnen.

Der Microsoft-Exchange-Kanal bindet ein bestehendes Exchange-Postfach aus deinem Microsoft-365-Mandanten an deinen <code class="expression">space.vars.TERM\_AI\_AGENT</code> an. E-Mails an dieses Postfach werden automatisch als Konversationen verarbeitet.

{% hint style="info" %}
Anders als beim [E-Mail-Kanal](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/kanale/e-mail-kanal) wird die Adresse nicht automatisch generiert – du gibst dein bestehendes Postfach selbst an.
{% endhint %}

### Erstellung des Kanals

Die Verbindung wird über eine Admin-Zustimmung (Admin-Consent) im Microsoft-365-Mandanten hergestellt: Ein Microsoft-365-Administrator bestätigt die nötigen Berechtigungen für das Postfach. Der Assistent führt dich Schritt für Schritt hindurch.

{% stepper %}
{% step %}

#### Auswahl öffnen

Öffne *Einstellungen → Kanäle*, klicke rechts auf *+* und wähle unter *E-Mail* die Option *Microsoft Exchange*.
{% endstep %}

{% step %}

#### Kanal benennen

Vergib einen *Namen* (Pflichtfeld) und optional eine *Beschreibung*, lege unter *Bereitstellung* die Umgebung fest und klicke auf *Fortfahren*.
{% endstep %}

{% step %}

#### Postfach angeben

Trage unter *Mailbox-Adresse* die E-Mail-Adresse des Exchange-Postfachs ein (z. B. `postfach@domain.com`) und klicke auf *Kanal erstellen*.
{% endstep %}

{% step %}

#### Mit Microsoft verbinden

Klicke auf *Mit Microsoft verbinden*. Im Popup bestätigt ein Microsoft-365-Administrator die Berechtigungen für das Postfach. Nach der Bestätigung schließt du die Einrichtung mit *Fertigstellen* ab.
{% endstep %}
{% endstepper %}

### Verwendung

Über den Microsoft-Exchange-Kanal kann dein <code class="expression">space.vars.TERM\_AI\_AGENT</code> E-Mails **empfangen und versenden** – auf zwei Wegen:

* **Über den Flow:** Der <code class="expression">space.vars.TERM\_AI\_AGENT</code> verarbeitet eingehende Nachrichten im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> und antwortet automatisiert.
* **Über die Inbox:** Konversationen lassen sich manuell in der Inbox beantworten.

#### **Anhänge**

Empfangene E-Mails können Anhänge enthalten. Mitarbeitende können diese in der Inbox einsehen und bei Bedarf herunterladen.

Es können auch welche versandt werden: Hänge eine oder mehrere Dateien – z. B. Dokumente, Rechnungen oder Bilder – direkt an deine Antwort an oder verschicke sie direkt [über den Flow](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-dateien), um sie im Kontext der Konversation an den Kontakt weiterzugeben. Wird eine Datei über den Flow versandt, werden sie dabei als Teil derselben E-Mail versendet und erzeugen keine separate Nachricht.

Es können Dateien bis zu einer Größe von 20 MB versendet werden. Überschreitet eine Datei dieses Limit, wird sie nicht versendet und die betroffene Nachricht erhält eine Fehlermeldung, die du über das Info-Symbol in der Inbox einsehen kannst.

### Funktionsweise

* **Einstiegspunkt:** Eingehende E-Mails starten den Flow nicht über den Einstieg, sondern direkt mit der Intentionserkennung. Wird keine Intention erkannt, landet die E-Mail im Fallback. *Hintergrund*: Eine E-Mail ist – anders als ein Live-Chat – oft eine zeitversetzte, abgeschlossene Nachricht ohne vorherigen Kontext. Die Intentions-Erkennung kann die Nachricht direkt analysieren und an die passende Stelle im Flow leiten. Du nutzt keine Intentionen? Dann stelle sicher, dass du den Fallback als Einstiegspunkt für deine E-Mails verwendest.
* **Gebündelter Versand:** Nachrichten, die innerhalb eines Teilflows entstehen – also alle Schritte zwischen zwei Nutzereingaben – werden gesammelt und gemeinsam in einer E-Mail verschickt. Anhänge werden dabei an diese E-Mail angehängt.
* **Threading:** Unterhaltungen werden automatisch in Threads sortiert. Ein Kontakt kann so mehrere parallele Vorgänge (Threads) eröffnen.


# Tags und Trigger

Tags können Konversationen manuell oder automatisiert zugewiesen werden, um sie zu kategorisieren und zu filtern. Sie lassen sich sowohl manuell in der Inbox als auch automatisch im Flow-Builder setze

Tags sind benannte, farbige Markierungen, die du Konversationen zuordnest. Du setzt sie manuell in der Inbox oder automatisch im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> – zum Kategorisieren und Filtern sowie als Auslöser (Trigger) für Flows.

### Was sind Tags?

Ein Tag erfüllt zwei Aufgaben:

* **Kategorisierung:** Konversationen in der Inbox nach Tags filtern und gruppieren – z. B. alle offenen Support-Fälle zu einem Thema auf einen Blick.
* **Trigger im Flow Builder:** Ein Tag kann automatisch gesetzt werden und einen Flow auslösen – z. B. einen Ablauf starten, sobald eine Konversation einen bestimmten Status erreicht.

Jeder Tag besteht aus einem **Namen** (sichtbar in Inbox und <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code>) und einer **Farbe** aus einer vordefinierten Palette zur visuellen Unterscheidung.

### Tags verwalten

Tags verwaltest du unter *Einstellungen →* *Inbox → Tags*. Die Übersicht listet alle Tags mit *Name*, *Farbe* und *ID*; über das Suchfeld findest du einen Tag schnell wieder.

* **Erstellen:** Klicke oben rechts auf *Tag erstellen*, vergib im Dialog einen *Namen*, wähle eine *Farbe* aus der Palette und bestätige mit *Erstellen*.
* **Bearbeiten:** Klicke auf eine Zeile oder das Stift-Icon, passe *Name* und/oder *Farbe* im Dialog *Tag bearbeiten* an und speichere mit *Speichern*. Änderungen gelten automatisch für alle Konversationen mit diesem Tag.
* **Löschen:** Klicke auf das Papierkorb-Icon.

{% hint style="warning" %}
Ein gelöschter Tag wird von allen Konversationen entfernt – das lässt sich nicht rückgängig machen. Prüfe vorher, ob der Tag noch in der Inbox oder im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> verwendet wird.
{% endhint %}

### Tags im Flow Builder

Im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> setzt du Tags automatisch: Über die [Aktionen](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/block/elemente-aktionen) *Tag hinzufügen* und *Tag entfernen* in einem Block weist du einer Konversation ein Tag zu oder entfernst es – ohne manuellen Eingriff.

Zusätzlich lösen Tags Flows aus: Die Trigger [Tag hinzugefügt](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/tag-hinzugefugt) und [Tag entfernt](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/tag-entfernt) starten einen Flow, sobald ein Tag gesetzt bzw. entfernt wird. Eine Übersicht aller aktiven Trigger findest du unter [Trigger](/epic-ai-platform/epic-ai-platform/ai-agent/build/trigger).

### Beispiele

<details>

<summary>Teilflow über einen Tag auslösen (E-Commerce: Retouren)</summary>

**Szenario:** Sobald ein Kunde eine Retoure anmeldet, soll automatisch ein Teilflow starten, der den Rückgabeprozess einleitet.

1. Erstelle den Tag „Retoure" mit der Farbe *Rot*.
2. Füge im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> an der Stelle, an der die Retouren-Anfrage erkannt wird, die Aktion *Tag hinzufügen* mit „Retoure" ein.
3. Erstelle einen Teilflow mit dem Trigger *Tag hinzugefügt* auf „Retoure".
4. Dieser Teilflow kann z. B. eine Bestätigung senden, das Logistik-Team benachrichtigen und die Konversation einem Agenten zuweisen.

**Ergebnis:** Jede Konversation mit dem Tag „Retoure" durchläuft den Rückgabeprozess – egal, ob das Tag automatisch oder manuell gesetzt wurde.

</details>

<details>

<summary>Neue Abzweigung mit einem Test-Tag prüfen</summary>

**Szenario:** Du hast eine neue Abzweigung gebaut und möchtest sie gezielt testen, ohne den Produktivbetrieb zu stören.

1. Erstelle den Tag „TEST" mit einer auffälligen Farbe – z. B. *Limone*.
2. Weise „TEST" im <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> am Einstieg der neuen Abzweigung automatisch zu.
3. Filtere die Inbox nach „TEST", um alle Testkonversationen gesammelt zu prüfen.
4. Entferne die Aktion nach dem Test wieder aus dem Flow.

**Empfehlung:** Lösche das Tag „TEST" nicht aus der Verwaltung – so kannst du es für spätere Tests wiederverwenden.

</details>

### Best Practices

* **Kurze, eindeutige Namen vergeben:** So bleibt die Orientierung in Inbox und Flow Builder einfach.
* **Farben mit System nutzen:** Nutze Farben mit System, z. B. Rot für kritische und Limone für abgeschlossene Vorgänge.
* **Tags überschaubar halten:** Halte die Zahl der Tags überschaubar und prüfe regelmäßig, ob alle noch genutzt werden.
* **Nur ungenutzte Tags löschen:** Lösche Tags nur, wenn sie weder in der Inbox noch im Flow Builder verwendet werden.


# Schnellantworten

Schnellantworten sind vorgefertigte Textbausteine, mit denen du in der Inbox häufig verwendete Antworten schnell einfügen kannst.

Schnellantworten sind vorgefertigte Textbausteine für die Inbox. Über sie fügst du häufig genutzte Nachrichten – etwa Begrüßungen, Öffnungszeiten oder Weiterleitungshinweise – mit wenigen Anschlägen ins Eingabefeld ein.

### Aufbau

Eine Schnellantwort besteht aus zwei Teilen:

* **Name:** Kurze, eindeutige Bezeichnung; dient in der Inbox als Suchbegriff.
* **Antwort:** Der Text, der beim Auswählen ins Eingabefeld eingefügt wird.

Schnellantworten sind reiner Text – ohne Formatierung und ohne Variablen. Der gespeicherte Text wird exakt so eingefügt, wie du ihn angelegt hast.

{% hint style="info" %}
Schnellantworten gelten pro <code class="expression">space.vars.TERM\_AI\_AGENT</code>. Benötigst du dieselbe Schnellantwort in mehreren <code class="expression">space.vars.TERM\_AI\_AGENT</code>s, legst du sie in jedem einzeln an.
{% endhint %}

### In der Inbox verwenden

{% stepper %}
{% step %}

#### Unterhaltung öffnen

Öffne eine Unterhaltung und klicke in das Eingabefeld.
{% endstep %}

{% step %}

#### Schnellantworten aufrufen

Tippe `/`. Es öffnet sich eine Liste aller Schnellantworten. Tippe weiter, um nach dem Namen zu filtern – z. B. `/Begrüßung`.
{% endstep %}

{% step %}

#### Einfügen und senden

Wähle einen Eintrag aus. Der Text erscheint im Eingabefeld und lässt sich vor dem Senden noch anpassen.
{% endstep %}
{% endstepper %}

### Verwalten

Schnellantworten verwaltest du unter *AI Agent → Einstellungen → Inbox → Schnellantworten*. Die Übersicht listet alle Einträge mit *Name* und *Nachricht*.

* **Erstellen:** Klicke oben rechts auf *Antwort erstellen*, gib *Name* und *Antwort* ein und bestätige mit *Erstellen*.
* **Bearbeiten:** Klicke auf eine Zeile (oder das Stift-Icon) und passe die *Antwort* an; speichere mit *Speichern*. Der *Name* lässt sich nachträglich nicht ändern – lege dafür bei Bedarf eine neue Schnellantwort an.
* **Löschen:** Klicke in der Zeile auf das Papierkorb-Icon.

{% hint style="warning" %}
Eine gelöschte Schnellantwort lässt sich nicht wiederherstellen und steht danach nicht mehr in der Inbox zur Verfügung.
{% endhint %}

### Best Practices

* **Aussagekräftige Namen:** Wähle Namen, die den Inhalt sofort erkennen lassen (z. B. „Öffnungszeiten" statt „Antwort 1") – das erleichtert das Filtern.
* **Einheitliches Namensschema:** Benenne nach Kategorie, z. B. „Begrüßung – Standard" oder „Versand – Rückgabe", damit die Sammlung übersichtlich bleibt.
* **Aktuell halten:** Prüfe die Texte regelmäßig auf veraltete Angaben wie geänderte Öffnungszeiten.
* **Kurz und präzise:** Halte Antworten so kurz wie möglich; lange Texte wirken im Chat schnell überladen.


# (Inbox) Widgets

Widgets ermöglichen es, konversationsbezogene Variablenwerte direkt in der Inbox anzuzeigen und bei Bedarf manuell zu bearbeiten.

Ein Widget ist eine benannte Karte in der Inbox-Seitenleiste, die konversationsbezogene Variablenwerte anzeigt und bei Bedarf direkt bearbeitbar macht.

### Wo finde ich Widgets?

* **Erstellen und verwalten:** *Einstellungen → Inbox → Widgets*
* **Nutzen:** in der rechten Seitenleiste jeder Konversation, sofern das Widget eingeblendet ist

### Was genau sind Widgets?

Ein Widget besteht aus einem oder mehreren **Feldern**, die jeweils mit einer Variable verknüpft sind. Der Widget-Titel erscheint als Überschrift der Karte, jedes Feld zeigt den Wert seiner Variable.

Ändert sich der Wert einer Variable im laufenden Flow – etwa weil der <code class="expression">space.vars.TERM\_AI\_AGENT</code> eine Information abgefragt hat –, aktualisiert sich der Wert automatisch im Widget. Über die Inbox können Mitarbeiter Werte auch direkt im Widget anpassen, ohne in den <code class="expression">space.vars.TERM\_FLOW\_BUILDER</code> wechseln zu müssen.

#### Arten von Karten in der Seitenleiste

In der Seitenleiste einer Konversation gibt es drei Arten von Karten:

| Kategorie             | Beschreibung                                                                                                                                                 | Konfigurierbar                         |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- |
| **Standard**          | Systemkarten wie Tags, Kontaktdaten, Organisationen und Notizen. Immer verfügbar.                                                                            | Nein                                   |
| **Benutzerdefiniert** | Selbst erstellte Widgets, die mit eigenen Variablen verknüpft sind.                                                                                          | Über *Einstellungen → Inbox → Widgets* |
| **App-Karten**        | Werden beim Erstellen von [Apps](/epic-ai-platform/epic-ai-platform/workspace/apps#datacards) automatisch angelegt und je App unter dem App-Namen gruppiert. | Über die App                           |

{% hint style="info" %}
Dieser Artikel behandelt ausschließlich **benutzerdefinierte Widgets**.
{% endhint %}

### Widget erstellen

Unter *Einstellungen → Inbox → Widgets* findest du eine Übersicht aller angelegten Widgets – mit Titel, Anzahl der Felder, Datum der letzten Aktualisierung und ID. Über *Widget erstellen* oben rechts legst du ein neues an.

{% hint style="info" %}
Das Erstellen und Verwalten von Widgets erfordert entsprechende [Berechtigungen](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/benutzer#rollen-im-uberblick) – in der Regel die Rolle *Inhaber* oder *Administrator*.
{% endhint %}

{% stepper %}
{% step %}

#### Widget-Verwaltung öffnen

Navigiere zu *Einstellungen → Inbox → Widgets* und klicke oben rechts auf *Widget erstellen*.
{% endstep %}

{% step %}

#### Titel vergeben

Vergib einen aussagekräftigen *Titel* (Pflichtfeld). Er erscheint später als Überschrift der Karte in der Seitenleiste.
{% endstep %}

{% step %}

#### Felder hinzufügen

Klicke auf *Feld hinzufügen* und lege für jedes Feld Folgendes fest:

* *Name* (Pflichtfeld): Bezeichnung des Feldes in der Karte – z. B. „Vorname“, „Status“ oder „Geburtsdatum“.
* *Variable* (Pflichtfeld): Wähle über *Variable auswählen* die Variable, deren Wert das Feld anzeigt. Zur Auswahl stehen benutzerdefinierte sowie automatisch befüllte Variablen.
* *Typ*: Bestimmt, wie das Feld dargestellt wird und welche Werte erlaubt sind (siehe [Feldtypen](#feldtypen)). Der Typ erscheint nur bei beschreibbaren Feldern.
* *Nur Lesezugriff*: Zeigt den Wert an, ohne ihn bearbeitbar zu machen. Bei automatisch befüllten Variablen ist die Option automatisch aktiv, da sich diese nicht manuell ändern lassen.
  {% endstep %}

{% step %}

#### Reihenfolge festlegen

Ordne die Felder per Drag-and-drop über das Punkte-Symbol (⠿) links neben jedem Feld.
{% endstep %}

{% step %}

#### Speichern

Klicke auf *Speichern*, um das Widget anzulegen. Es erscheint anschließend in der Seitenleiste aller Konversationen.
{% endstep %}
{% endstepper %}

### Feldtypen

Welche Typen wählbar sind, hängt vom [Datentyp der verknüpften Variable](/epic-ai-platform/epic-ai-platform/ai-agent/build/variablen#variable-erstellen) ab – nicht passende Typen sind ausgegraut.

| Typ        | Beschreibung                                                                                                                   |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------ |
| *Text*     | Freitext für beliebige Zeichenketten.                                                                                          |
| *Zahl*     | Numerische Werte; Dezimalstellen werden mit Komma getrennt.                                                                    |
| *Checkbox* | Ja/Nein-Auswahl.                                                                                                               |
| *Dropdown* | Auswahlliste mit vordefinierten Optionen. Über *Option hinzufügen* legst du die Werte fest – z. B. „Gold“, „Silber“, „Bronze“. |
| *Datum*    | Öffnet in der Inbox einen Kalender zur Datumsauswahl.                                                                          |

### Widget bearbeiten

Klicke in der Übersicht auf die gewünschte Zeile, um das Widget zu öffnen. Nimm deine Anpassungen vor und bestätige mit *Speichern*.

### Widget löschen

1. Navigiere zu *Einstellungen → Inbox → Widgets*.
2. Klicke in der Zeile des Widgets auf das Mülltonnensymbol und bestätige im Dialog mit *Widget löschen*.

{% hint style="danger" %}
Das Löschen kann **nicht** rückgängig gemacht werden. Das Widget verschwindet sofort aus der Seitenleiste aller Konversationen. Die verknüpften Variablen bleiben erhalten.
{% endhint %}

### Beispiel: Widget „Kundenprofil“

**Ziel:** Du möchtest in der Inbox auf einen Blick sehen, ob dein Gegenüber bereits Kunde ist, welchen Status er hat und wann er geboren wurde – alles aus Variablen, die der <code class="expression">space.vars.TERM\_AI\_AGENT</code> im Gespräch befüllt.

**Voraussetzung:** Die benutzerdefinierten Variablen `Bereits Kunde`, `Status` und `Geburtsdatum` existieren bereits.

1. Navigiere zu *Einstellungen → Inbox → Widgets* und klicke auf *Widget erstellen*.
2. Vergib den Titel „Kundenprofil“.
3. Füge folgende Felder hinzu:
   * Name „Bereits Kunde?“, Variable `Bereits Kunde`, Typ *Checkbox*
   * Name „Status“, Variable `Status`, Typ *Dropdown* mit den Optionen „Gold“, „Silber“, „Bronze“
   * Name „Geburtsdatum“, Variable `Geburtsdatum`, Typ *Datum*
4. Klicke auf *Speichern*.

Das Widget erscheint ab sofort in der Seitenleiste aller Konversationen. Sobald der <code class="expression">space.vars.TERM\_AI\_AGENT</code> die entsprechenden Variablen befüllt, werden die Werte automatisch in der Karte angezeigt.

### Best Practices

* **Aussagekräftige Feldnamen wählen:** Der Feldname ist das, was Mitarbeiter in der Inbox sehen. Verwende klare Bezeichnungen wie „Kundenstatus“ statt „status\_var\_2“.
* **Nur Lesezugriff gezielt einsetzen:** Aktiviere *Nur Lesezugriff*, wenn ein Wert ausschließlich durch den Flow befüllt und nicht manuell geändert werden soll – z. B. bei automatisch berechneten Werten.
* **Feldtypen passend wählen:** Nutze *Dropdown* für Felder mit einer begrenzten Zahl definierter Ausprägungen (z. B. Kundenstatus). So vermeidest du Tippfehler und uneinheitliche Einträge.
* **Widgets schlank halten:** Beschränke die Zahl der Felder pro Widget auf das Wesentliche. Zu viele Felder machen die Karte unübersichtlich – erstelle lieber mehrere thematisch fokussierte Widgets.


# Account

Die Account-Einstellungen ermöglichen es dir, dein persönliches Benutzerprofil zu verwalten und deinen Verfügbarkeitsstatus zu steuern.

Über die Account-Einstellungen verwaltest du dein persönliches Benutzerkonto – dein öffentlich sichtbares Profil und deinen Verfügbarkeitsstatus.

### Wo finde ich die Account-Einstellungen?

Das *Account*-Symbol findest du immer unten links in der Navigation. Ein Klick darauf öffnet das Menü mit deinem Namen und deiner E-Mail-Adresse sowie den folgenden Optionen:

* *Abwesenheitsmodus* – steuert deinen Verfügbarkeitsstatus
* *Konto verwalten* – öffnet dein Benutzerprofil
* *Abmelden* – meldet dich von der Plattform ab

### Abwesenheitsmodus

Mit dem *Abwesenheitsmodus* signalisierst du, dass du vorübergehend nicht verfügbar bist. Ist er aktiviert:

* Du erhältst keine Benachrichtigungen.
* Du wirst in den [Inbox-Statistiken](/epic-ai-platform/epic-ai-platform/ai-agent/statistiken#inbox-statistiken) nicht mehr als online angezeigt.

Zum Umschalten klickst du unten links auf *Account* und betätigst den Schalter neben *Abwesenheitsmodus* – aktiviert bedeutet abwesend, deaktiviert bedeutet verfügbar.

### Benutzerprofil bearbeiten

Über *Konto verwalten* öffnest du dein persönliches Profil. Dort kannst du:

* dein *Profilbild* ändern – klicke auf das Bild und lade eine neue Datei hoch.
* deinen Namen im Feld *Dein Benutzername* anpassen.

Bestätige deine Änderungen mit *Speichern*.

{% hint style="info" %}
Profilbild und Benutzername sind öffentlich sichtbar – andere im Workspace können sie sehen.
{% endhint %}

### Best Practices

* **Abwesenheitsmodus konsequent nutzen:** Aktiviere ihn, wenn du längere Zeit nicht erreichbar bist. So bleibt dein Verfügbarkeitsstatus in den Inbox-Statistiken korrekt.
* **Aussagekräftigen Benutzernamen wählen:** Verwende deinen echten oder einen klar erkennbaren Namen, damit Kollegen dich eindeutig zuordnen können.
* **Profilbild hinterlegen:** Ein Profilbild erleichtert die Zusammenarbeit, weil Personen auf einen Blick erkennbar sind.


# Umstieg auf das Compliance Center: KI-Hinweise richtig verlagern

Ein pragmatischer Leitfaden für bestehende AI Agents

## Worum es geht

Bisher hast du den Hinweis auf die KI-Nutzung selbst formuliert. Seit es das [Compliance Center](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/compliance-center) gibt, gibt es dafür einen eigenen Ort: Der KI-Transparenzhinweis wird je Kanaltyp unter Einstellungen → Compliance → KI-Transparenz hinterlegt und läuft Flow-unabhängig.

Für bestehende Agents ist das noch keine Pflicht: Dein selbst eingebauter Hinweis erfüllt Art. 50 EU AI Act weiterhin, solange er früh, klar und unmissverständlich ist. Aus drei Gründen, lohnt sich der Umstieg trotzdem:

* **Der Hinweis kommt garantiert zuerst:** Bei Anrufen wird er vor dem ersten Flow-Schritt angesagt. Unabhängig davon, wie jemand den Flow später umbaut.
* **Er gilt für alle Kanäle eines Typs:** auch für den nächsten, den du anlegst. Kein Nachziehen mehr in jedem einzelnen Flow, ein Vergessen ist unmöglich.
* **Er wird protokolliert:** Unter Auskunft und Nachweise siehst du je Konversation, ob und welcher Wortlaut tatsächlich ausgespielt wurde. So bist du auditsicher unterwegs.

{% hint style="info" %}
**Wichtig für Bestandskunden:** Bei bestehenden Agents ist die automatische Ausspielung des Hinweises bewusst deaktiviert und die Aufbewahrung steht auf unbegrenzt. Die Plattform greift nicht von sich aus in laufende Prozesse ein. Deshalb meldet dein Agent beim ersten Öffnen des Compliance Centers Handlungsbedarf: Das ist erwartet, kein Fehler.&#x20;

Neu angelegte Agents starten bereits konform mit voreingestellten Standardfristen.
{% endhint %}

***

## Das Grundprinzip für Voice-Kanäle: früh und kurz – aber die Begrüßung darf lang bleiben

Der häufigste Denkfehler beim Umstieg: „Wenn der Hinweis kurz sein muss, muss meine Begrüßung jetzt kurz sein." Das stimmt nicht.

Kurz und früh gilt nur für den Pflichtteil. Alles andere – Erreichbarkeit, Anliegen-Abfrage, Aufzeichnungshinweis, Smalltalk – bleibt im Flow. Teile deine Begrüßung des einfach in zwei Teile:

| Teil        | Wo er lebt                   | Inhalt                                  |
| ----------- | ---------------------------- | --------------------------------------- |
| Pflichtteil | Compliance Center → Einstieg | Wer spricht, und dass es eine KI ist    |
| Rest        | Erster Block im Flow         | Kontext, Erreichbarkeit, Einstiegsfrage |

**Vorher – alles in einem Block im Flow**

Hallo, hier ist Firma X. Sie sprechen mit der KI-Assistenz. All unsere Mitarbeitenden sind leider im Gespräch, ich nehme Ihr Anliegen aber gerne auf – worum geht es denn?

**Nachher – aufgeteilt**

* Compliance Center / Einstieg: „Hallo, hier ist Firma X. Sie sprechen mit der KI-Assistenz."
* Folgender Block im Flow: „All unsere Mitarbeitenden sind leider im Gespräch, ich nehme Ihr Anliegen aber gerne auf – worum geht es denn?"

Für den Anrufer klingt das identisch. Technisch ist der Pflichtteil jetzt aber vom Flow entkoppelt.

***

## Voice-Flows umstellen

{% stepper %}
{% step %}

### Bestandsaufnahme

Öffne das Compliance Center. Die Übersicht zeigt dir je Kanaltyp einen farbigen Punkt und unter *Zu erledigen* die konkreten offenen Punkte. Notiere dir parallel, wo im Flow dein bisheriger Hinweis sowie deine Begrüßung stehen; meist im ersten Block hinter dem Einstieg.
{% endstep %}

{% step %}

### Hinweis im Compliance Center anlegen

*KI-Transparenz → Voice auswählen*, *Ausspielung* aktivieren, Sprache wählen, Hinweistext eintragen. Beim ersten Öffnen steht dort bereits ein konformer Vorschlag von uns, den du überschreiben kannst. Die Zeile *Prüfung* bewertet den Text sofort, rechts siehst du die Vorschau. Speichern nicht vergessen, denn erst danach gilt der Hinweis für neue Konversationen.
{% endstep %}

{% step %}

### Länge im Blick behalten

Für Voice sind maximal 180 Zeichen bis zum Transparenzhinweis empfohlen, also rund zehn Sekunden Ansage. Alles darüber hinaus, erhält eine Warnung; der Text wird zwar ausgespielt, verzögert aber den Gesprächseinstieg.
{% endstep %}

{% step %}

### Alte Formulierung aus dem Flow entfernen

Erst jetzt, und nur den Pflichtteil. Der Rest der Begrüßung bleibt als Block direkt hinter dem Einstieg stehen. Lässt du beides stehen, hört der Anrufer den Hinweis doppelt.
{% endstep %}

{% step %}

### Testanruf

Einmal anrufen und prüfen, ob die Ansage vor dem ersten Flow-Schritt kommt und der Übergang natürlich klingt. Der Flow Builder zeigt den Hinweis direkt im Einstiegsschritt an. Der Text kann ausschließlich im Compliance Center bearbeitet werden. Im Einstieg ist er rein informativ.
{% endstep %}

{% step %}

### Nachweis prüfen

Nach dem Testanruf die Konversations-ID unter Auskunft und Nachweise nachschlagen. Steht dort Ausgespielt, passt alles. Steht Ersatztext ausgespielt, war dein Text nicht konform.
{% endstep %}
{% endstepper %}

### **Wenn ein Flow mehrere Kanaltypen bedient**

Der Einstieg spielt seine Ansage nur bei Anrufen aus. Läuft derselbe Flow auch über Web Chat oder WhatsApp, fehlt dort nach dem Umbau plötzlich die Begrüßung.

Die Lösung: Direkt hinter dem Einstieg eine Bedingung auf den Kanaltyp der Konversation setzen (Kanal-Typ == voice). Der Wahr-Pfad führt in den gekürzten Voice-Block, der Falsch-Pfad in einen eigenen Block für Textkanäle; mit vollständiger, für Textkanäle geschriebener Begrüßung. Danach laufen beide Pfade wieder zusammen.

Das ist ohnehin die bessere Struktur: Eine Begrüßung, die gesprochen schön klingt, liest sich im Chat selten gut – *et vice versa*.

***

## Die anderen Kanäle

Hier wird der Umstieg meist einfacher, weil die Plattform eine eigene Fläche für den Hinweis bietet und du deinen selbst gebauten Text ersatzlos streichen kannst.

| Kanaltyp           | Wie der Hinweis ausgespielt wird                     | Empfohlene Länge | Was du im Flow tust                                              |
| ------------------ | ---------------------------------------------------- | ---------------- | ---------------------------------------------------------------- |
| Voice              | Begrüßungsansage vor dem ersten Schritt              | 180 Zeichen      | Pflichtteil aus der Begrüßung entfernen, Rest als Block behalten |
| Web Chat           | Badge im Kopfbereich des Widgets, dauerhaft sichtbar | 90 Zeichen       | Hinweis aus der Begrüßung ersatzlos streichen                    |
| E-Mail             | Über der Signatur jeder ausgehenden Mail             | 200 Zeichen      | Eigene Textbausteine in Signatur/Footer entfernen                |
| WhatsApp           | Der ersten Nachricht vorangestellt                   | 160 Zeichen      | Hinweis aus der ersten Nachricht entfernen                       |
| Facebook Messenger | Der ersten Nachricht vorangestellt                   | 160 Zeichen      | Hinweis aus der ersten Nachricht entfernen                       |

**Zum Web Chat**: Weil das Badge dauerhaft und gut sichtbar im Widget steht, braucht die Begrüßung den Hinweis nicht mehr. Das ist der größte Gewinn beim Umstieg. Aus „Willkommen im Chat mit Unternehmen X. Ich bin die KI-Assistenz und helfe Ihnen gerne weiter. Wobei kann ich helfen?" wird  eine kürzere Begrüßung: „Willkommen im Chat mit Unternehmen X. Wobei kann ich helfen?"

**Zur E-Mail:** Der Hinweis reist im Fuß jeder ausgehenden Nachricht mit, weil E-Mail keine dauerhafte *Fläche* hat. Im Nachweis bleibt es trotzdem bei einem Eintrag je Konversation. Prüfe besonders in diesem Kanal auf Doppelungen – viele Kunden haben den Hinweis bereits in der Signatur stehen.

***

## Was laut Studienlage gut ankommt

Die Pflicht nimmt dir die Entscheidung ab, ob und wann du offenlegst. Was bleibt, ist die Frage: wie. Und da gibt es messbare Unterschiede.

**Die Ausgangslage ehrlich benennen**

Die meistzitierte Studie (Luo et al., Marketing Science 2019, Feldexperiment mit 6.255 Kunden) fand einen dramatischen Effekt: Wurde die KI vor dem Gespräch offengelegt, brach die Conversion um rund 80 % ein – von 23,7 % auf 4,8 %. Wurde erst nach der Kaufentscheidung offengelegt, blieb sie bei 23,2 %.

Zwei Einordnungen dazu: Es ging um Outbound-Verkauf, nicht um Service, und die Studie stammt aus einer Zeit, in der Voicebots noch eine Zumutung waren. Neuere Erhebungen zeichnen ein anderes Bild: informierte Kunden sind zufriedener, besonders wenn ein Weg zum Menschen sichtbar ist. Trotzdem: Der Effekt existiert, und genau deshalb lohnt sich Sorgfalt bei der Formulierung.

**Was in Telefonaten tatsächlich messbar wirkt**

Die aufschlussreichste Datenbasis für Voice ist eine Auswertung von rund 450.000 Anrufen an KI-Telefonassistenten. Ergebnisse, jeweils bezogen auf die Auflegequote in den ersten 15 Sekunden:

* Die Offenlegung selbst hilft. Begrüßungen mit einem klaren „Ich bin eine KI-Assistenz" haben rund 20 % weniger Auflegen als solche ohne.
* Der Aufzeichnungshinweis hilft ebenfalls – rund 30 % weniger Auflegen. Transparenz insgesamt schlägt Verschweigen.
* Der größte vermeidbare Fehler: Begrüßungen, die mit der Abwesenheit der Mitarbeitenden beginnen, haben rund 50 % mehr Auflegen. „All unsere Mitarbeitenden sind leider im Gespräch" ist als Einstieg also teuer – als zweiter Satz nach dem Hinweis dagegen unproblematisch.
* Eine Frage am Ende hilft. Begrüßungen ohne abschließende Frage haben rund 15 % mehr Auflegen.
* Die Länge ist egal. Kurze und lange Begrüßungen legen fast gleich auf. Es zählt der Inhalt, nicht die Sekundenzahl.

Der letzte Punkt ist für den Umstieg der wichtigste: Du musst deine Begrüßung nicht zusammenstreichen. Du musst sie nur richtig sortieren.

**Was Menschen erwarten**

* 75–85 % der Verbraucher wollen wissen, ob sie mit KI sprechen.
* 81 % halten es für unethisch, wenn eine KI sich als Mensch ausgibt.
* 44 % nutzen einen KI-Agenten eher, wenn erklärt wird, was er tut; 45 %, wenn ein klarer Weg zum Menschen sichtbar ist (Salesforce).

Der letzte Wert ist der praktisch verwertbarste: Ein Satz wie „Wenn Sie lieber mit einer Kollegin sprechen, sagen Sie einfach Bescheid" kostet zwei Sekunden und nimmt der Offenlegung ihren Schrecken. Er gehört nur nicht in den Hinweistext (Längenempfehlung!), sondern in den Block danach.

**Daraus abgeleitet: die Reihenfolge, die funktioniert**

1. Wer: Firmenname, sofort. Anrufer wollen wissen, ob sie richtig sind.
2. Was: „Sie sprechen mit der KI-Assistenz." Klar, ohne Umschweife.
3. Was das für mich heißt: Kompetenz statt Entschuldigung: „Ich kann Ihr Anliegen aufnehmen und die meisten Fragen direkt klären."
4. Ausweg: Weg zum Menschen, wenn vorhanden.
5. Frage: „Worum geht es denn?"

Schritt 1 und 2 gehören ins Compliance Center. Die Schritte 3 bis 5 in den Block danach.

***

## Formulierungsbausteine

#### **Voice (Compliance Center, ≤ 180 Zeichen)**

:white\_check\_mark: **Empfohlen**

„Hallo, hier ist Firma X. Sie sprechen mit unserer KI-Assistenz."

„Guten Tag, Firma X. Ich bin die KI-Assistenz und nehme Ihr Anliegen auf."

„Willkommen bei Firma X. Sie sprechen mit einem KI-Assistenten, dieses Gespräch wird transkribiert."

**❌ Nicht erlaubt**

„Hallo, hier ist Lisa von Firma X." \
→ erweckt den Eindruck eines Menschen, wird als Verstoß gewertet und zur Laufzeit ersetzt

„Sie sprechen mit unserem digitalen Assistenten." \
→ „digital" ist kein Hinweis auf KI

„Ich bin zwar kein echter Mitarbeiter, aber …" \
→ das Wort „Mitarbeiter" löst die Prüfung aus; außerdem defensiv

„Hallo, hier ist Firma X. Sie sprechen mit der KI-Assistenz. Leider sind gerade alle Kolleginnen und Kollegen im Gespräch, deshalb …" \
→ zu lang für den Pflichtteil, und der Abwesenheitseinstieg gehört ohnehin nach hinten

**Passender Folge-Block (Flow)**

„Ich kann die meisten Anliegen direkt klären und Ihnen sonst schnell weiterhelfen. Worum geht es denn?"

„All unsere Mitarbeitenden sind gerade im Gespräch – ich nehme Ihr Anliegen aber gerne auf. Worum geht es denn?"

„Wenn Sie lieber jemanden aus dem Team sprechen möchten, sagen Sie einfach Bescheid. Was kann ich für Sie tun?"

#### **Web Chat (≤ 90 Zeichen, Badge)**

✅ „KI-Assistenz von Firma X"&#x20;

✅ „Chat mit unserer KI-Assistenz"

#### **E-Mail (≤ 200 Zeichen, über der Signatur)**

✅ „Diese E-Mail wurde von der KI-Assistenz der Firma X automatisch erstellt und versendet."\
✅ „Antwort erstellt von der KI-Assistenz der Firma X. Bei Rückfragen antworten Sie einfach auf diese Mail."

#### **WhatsApp / Messenger (≤ 160 Zeichen, vorangestellt)**

✅ „Sie schreiben mit der KI-Assistenz von Firma X."

***

## Checkliste für die Umstellung

* [ ] Compliance Center öffnen, *Zu erledigen* durchgehen
* [ ] Bestehende Hinweise im Flow lokalisieren (alle Kanäle, alle Sprachen)
* [ ] Hinweistext je Kanaltyp anlegen, Prüfung auf Grün bringen, speichern
* [ ] Bei mehrsprachigen Agents: jede Sprache pflegen – fehlt eine, greift dort der Ersatztext
* [ ] Alte Hinweise aus Flow, Signaturen und ersten Nachrichten entfernen
* [ ] Bei kanalübergreifenden Flows: Bedingung auf den Kanaltyp setzen, Textkanäle mit eigener Begrüßung versorgen
* [ ] Begrüßung nach dem Schema *Wer → Was → Nutzen → Ausweg → Frage* neu sortieren
* [ ] Testanruf und Testchat je Sprache
* [ ] Nachweis unter Auskunft und Nachweise prüfen: Status Ausgespielt?
* [ ] Übersicht kontrollieren: alle Kanaltypen grün?

***

## Häufige Stolpersteine

Doppelter Hinweis. Der klassische Fehler: Compliance Center aktiviert, alten Text im Flow vergessen. Klingt im Testanruf sofort auffällig – deshalb immer testen.

Deaktiviert ist nicht gleich nicht konform. Ist ein Hinweis nicht konform, springt zur Laufzeit unser Standardhinweis ein – es wird also etwas ausgespielt, nur nicht dein Wortlaut. Ist er deaktiviert, wird gar nichts ausgespielt und die Pflicht ist nicht erfüllt. In der Übersicht: grau ist schlimmer als rot.

Eine fehlende Sprache kippt den ganzen Kanaltyp. Der Status fasst alle Sprachen zusammen. Fehlt in einer ein konformer Text, greift dort der Ersatztext – auch wenn der Rest sauber ist.

Kanal-Ausnahmen sparsam einsetzen. Ein abweichender Hinweis für einen einzelnen Kanal ist schnell gesetzt, muss aber dauerhaft mitgepflegt werden. Und: Schaltest du die Ausspielung für einen einzelnen Kanal aus, endet damit auch dessen Vererbung – er folgt dem Kanaltyp danach nicht mehr.

Änderungen gelten erst nach dem Speichern und nur für neue Konversationen. Laufende Gespräche behalten den alten Stand.

Rechte im Blick behalten. Das Compliance Center sehen in den Standardrollen nur Inhaber und Administrator – auch Bearbeiter nicht. Wer die Flows baut, kann den Hinweis also unter Umständen gar nicht anlegen.

***

## Und danach

Wenn die Hinweise stehen, lohnt der zweite Blick auf die [Aufbewahrung](/epic-ai-platform/epic-ai-platform/ai-agent/einstellungen/compliance-center/aufbewahrung). Diese findest du ebenfalls im Compliance Center. Fristen setzt du entweder je Agent oder als Vorgabe im Workspace; die Agent-Einstellung hat dabei immer Vorrang, sobald sie einmal gesetzt ist.

Das Compliance Center prüft Einstellungen anhand unserer Kriterien und protokolliert, was ausgespielt wurde. Es ist keine Rechtsberatung – ob Hinweise und Fristen im Einzelfall ausreichen, hängt vom Anwendungsfall ab.

<br>


# Changelog

Alle Anpassungen an der Epic-AI-Plattform werden in den Unterseiten festgehalten.

{% hint style="success" %}
**Neuste Version:** [2.0.2](/updates-and-anderungen/changelog/2.0.2)
{% endhint %}

***

Die Änderungen werden in drei Kategorien unterteilt:

* **Neue Features / Neu**: Diese Kategorie umfasst alle neuen Funktionen, die in der Plattform eingeführt wurden, um die Benutzererfahrung zu erweitern oder neue Möglichkeiten zu bieten. Beispielsweise neue Funktionen, erweiterte KI-Interaktionen oder zusätzliche Benutzerverwaltungsmöglichkeiten.
* **Änderungen / Verbessert**: Hier werden bestehende Funktionen oder Komponenten der Plattform verbessert. Dies kann sich auf eine optimierte Benutzeroberfläche, schnellere Reaktionszeiten oder erweiterte Integrationen beziehen, die die Effizienz oder die Benutzerfreundlichkeit steigern.
* **Bugfixes / Behoben**: In dieser Kategorie werden Fehler, die in der Plattform aufgetreten sind, behoben. Das umfasst Probleme wie Abstürze, Fehlfunktionen in der Benutzeroberfläche oder unerwartetes Verhalten der Bots, die jetzt korrigiert wurden, um die Stabilität und Benutzererfahrung zu verbessern.


# 2.0.2

Veröffentlicht am 19.08.2026

## Neue Features / Neu

**Flow Builder**

* Neuer Schritt [Anruf weiterleiten](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/anruf-weiterleiten): Er übergibt ein laufendes Telefonat an eine andere Rufnummer und bietet die Ausgänge *Besetzt*, *Nicht erreichbar*, *Abgelehnt* und *Fehlgeschlagen*. Kommt die Weiterleitung nicht zustande, kehrt der Anruf in dieselbe Konversation zurück und der Flow läuft am passenden Ausgang weiter.
* Der Schritt [Bedingung](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/bedingung) kennt drei neue Operatoren: *beginnt mit*, *endet mit* und *entspricht RegEx*.&#x20;
* Das Event `message_received` wurde plattformseitig integriert. Es kann im Schritt [Benutzerdefiniertes Event](/epic-ai-platform/epic-ai-platform/ai-agent/build/flow-builder/benutzerdefiniertes-event) verwendet werden und wird bei jeder neu eingehenden Nachricht ausgelöst.

**Apps**

* Neue [Verbindungstypen](/epic-ai-platform/epic-ai-platform/workspace/apps#verbindungen) wurden hinzugefügt: *Bearer Token*, *OAuth2 Authorization Code.*

**Comliance-Center**

* KI-Hinweise und Aufbewahrungsfristen können zentral auf Workspace- und AI-Agent-Ebene verwaltet werden. KI-Hinweise werden kanaltypabhängig bestimmt, automatisch ausgespielt und die Ausspielung pro Konversation geloggt.

{% hint style="info" %}
Für den Um- und Einstieg ins Compliance-Center (KI-Transparenzhinweis), haben wir einen [Leitfaden](/best-practice/umstieg-auf-das-compliance-center-ki-hinweise-richtig-verlagern) vorbereitet. Nutze unsere Empfehlungen und Checklist.&#x20;
{% endhint %}

## Änderungen / Verbessert

**Flow Builder**

* Das Element *Gespräch übertragen* ist ab sofort als *Legacy* gekennzeichnet. Es bleibt in bestehenden Flows unverändert nutzbar; für neue Flows empfehlen wir *Anruf weiterleiten*.


# 2.0.1

10.07.2026

### Änderungen / Verbessert

* Performanceupdates
* Sicherheitsupdates

**Microsoft Exchange**

* Der Dateiversand über den Flow wurde implementiert. Es können bis zu 20 mb pro E-Mail verschickt werden. Nachrichten eines Teil-Flows werden zu einer gemeinsamen Nachricht zusammengefasst.

#### Bugfixes / Behoben <a href="#bugfixes-behoben" id="bugfixes-behoben"></a>

**Modelltraining**

* Waren zwei Varianten derselben Sprache aktiv, konnte dies zu identischen Beispielen führen, die das Modelltraining verhindert haben. Dieses Verhalten wurde behoben.


# 2.0

10.07.2026

## Neues Frontend

Unsere Plattform hat ein neues Gesicht bekommen – schlanker, klarer, aufgeräumter. Die wichtigsten Abläufe bleiben, wo sie waren, drumherum ist vieles leichter zu bedienen.

Mit dem neuen Frontend verabschieden wir uns auch von drei Bezeichnungen:

*ChatCaptain* lassen wir hinter uns; die Version 2.0 startet unter dem Namen *Epic AI Platform*. Die Bezeichnung *Bot* bildet unserer Meinung nach schon lange nicht mehr ab, was unsere Plattform inzwischen ausmacht: Den Wechsel vom bloßen Ausführen ins Handeln. So werden aus *Bots* unsere *AI Agents* und aus *Bot Builder* unser neuer *Flow Builder*.&#x20;

Wir wünschen viel Freude im neuen Look

Eure Epic AI Team

***

## Die wichtigsten Änderungen auf einen Blick

#### Neues Design

* Alle Sektionen erhalten einen frischen Look
* Navigation bleibt inhaltlich gleich oder sehr nah am gewohnten Design, doch entfällt die blaue Seitenleiste.
* Apps sind final in die Einstellungen umgezogen – die bisherige Dopplung ist damit Geschichte
* Flow Builder: Schritte sind schlanker, die Farben frischer, viele kleine Usability-Funktionalitäten erleichtern das Erstellen von Flows und den darin enthaltenen Schritten.

#### Usability & Navigation

* Einklappbare Seitenleiste, auch in der Inbox – mehr Platz fürs Wesentliche
* Tastaturbedienung an sinnvollen Stellen optimiert – Ausfüllen ganz ohne Maus
* Neue Suchleisten und Filter in vielen Sektionen
* Aufgeräumtes Dashboard mit schnellerem Zugriff auf Workspace und Agent
* Konversationsstartdatum wird direkt in der Konversation angezeigt
* Hochgeladene Quellen werden übersichtlicher dargestellt, inkl. Überschriften-Navigation
* Im Flow-Builder lassen sich Verbindungen jetzt überall auf einem Step platzieren
* Legacy-Feature „WhatsApp Template (legacy)" wurde entfernt
* **Einladungen & Rollen:** mehrere Personen lassen sich jetzt in einem Schritt einladen und mit Rollen versehen

#### Größere Änderungen

* **Wissensorganisation:** Wissensquellen und Wissensgruppen sind jetzt auf einer Seite zusammengeführt
* **Kanalübersicht:** Die Kanäle haben einen gänzlich neuen Look erhalten – der Erstellungsprozess bleibt im Kern gleich

***

### Neue Features / Neu

**Voice**

* Der Voice-Kanal wurde um weitere Stimmen (xAI) ergänzt.

**Export**

* Die KI-Einstellung "Generative KI" wird nun geloggt und kann über die Rohdaten ausgewertet werden. Das [Datenmodell](/epic-ai-platform/epic-ai-platform/ai-agent/statistiken/export-and-datenmodell#datenmodell) wurde entsprechend ergänzt.

### Änderungen / Verbessert

* Umfangreiche Performanceupdates
* Sicherheitsupdates

**Flow Builder**

* Verzögerungsschritte haben eine zusätzliche Einstellung erhalten. Es kann nun entschieden werden, ob das Abschließen der Konversation zum Abbruch der Verzögerung führen soll.

#### Bugfixes / Behoben <a href="#bugfixes-behoben" id="bugfixes-behoben"></a>

* Es war möglich mit Verzögerungs-Schritten unendliche Loops zu bauen. Das Verhalten wurde unterbunden.
* Das Verhalten von A/B-Splits war mit der Einstellung "Nutzer an dieselbe Variante weiterleiten" teilweise inkorrekt.&#x20;


# 1.0.29

Veröffentlicht am 01.07.2026

### Neue Features / Neu

**Kanäle**

* **Neuer Kanal:** Wir bieten die Anbindung von Microsoft Exchange nun bequem über die Oberfläche an. Zur Anbindung wird das *Admin-Consent-*&#x56;erfahren von Microsoft genutzt.
* Die Stimmauswahl unseres Voice-Kanals wurde um weitere Stimmen in allen Sprachen ergänzt.

**Wissen – Website-Crawling**

* Das Wissen unterstützt jetzt Website-Crawling. Ausgehend von einer Start-URL können Unterseiten automatisch erfasst und als Quelle verwendet werden.

***

### Änderungen / Verbessert

* Performanceupdates
* Sicherheitsupdates

**Statistik**

* Schrittnamen werden zum Zeitpunkt der Ausführung gespeichert. Wird ein Schritt später umbenannt, bleibt in älteren Statistik-Einträgen der vorherige Name erhalten. Wird ein Schritt gelöscht, bleibt der Name erhalten. Gelöschte Schritte werden mit einem Gelöscht-Badge gekennzeichnet.

**Export**

* Das Datenmodell wurde um zwei Spalten erweitert: `label` und `flow_label`. Diese enthalten den Namen eines ausgeführten Schrittes sowie des dazugehörigen Flows.

**Apps**

* Apps kann nun ein eigenes Erscheinungsbild gegeben werden: App-Module können so zur besseren Übersicht mit individuellen Farben sowie Logos versehen werden. Die Konfiguration wird auf Workspace-Ebene vorgenommen und gilt sofort für alle verwendeten Module.


# 1.0.28

Veröffentlicht am 10.06.2026

### Neue Features / Neu

**Ende-Schritt**

* Mit dem Ende-Schritt kannst du einen Flow im Bot-Builder explizit beenden und optional die Konversation schließen. Über ein konfigurierbares Textfeld (Payload) lässt sich zusätzlich ein Wert für statistische Auswertungen mitgeben.

#### Änderungen / Verbessert <a href="#anderungen-verbessert" id="anderungen-verbessert"></a>

**Inbox-Benachrichtigungen**

* Die Performance der Benachrichtigungen wurde optimiert. Zusätzlich können Benachrichtigungen nun auch dann ausgelöst werden, wenn Unterhaltungen einem Team zugewiesen werden.

**Allgemein**

* Sicherheitsupdates
* Performanceupdates

#### Bugfixes / Behoben <a href="#bugfixes-behoben" id="bugfixes-behoben"></a>

**Epic AI Copilot**

* War eine andere Standardsprache als Deutsch eingestellt, kam es zu Problemen mit unserem Epic AI Copiloten. Das Verhalten wurde korrigiert und andere Standardsprachen werden korrekt unterstützt.

​


# 1.0.27

Veröffentlicht am 21.05.2026

### Änderungen / Verbessert

**Allgemein**

* Sicherheitsupdates
* Performanceupdates

**API-Dokumentation**

* Wir haben zwei neue Endpunkte für custom views bereitgestellt. Mit diesen lassen sich die Konversationen in einer View sowie deren Anzahl zurückgeben.&#x20;

**Modelltraining**

* Der Trainingsablauf wurde optimiert. Zusätzlich unterbindet die Oberfläche aktiv das erneute Anstoßen eines Trainings, wenn bereits eines läuft.


# 1.0.26

Veröffentlicht am 07.05.2026

### Änderungen / Verbessert

* API-Dokumentation der Variablen-Endpunkte um eine klare Beschreibung des Rückgabe-Scopes ergänzt.
* LeadAI: Hinweis ergänzt, dass Tool-Namen keine Leerzeichen enthalten dürfen.

### Bugfixes / Behoben

* Webapp-Seiten laden nach längerer Inaktivität wieder zuverlässig – ein manueller Refresh ist nicht mehr nötig.
* Inbox: Die Auswahl der DataCards bleibt nach einem Chatwechsel oder Seitenreload erhalten.
* LeadAI-Step mit „Benutzerdefiniert = 0" löst nun auch beim direkten Einstieg ohne vorherige Nutzereingabe korrekt aus (insbesondere im Voice-Kanal relevant).


# 1.0.25

Veröffentlicht am 06.05.2026

### Änderungen / Verbessert

**Variablen**

* Das Variablenmodell wurde grundlegend erweitert: Benutzerdefinierte Variablen lassen sich nun entweder der Kategorie **Konversation** oder **Kontakt** zuordnen. Der Geltungsbereich wird beim Anlegen der Variable festgelegt und kann im Nachhinein nicht mehr geändert werden.
  * **Konversation:** Die Variable gilt nur für die aktuelle Konversation. Nach dem Ende einer Unterhaltung wird der Wert nicht weiter gespeichert.
  * **Kontakt:** Die Variable ist dem Kontakt dauerhaft zugeordnet. Ihr Wert bleibt über mehrere Konversationen hinweg erhalten und steht beim nächsten Kontakt wieder zur Verfügung.
* Die Kategorienbezeichnungen im Variablen-Picker wurden angepasst: „Unterhaltung" heißt jetzt **Konversation**, „Benutzer" heißt jetzt **Kontakt**. Die Suche im Variablen-Picker zeigt die Kategorie entsprechend an.


# 1.0.24

Veröffentlicht am 24.04.2026

### Neue Features / Neu

**Benutzerrollen**

* Es wurde eine neue Benutzerrolle auf Agent-Ebene hinzugefügt. Die Rolle "Statistik-Betrachter" gewährt  Lesezugriff auf alle Statistiken des jeweiligen Bots. Alle anderen Bereiche der Plattform sind nicht zugänglich.

  * **Anwendungsfall:** Ideal für externe Dienstleister oder Supervisoren, die Auswertungen einsehen, aber keine Konfigurationen vornehmen oder Konversationen einsehen sollen.

**(Inbox) Widgets**

Mit Inbox Widgets lassen sich Variablen in Karten sammeln und direkt in der Inbox pflegen. Die Widgets erscheinen in der rechten Seitenleiste einer Konversation und können von Agents gelesen und befüllt werden.

* **Konfiguration**: Widgets können von Admins und Inhabern eingerichtet werden. Die konfigurierten Karten stehen allen Inbox-Benutzern zur Verfügung und können individuell ein- oder ausgeblendet werden. Die Position kann dabei von jedem Benutzenden frei konfiguriert werden.
* **Datenpflege:** Felder lassen sich direkt in der Konversation bearbeiten. Schreibgeschützte Felder (Systemvariablen sowie Adminkonfiguration) sind visuell entsprechend gekennzeichnet.

### Änderungen / Verbessert

**Voice-Kanal**

* Unser Voice-Kanal wurde durch weitere Stimmen ergänzt.


# 1.0.23

Veröffentlicht am 16.04.2026

### Änderungen / Verbessert

**Gespräch führen & Prompt ausführen**

* Der mitgegebene Gesprächskontext lässt sich jetzt granular steuern. Über das Dropdown `Weitere Einstellungen → Gesprächsverlauf als Kontext nutzen` legst du fest, wie viel Gesprächsverlauf an den Schritt übergeben wird. Je nach Schritttyp stehen unterschiedliche Optionen zur Verfügung:
  * **Gespräch führen:** Letzte Eingabe (Standard), Gesamter Gesprächsverlauf oder Benutzerdefiniert (0–N).
  * **Prompt ausführen:** Kein Gesprächsverlauf (Standard), Gesamter Gesprächsverlauf oder Benutzerdefiniert (0–N).
  * Hinweis: Die Einstellung betrifft nur den Kontext von außerhalb des Schritts. Der Kontext innerhalb des aktuellen Schritts bleibt immer erhalten.




---

[Next Page](/llms-full.txt/1)

