> 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/datenabruf-bei-anrufbeginn.md).

# Datenabruf bei Anrufbeginn

### Wann ist das sinnvoll?

Der Datenabruf bei Anrufbeginn eignet sich für Inhalte, die sich häufig ändern oder pro Anruf unterschiedlich sind. Typische Anwendungsfälle:

* **Aktuelle Verfügbarkeiten** abfragen (z. B. freie Termine, Lagerbestände)
* **CRM-Daten** oder Kundenhistorie laden
* **Tagesaktuelle Anweisungen** (z. B. Sonderöffnungszeiten, Aktionen)
* **Vergangene Interaktionen** mit dem Anrufenden verfügbar machen

{% hint style="info" %}
**Hinweis:** Der initiale Datenabruf ist für konkrete Informationen zum aktuellen Anruf gedacht. Er ersetzt keine allgemeine Wissensbasis und eignet sich nicht für umfangreiche Inhalte wie PDFs, Webseiten oder Dokumentationen. Für dauerhaftes Agenten-Wissen nutzen Sie den Datei-Upload im Bereich **Wissen**.
{% endhint %}

### Voraussetzungen

* Eine URL, die per HTTP oder HTTPS erreichbar ist (HTTPS empfohlen).
* Der Endpunkt sollte schnell antworten, der Abruf erfolgt beim Anrufbeginn.
* Die Antwort wird als Text in den Gesprächskontext eingebettet. Liefern Sie idealerweise gut strukturierte, kompakte Inhalte zurück.

{% hint style="warning" %}
**Wichtig:** Nutzen Sie keine öffentlich auffindbare URL. Aktuell erfolgt keine Authentifizierung zwischen sipgate und dem angebundenen Server. Andernfalls könnten unbefugte Dritte den Endpunkt verwenden und übermittelte Anruferdaten abrufen.

Beschränken Sie den Zugriff serverseitig auf folgende sipgate IP-Adressen:

* `217.116.118.254`
* `212.9.46.32`

Nutzen Sie dafür zum Beispiel eine Allowlist. So stellt der Server sicher, dass Anfragen an den Endpunkt tatsächlich von sipgate kommen.
{% endhint %}

{% hint style="info" %}
**Hinweis:** Die Antwort des Servers sollte ausschließlich Daten enthalten. Prompt-Anweisungen oder Verhaltensregeln sollten nicht über die Server-Antwort übergeben werden. Sie werden ignoriert oder nicht zuverlässig verarbeitet.
{% endhint %}

### So richten Sie den Datenabruf ein

{% stepper %}
{% step %}
**Öffnen Sie die Konfiguration Ihres AI Agents**
{% endstep %}

{% step %}
**Wechseln Sie zum Menüpunkt „Integrationen“**
{% endstep %}

{% step %}
**Suchen Sie den Abschnitt „Datenabruf bei Anrufbeginn“ und klicken Sie auf das Zahnrad-Symbol**
{% endstep %}

{% step %}
**Geben Sie im Dialog „Datenabruf konfigurieren“ die gewünschte URL ein.**

Optional können Sie auch „Abruf erzwingen“ aktivieren, damit der Abruf zwingend erfolgreich sein muss, damit der Anruf überhaupt stattfinden kann
{% endstep %}

{% step %}
**Klicken Sie auf „Speichern“**
{% endstep %}
{% endstepper %}

Die konfigurierte URL erscheint anschließend direkt in der Benutzeroberfläche. Beim nächsten eingehenden Anruf werden die Inhalte automatisch abgerufen.

### Welche Rückgabeformate unterstützt der Agent?

Der Agent kann Informationen aus Drittanwendungen nur verarbeiten, wenn sie in einem lesbaren Textformat zurückgegeben werden. PDF-Dateien, Webseiten oder andere Dateiformate kann der Agent nicht direkt auslesen.

**Unterstützt werden:** Plain Text, Markdown, JSON

Das gewünschte Rückgabeformat muss in der Anfrage an die Drittanwendung angegeben werden. Der angebundene Server muss die Antwort in diesem Format zurückgeben und den passenden [`Content-Type`-Header ](ttps://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Type)setzen.

Beispiele:

* Plain Text: `Content-Type: text/plain`
* Markdown: `Content-Type: text/markdown`
* JSON: `Content-Type: application/json`

### Welche Parameter werden an den Server übergeben?

Der Agent kann beim initialen Datenabruf Informationen an den angebundenen Server übergeben, damit dort passende Daten zum aktuellen Anruf oder zu früheren Gesprächen gefunden werden können.

Folgende Parameter werden übergeben:

```json
{
  "callerNumber": "+4915XXXXXXXXX",
  "destinationNumber": "4930xxxxxxx",
  "sessionId": "pbx-<RANDOM_UUID>",
  "assistantId": "<ASSISTANT_ID>"
}
```

**`callerNumber`**\
Die Rufnummer der anrufenden Person.

**`destinationNumber`**\
Die Rufnummer, über die der Agent angerufen wurde. Wenn dem Agent mehrere Rufnummern zugewiesen sind, wird trotzdem nur die Rufnummer des aktuellen Anrufs übergeben.

**`sessionId`**\
Die eindeutige ID des aktuellen Anrufs. Über diese ID kann der Server den Datenabruf eindeutig einem bestimmten Gespräch zuordnen. Die `sessionId` kann außerdem für Live-Anbindungen verwendet werden. So kann der Server denselben Anruf über mehrere Abfragen hinweg wiedererkennen, zum Beispiel zwischen dem initialen Datenabruf und späteren Live-Abfragen während des Gesprächs.

**`assistantId`**\
Die interne ID des Agents. Diese ID ist eindeutig einem Agent zugeordnet und hilft dem Server, zwischen mehreren Agents zu unterscheiden.

Der angebundene Server muss diese Parameter verarbeiten können und die passenden Informationen im unterstützten Rückgabeformat bereitstellen.

### Option: „Abruf erzwingen“

Mit der Checkbox **Abruf erzwingen** entscheiden Sie, wie strikt der Agent mit Fehlern bei diesem Abruf umgehen soll:

* **Deaktiviert** (Standard): Ist die URL nicht erreichbar, wird der Anruf trotzdem durchgestellt — einfach ohne den dynamischen Kontext.
* **Aktiviert:** Ist die URL nicht erreichbar, wird der Anruf abgelehnt. Wählen Sie diese Option nur, wenn der Kontext für den Anruf unverzichtbar ist (z. B. wenn ohne CRM-Daten kein sinnvolles Gespräch möglich ist).

### Datenabruf wieder entfernen

Soll der Datenabruf nicht mehr stattfinden:

1. Öffnen Sie über das Zahnrad-Symbol erneut den Konfigurationsdialog.
2. Klicken Sie auf **Datenabruf löschen**.
3. Bestätigen Sie im darauffolgenden Dialog mit **Endgültig löschen**.

Anschließend zeigt der Abschnitt wieder den Status **Inaktiv**. Bei kommenden Anrufen findet kein Datenabruf mehr statt.

### Häufige Fragen

<details>

<summary><strong>Wie lange darf der Endpunkt für die Antwort brauchen?</strong></summary>

So kurz wie möglich. Der Datenabruf erfolgt synchron zu Beginn des Anrufs. Lange Antwortzeiten können deshalb den Gesprächsstart verzögern.

Der Abruf startet bereits während des Klingelns und dauert in der Regel 2–5 Sekunden. Wenn nach 5 Sekunden keine Daten verfügbar sind, führt der Agent das Gespräch ohne diese Informationen fort.

**Was passiert, wenn die 5 Sekunden überschritten werden?**

Wenn der Endpunkt nicht innerhalb von 5 Sekunden antwortet, wird der Datenabruf abgebrochen. Der Agent startet das Gespräch dann ohne die angefragten Informationen. Das kann zum Beispiel passieren, wenn die angebundene Drittanwendung langsam antwortet. Im Transkript wird nicht vermerkt, ob der Datenabruf fehlgeschlagen ist.

</details>

<details>

<summary><strong>Was passiert, wenn ich die URL ändere?</strong></summary>

Beim nächsten eingehenden Anruf wird automatisch die neue URL abgerufen. Es gibt keinen Cache, der vorher geleert werden müsste.

</details>

<details>

<summary><strong>Funktioniert das mit beliebigen URLs?</strong></summary>

Die URL muss per HTTP oder HTTPS erreichbar sein und eine gültige Top-Level-Domain enthalten. Eingaben ohne Protokoll wie `meine-firma.de` werden beim Speichern automatisch um `https://` ergänzt.

</details>


---

# 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, and the optional `goal` query parameter:

```
GET https://help.sipgate.de/ai-agents/anbindungen-and-integrationen/datenabruf-bei-anrufbeginn.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
