> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ouraicalling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Knotenreferenz

> Alle Knotentypen im Flow Builder mit ihren Feldern und ihrem Verhalten

## Start

Einstiegspunkt jedes Flows. Legt die **Begrüßung** und den **Begrüßungsmodus** fest:

* `agent speaks first` – die Begrüßung wird gesprochen, sobald der Anruf verbunden ist (typisch bei eingehenden Anrufen).
* `user speaks first` – der Assistent wartet auf den Anrufer (typisch bei ausgehenden Anrufen: Die angerufene Person sagt zuerst „Hallo?“).

## Agent

Ein Konversationsagent mit eigenem **Namen**, eigenen **Anweisungen** und optionaler **Stimmen-Überschreibung**. Das Gespräch bleibt bei diesem Agenten, bis es über eine seiner ausgehenden Kanten übergeben wird.

* Jede ausgehende Kante wird zu einem **Übergabe-Tool**; die Kantenbezeichnung ist die Tool-Beschreibung, anhand derer das LLM entscheidet. Siehe [warum Bezeichnungen wichtig sind](/flow-builder/overview#why-edge-and-agent-labels-matter).
* Bei leeren Anweisungen dient der System-Prompt des Assistenten (Erweiterter Prompt) als Basis; der Knotentext wird **angehängt**, nicht ersetzt.
* Mit der Stimmen-Überschreibung können unterschiedliche Agenten mit unterschiedlichen Stimmen sprechen.

## Bedingung

Ein erzwungener Entscheidungspunkt. Du schreibst eine **Beschreibung** dessen, worüber entschieden wird; das LLM muss anhand der Kantenbezeichnungen genau eine ausgehende Kante wählen. Nutze diesen Knoten, wenn die Weiterleitung *jetzt* passieren muss – und nicht erst dann, wenn der Agent von sich aus übergeben möchte.

## Tool

Führt mitten im Gespräch ein zentral verwaltetes **API- oder integriertes Tool** aus und gibt das Ergebnis an das LLM zurück. Der Knoten speichert nur die Referenz aus der Tool-Bibliothek sowie flow-lokale Bindings und Übergänge. Endpunkt, Zugangsdaten, Beschreibung und wiederverwendbares Verhalten werden unter **Tools** bearbeitet.

| Feld                                                        | Zweck                                                                                                  |
| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `name` / `description`                                      | Wie das LLM versteht, was das Tool tut                                                                 |
| `url`, `method`, `headers`                                  | Die HTTP-Anfrage (GET/POST/PUT/PATCH/DELETE)                                                           |
| `params_schema`                                             | JSON-Schema der Parameter, die das LLM aus dem Gespräch extrahieren soll                               |
| `timeout_ms`                                                | Timeout für die Anfrage                                                                                |
| `speak_during`                                              | Ansage, die beim Start des Tools gesprochen wird                                                       |
| `async`                                                     | `true` → das Gespräch läuft weiter, während das Tool ausgeführt wird; das Ergebnis kommt als Follow-up |
| `filler_phrases`, `filler_delay_sec`, `filler_interval_sec` | Wechselnde Floskeln, die bei längeren Wartezeiten gesprochen werden                                    |

<Tip>
  Setze bei langlaufenden Webhooks (CRM-Einträge, Verfügbarkeitsprüfungen) `async` und hinterlege zwei oder drei Füllphrasen. So bleibt das Gespräch für den Anrufer flüssig, während die Anfrage im Hintergrund läuft.
</Tip>

## Transfer (blind)

Leitet den Anruf sofort an eine **Telefonnummer oder SIP-URI** weiter (SIP REFER), optional nach einer kurzen **Ansage**. Der Assistent verlässt den Anruf; die empfangende Person wird nicht eingewiesen.

## Warm Transfer

Die Premium-Übergabe: Der Anrufer bekommt **Wartemusik**, der Assistent ruft die Zielperson (eine Mitarbeiterin oder einen Mitarbeiter) an, **brieft sie mit einer KI-generierten Zusammenfassung** des bisherigen Gesprächs und verbindet die beiden erst danach. Die Zielperson kann annehmen oder ablehnen; Voicemail auf der Zielseite wird erkannt.

| Feld                     | Zweck                                                                                                                                                                                |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `number`                 | Ziel (E.164 oder `sip:`-URI)                                                                                                                                                         |
| `announcement_to_caller` | Was der Anrufer hört, bevor er in die Warteschleife kommt                                                                                                                            |
| `briefing_instructions`  | Zusätzliche Anweisungen, die dem automatischen Briefing hinzugefügt werden                                                                                                           |
| `ringing_timeout_sec`    | Wie lange die Zielperson klingeln soll (5–120 s, Standard 30)                                                                                                                        |
| `hold_music`             | Wartemusik während des Supervisor-Briefings (`true`/`false` oder Katalog-Track-ID vom Warm-Transfer-Tool)                                                                            |
| `fallback`               | Was passiert, wenn die Zielperson nicht abnimmt oder ablehnt: `continue` (Gespräch fortsetzen), `end` (Anruf beenden) oder `cold_transfer` (blinde Weiterleitung an dieselbe Nummer) |

Die Ergebnisse eines Warm Transfers (`started` / `completed` / `failed`) werden als Anrufereignisse erfasst.

## Collect

Strukturierte Datenerfassung mit **integrierter Validierung, Nachfrage und Bestätigung** – deutlich zuverlässiger, als darauf zu hoffen, dass das LLM eine E-Mail-Adresse korrekt transkribiert.

* **Typen:** `name`, `email`, `phone`, `address`, `date of birth`, `dtmf` (Ziffern über die Tastatur), `credit_card` (Zahlungskarte).
* **Variable** (erforderlich): Das Ergebnis wird unter diesem Namen gespeichert und im `call.completed`-Webhook mitgeliefert.
* **Prompt**: optionale zusätzliche Anweisungen zum integrierten Dialog.
* **Max. Versuche** (Standard 3): Nach dem letzten fehlgeschlagenen Versuch folgt der Flow der mit `failed` bezeichneten Kante, falls vorhanden.
* **DTMF-Ziffern**: bei Typ `dtmf`, wie viele Ziffern erfasst werden.
* **Zahlungskarte** (`credit_card`): setzt voraus, dass dem Assistenten das integrierte Tool **Zahlungskarte erfassen** zugewiesen ist (plangebunden) und ein verbundenes Stripe-Konto ausgewählt wurde. Während des Anrufs erfasst der Agent die Kartendaten sicher; die Plattform legt dafür eine Stripe Payment Method auf diesem Konto an. Gespeichert werden nur `card_last4` / `card_brand` / `stripe_payment_method_id` – nie PAN oder CVV. Verbinde Stripe zuerst unter Tools → App Store. Die Payment Method ID nutzt du später, um über Stripe abzurechnen.

## DTMF

Fordert den Anrufer auf, eine feste Anzahl **Ziffern auf der Telefontastatur** einzugeben (30 Sekunden Timeout). Nutze `collect` mit Typ `dtmf`, wenn du Validierung und Wiederholungsversuche brauchst; für schnelle Menüauswahlen reicht dieser einfachere Knoten.

## Ende

Beendet den Anruf, optional nach einer gesprochenen **Verabschiedung**. Gib deinen Flows immer ein explizites Ende – das sorgt für saubere Anruf-Status und verhindert, dass das Gespräch abdriftet, nachdem seine Aufgabe erledigt ist.

## Zentrale Tool-Bibliothek

**Knoten hinzufügen** öffnet eine durchsuchbare Tool-Bibliothek. Neue Knoten speichern eine stabile `user_tool_id`; wiederverwendbare Konfiguration wird nicht in den Flow kopiert:

| Registry-Tool            | Platzierung im Flow                                                           |
| ------------------------ | ----------------------------------------------------------------------------- |
| API                      | Allgemeiner **Tool**-Knoten                                                   |
| Anrufweiterleitung       | Eigener **Transfer**-Knoten                                                   |
| Warm Transfer            | Eigener **Warm Transfer**-Knoten                                              |
| DTMF-Eingabe             | Eigener **DTMF**-Knoten                                                       |
| Tasteneingaben erfassen  | Eigener **Collect**-Knoten                                                    |
| Andere integrierte Tools | Allgemeiner referenzierter **Tool**-Knoten                                    |
| MCP-Server               | Nur assistentenweite Zuweisung; kein einzelner deterministischer Flow-Schritt |

Über **In Tools bearbeiten** änderst du die wiederverwendbaren Einstellungen. Die Änderung gilt für jeden Assistenten und Flow mit dieser Referenz – bei laufenden Anrufen ab der nächsten sicheren Tool-Ausführung.

<Note>
  Tool-, Transfer-, Warm-Transfer-, DTMF- und Collect-Keypad-Knoten wählen immer ein zentrales Tool auf der Tools-Seite. Der Editor erstellt oder bearbeitet keine Inline-Tool-Konfigurationen. Eine nicht auflösbare, inaktive oder inkompatible Referenz folgt dem sicheren Fehlerpfad des Knotens und protokolliert `flow_tool_ref_unresolved`.
</Note>
