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

# Custom HTTP Tools

> Ermögliche deinen KI-Agenten, während Gesprächen externe APIs aufzurufen

Custom Tools ermöglichen es deinen KI-Agenten, auf externe Informationen zuzugreifen, indem sie sich mit deinen APIs verbinden.

## So funktioniert es

```mermaid theme={null}
sequenceDiagram
    participant Customer
    participant AI Agent
    participant Your API

    Customer->>AI Agent: "What's my account balance?"
    AI Agent->>Customer: "Let me look that up. What's your account number?"
    Customer->>AI Agent: "ACC-12345"
    AI Agent->>Your API: GET /balance?account=ACC-12345
    Your API-->>AI Agent: {"balance": 1250.50, "currency": "USD"}
    AI Agent->>Customer: "Your current balance is $1,250.50"
```

## Einrichtung

<Steps>
  <Step title="Zu den Agenten-Einstellungen navigieren">
    Gehe zu den Einstellungen deines Agenten
  </Step>

  <Step title="Custom Tool hinzufügen">
    Klicke im Bereich Tools auf **+ Add**, um ein neues Custom Tool zu erstellen
  </Step>

  <Step title="Grundeinstellungen konfigurieren">
    Fülle die Konfiguration aus:

    | Feld                 | Beschreibung                                             |
    | -------------------- | -------------------------------------------------------- |
    | **Name**             | Bezeichner für dein Tool (z. B. `check_account_balance`) |
    | **Description**      | Was das Tool macht und wann es verwendet werden soll.    |
    | **HTTP Method**      | GET, POST, PUT, PATCH oder DELETE                        |
    | **URL**              | Dein API-Endpoint (muss HTTPS verwenden)                 |
    | **Response Timeout** | 1-10 Sekunden                                            |
  </Step>

  <Step title="Parameter hinzufügen">
    Konfiguriere Header, Query-Parameter und Request-Body mit den unten aufgeführten
    Werttypen
  </Step>

  <Step title="System-Prompt aktualisieren (optional)">
    Füge Geschäftsregeln und Gesprächsabläufe für die Nutzung des Tools im System-Prompt deines Agenten hinzu
  </Step>
</Steps>

## Werttypen

Verwende diese Werttypen für Header, Query-Parameter und Request-Body:

| Typ                 | Beschreibung                   | Anwendungsfall               |
| ------------------- | ------------------------------ | ---------------------------- |
| **Constant**        | Statische Werte                | Feste Konfiguration          |
| **System Variable** | Kontakt-/Anrufdaten            | Kunden-E-Mail, Telefonnummer |
| **LLM Parameter**   | KI-extrahiert aus dem Gespräch | Kontonummern, Produkt-IDs    |
| **Secret**          | Verschlüsselte sensible Daten  | Auth-Tokens, Passwörter      |

### System Variable

Um Kontakt- und Anrufdaten zu deiner Anfrage hinzuzufügen, kannst du zwei verfügbare Typen verwenden:

**Standardfelder:** Eingebaute Kontakt- und Anrufinformationen

* `contact.firstName`, `contact.lastName`, `contact.phoneNumber`, `contact.externalId`
* `call.id`

Verwende das Dropdown in der Benutzeroberfläche, um alle verfügbaren Variablen zu durchsuchen.

**Contact Details:** Benutzerdefinierte Felder, die du pro Kontakt definierst (Zugriff über `contact.contactDetails.*`)

* Beispiel: `contact.contactDetails.customerId`, `contact.contactDetails.accountTier`

### LLM Parameter

Die KI extrahiert diese Werte aus dem Gespräch, indem sie Fragen stellt oder aus dem Kontext ableitet. Wenn du einen LLM Parameter konfigurierst, gibst du Folgendes an:

* **Name**: Der Parametername in der API-Anfrage
* **Description**: Anweisungen für die KI, was extrahiert werden soll und das erwartete Format
* **Data Type**: String, Number oder Boolean

Die KI nutzt die Description, um zu verstehen, wann und wie sie diese Information vom Kunden erfassen soll.

**Beispiel:** Ein Parameter namens `account_number` mit der Beschreibung "Customer's account number (format: ACC-12345)" weist die KI an, eine Kontonummer in diesem Format abzufragen und zu extrahieren.
