> For the complete documentation index, see [llms.txt](https://help.sipgate.de/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.sipgate.de/ai-agents/anbindungen-and-integrationen/live-call-funktionen.md).

# Live-Call-Funktionen

## Wie richte ich Live-Call-Funktionen für den AI-Agenten ein?

Für manche Anwendungsfälle benötigt Ihr AI-Agent während eines laufenden Calls aktuelle Daten aus externen Systemen – zum Beispiel Kundendaten aus Ihrem CRM oder Live-Verfügbarkeiten aus Ihrem Kalender. Die Live-Call-Funktionen ermöglichen genau das: Sie verbinden Ihren AI-Agenten über einen MCP-Server mit einem System Ihrer Wahl.

MCP steht für *Model Context Protocol* – eine standardisierte Schnittstelle, über die AI-Agenten mit externen Diensten kommunizieren können.

{% hint style="info" %}
**Voraussetzung:** Sie benötigen einen erreichbaren MCP-Server.
{% endhint %}

***

### Schritt 1: MCP-Server hinterlegen

<figure><img src="/files/9nNcqk7UWujXu08pzwL9" alt=""><figcaption></figcaption></figure>

1. Öffnen Sie in app.sipgate.com den gewünschten AI-Agenten.
2. Wechseln Sie zum Tab **Integrationen**.
3. Klicken Sie im Bereich **Live-Call-Funktionen** auf **Hinzufügen**.
4. Füllen Sie das Formular aus:
   * **Name (optional):** Ein interner Anzeigename für den Server.
   * **URL:** Die HTTPS-Adresse Ihres MCP-Servers.
   * **Token (optional):** Ein Authentifizierungstoken, falls Ihr Server eine Absicherung erfordert.
5. Klicken Sie auf **Speichern**. sipgate verbindet sich automatisch mit dem Server und prüft die Verbindung.

{% hint style="warning" %}
**Achtung:** Die URL muss mit `https://` beginnen. Verbindungen ohne TLS werden nicht akzeptiert.
{% endhint %}

***

### Schritt 2: Tools des MCP-Servers prüfen

Nach erfolgreicher Verbindung zeigt sipgate die vom Server bereitgestellten Tools in der Übersicht an. Prüfen Sie dort:

* **Toolname:** Darf maximal **28 Zeichen** lang sein. Längere Namen werden in der Übersicht als Fehler markiert und können dazu führen, dass der AI-Agent das Tool nicht zuverlässig nutzt.
* **Tool-Beschreibungen:** Die Beschreibungen werden vom MCP-Server empfangen und übernommen. Je präziser die Beschreibung, desto besser erkennt der AI-Agent, wann er das Tool einsetzen soll. Passen Sie – wenn möglich – die Tool-Beschreibung seitens des MCP-Servers an.
* **Parameter:** Jeder Parameter sollte ebenfalls eine aussagekräftige Beschreibung haben. Die Informationen in welchem Format (string, array, etc.) dieser vom MCP Server erwartet wird und ob dieser optional oder erforderlich sind für einen erfolgreichen Austausch zwischen Agent und MCP-Server entscheidend.

{% hint style="info" %}
**Tipp:** Die Beschreibung ist der wichtigste Teil eines Tools – sie ist das einzige, woraus der Agent ableitet, wann und wie er das Tool einsetzt.

Eine gute Beschreibung:

* nennt klar den **Zweck** des Tools
* erklärt ggf. **Einschränkungen** (z.B. maximal 3 Ergebnisse, nur Werktage)
* vermeidet technisches Implementierungs-Wissen (was im Hintergrund passiert, ist für den Agenten irrelevant)

Eine schlechte Beschreibung ist zu allgemein oder fehlt ganz. Der Agent wird das Tool dann falsch oder gar nicht einsetzen.
{% endhint %}

***

### Schritt 3: MCP-Server in Ihr [Playbook](/ai-agents/verhalten/playbooks.md#wie-funktionieren-playbooks) integrieren

<figure><img src="/files/O0TurMEBHqbi46LfJCup" alt=""><figcaption></figcaption></figure>

Der AI-Agent arbeitet zielorientiert. Beschreiben Sie im Playbook, **was er erreichen soll** – nicht, wie er Schritt für Schritt vorgehen soll.

**Gut:** „Ermittle die Kundennummer des Anrufers anhand seiner Telefonnummer `get_customer` und begrüße ihn mit seinem Namen `get_name`."

**Weniger gut:** „1. Ruf das Tool `get_customer` auf. 2. Speichere die ID. 3. Ruf dann `get_name` auf …"

Der AI-Agent entscheidet selbst, welche Tools er in welcher Reihenfolge nutzt, um das Ziel zu erreichen.

{% hint style="warning" %}
**Achtung:** Geschäftslogik, Validierung und State-Management gehören nicht in das Playbook – das ist Aufgabe des MCP-Servers. Das Playbook beschreibt Ziele, der MCP-Server stellt die Werkzeuge bereit.
{% endhint %}

***

### Beispiel: [Playbook](/ai-agents/verhalten/playbooks.md#wie-funktionieren-playbooks)-Struktur für eine Terminbuchung

Bedigungen für das Playbook: Wenn der Nutzer einen Termin buchen möchte oder nach freien Terminen fragt.

<table><thead><tr><th width="46.76995849609375">#</th><th width="168.4600830078125">Aufgaben-Name</th><th width="416.78045654296875">Beschreibung</th><th align="center">Summary</th></tr></thead><tbody><tr><td>1</td><td><strong>Tageszeit erfragen</strong></td><td>Frage den Nutzer, zu welchem Tagesabschnitt er den Termin bevorzugt. Die vier Optionen sind: <code>vormittag</code>, <code>mittag</code>, <code>nachmittag</code> oder <code>abend</code>. Merke dir die Antwort als <code>preferred_timeslot</code> für alle weiteren Tool-Aufrufe.</td><td align="center">✅</td></tr><tr><td>2</td><td><strong>Terminvorschläge holen</strong></td><td>Rufe <code>get_next_suggestions</code> mit der gemerkten <code>preferred_timeslot</code> auf. Präsentiere dem Nutzer die zurückgegebenen Terminvorschläge mit Datum und Uhrzeit.</td><td align="center">❌</td></tr><tr><td>3</td><td><strong>Slot bestätigen oder Alternative</strong></td><td>Frage den Nutzer: Passt einer der Vorschläge? Möchte er einen speziellen Tag nennen? Oder passt keiner der Vorschläge?<br>• Slot gewählt → merke Termin, weiter zu Task 5 (Vorname erfassen)<br>• Spezieller Tag → weiter zu Task 4 (Tag erfragen &#x26; Tagesvorschläge)<br>'• Keiner passt → zurück zu Task 2 (Terminvorschläge holen)</td><td align="center">✅</td></tr><tr><td>4</td><td><strong>Tag erfragen &#x26; Tagesvorschläge</strong></td><td>Frage nach dem gewünschten Datum. Rufe <code>get_suggestions_for_day</code> auf und präsentiere die Vorschläge. Kehre zur Logik von Task 3 zurück.<br><br><strong>Fehlerbehandlung:</strong><br>• invalid date format → Erkläre dem Nutzer, dass das Datum nicht erkannt wurde, und frage erneut nach einem gültigen Datum (Format: TT.MM.JJJJ)<br>• Datum zu weit in der Zukunft → Informiere den Nutzer, dass maximal 2 Monate im Voraus gebucht werden kann, und frage nach einem näheren Datum<br>• Sonstiger Fehler → Erkläre das Problem und kehre zu Task 3 (Slot bestätigen oder Alternative) zurück, damit der Nutzer einen anderen Tag wählen oder neue Vorschläge anfordern kann</td><td align="center">❌</td></tr><tr><td>5</td><td><strong>Vorname erfassen</strong></td><td>FALLS der Vorname noch nicht bekannt ist: Frage gezielt danach. FALLS bereits bekannt: überspringe diesen Task.</td><td align="center">✅</td></tr><tr><td>6</td><td><strong>Nachname erfassen</strong></td><td>FALLS der Nachname noch nicht bekannt ist: Frage gezielt danach. FALLS bereits bekannt: überspringe diesen Task.</td><td align="center">✅</td></tr><tr><td>7</td><td><strong>Telefonnummer erfassen</strong></td><td>Die Rufnummer des Anrufers steht im Kontext unter „Nutzer mit der Rufnummer: …" — diese direkt verwenden, NICHT danach fragen. Nur falls dieser Eintrag fehlt oder der Anrufer anonym ist: Frage gezielt nach der Telefonnummer.</td><td align="center">✅</td></tr><tr><td>8</td><td><strong>Kontaktdaten bestätigen</strong></td><td>Lies Vorname, Nachname und Telefonnummer noch einmal vor und bitte um Bestätigung. Falls der Nutzer eine Korrektur vornimmt: Übernimm die Korrektur und lies die Daten erneut vor.</td><td align="center">❌</td></tr><tr><td>9</td><td><strong>Termin buchen</strong></td><td>Rufe <code>book_appointment</code> auf mit den Termin-Daten (start, end) und den Kontaktdaten (firstname, lastname, phone). FALLS Buchung erfolgreich (<code>success: true</code>): Bestätige die Buchung mit Datum und Uhrzeit und fahre mit Task 10 (Bedanken &#x26; verabschieden) fort.<br><br><strong>Fehlerbehandlung:</strong><br>• Slot vergeben (409 / „no longer available") → Informiere den Nutzer, dass der Slot inzwischen vergeben ist, und kehre zu Task 2 (Terminvorschläge holen) zurück<br>• Sonstiger Fehler → Erkläre dem Nutzer kurz, dass etwas schiefgelaufen ist, und frage ob er einen anderen Termin wählen möchte (zurück zu Task 3 – Slot bestätigen oder Alternative) oder ob er es später nochmals versuchen möchte</td><td align="center">✅</td></tr><tr><td>10</td><td><strong>Bedanken &#x26; verabschieden</strong></td><td>Bedanke dich beim Nutzer für das Gespräch und wünsche ihm einen schönen Tag. Keine weiteren Angebote machen.</td><td align="center">❌</td></tr></tbody></table>

### Verbindung aktualisieren

Wenn Sie Ihren MCP-Server aktualisiert haben (z. B. neue Tools hinzugefügt), klicken Sie in der Live-Call-Funktionen-Übersicht ihres Agents unter **Integrationen** auf den Button **... → Aktualisieren** und die aktuelle Tooliste wird neu abgerufen.

### Live-Call-Funktionen testen

Es empfehlen sich manuelle Testanrufe, bei denen das Playbook aktiv genutzt wird. Dabei prüfen:

* Triggert der Agent die richtigen Tools?
* Werden die Parameter korrekt befüllt?
* Reagiert der Agent sinnvoll auf Fehlermeldungen des Servers?

***

### Sicherheitshinweise

Beachten Sie bei der Einrichtung Ihres MCP-Servers folgende Punkte:

* **Zugriffsrechte:** Läuft Ihr MCP-Server mit Admin-Rechten auf ein Drittsystem, hat der AI-Agent potenziell weitreichenden Zugriff. Vergeben Sie nur die minimal notwendigen Berechtigungen.
* **Identitätsprüfung:** Überlegen Sie, welche Informationen ein Anrufer abfragen kann – und ob eine zusätzliche Authentifizierung für sensible Operationen sinnvoll ist.
* **Eingabevalidierung:** Validieren Sie alle Eingaben serverseitig. Verlassen Sie sich nicht darauf, dass der AI-Agent nur erwartete Werte übergibt.
* **Datenweitergabe:** Stellen Sie sicher, dass Ihr Server keine Daten an unberechtigte Dritte ausgeben kann – z. B. durch ungeprüfte Rückgabewerte.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.sipgate.de/ai-agents/anbindungen-and-integrationen/live-call-funktionen.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
