> 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/en/connections-and-integrations/datenabruf-bei-anrufbeginn.md).

# Data retrieval at call start

### When does this make sense?

Data retrieval at call start is suitable for content that changes frequently or varies by call. Typical use cases:

* **Current availability** query (e.g. available appointments, stock levels)
* **CRM data** or load customer history
* **Same-day instructions** (e.g. special opening hours, promotions)
* **Past interactions** make available to the caller

{% hint style="info" %}
**Note:** The initial data retrieval is intended for specific information about the current call. It does not replace a general knowledge base and is not suitable for extensive content such as PDFs, websites, or documentation. For persistent agent knowledge, use the file upload in the **Knowledge**.
{% endhint %}

### Requirements

* A URL that can be reached via HTTP or HTTPS (HTTPS recommended).
* The endpoint should respond quickly; retrieval takes place at call start.
* The response is embedded as text in the conversation context. Ideally, return well-structured, concise content.

{% hint style="warning" %}
**Important:** Do not use a publicly accessible URL. At present, there is no authentication between sipgate and the connected server. Otherwise, unauthorized third parties could use the endpoint and retrieve transmitted caller data.

Restrict access server-side to the following sipgate IP addresses:

* `217.116.118.254`
* `212.9.46.32`

For example, use an allowlist. This ensures that the server can verify that requests to the endpoint actually come from sipgate.
{% endhint %}

{% hint style="info" %}
**Note:** The server response should contain data only. Prompt instructions or behavioral rules should not be passed via the server response. They will be ignored or not processed reliably.
{% endhint %}

### How to set up data retrieval

{% stepper %}
{% step %}
**Open the configuration of your AI Agent**
{% endstep %}

{% step %}
**Go to the “Integrations” menu item**
{% endstep %}

{% step %}
**Find the “Data retrieval at call start” section and click the gear icon**
{% endstep %}

{% step %}
**In the “Configure data retrieval” dialog, enter the desired URL.**

Optionally, you can also enable “Force retrieval” so that the retrieval must succeed for the call to be able to take place at all
{% endstep %}

{% step %}
**Click “Save”**
{% endstep %}
{% endstepper %}

The configured URL will then appear directly in the user interface. The content will be retrieved automatically on the next incoming call.

### Which return formats does the agent support?

The agent can only process information from third-party applications if it is returned in a readable text format. The agent cannot directly read PDF files, websites, or other file formats.

**Supported are:** Plain text, Markdown, JSON

The desired return format must be specified in the request to the third-party application. The connected server must return the response in this format and set the appropriate [`Content-Type`header ](ttps://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Type) .

Examples:

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

### Which parameters are passed to the server?

During the initial data retrieval, the agent can pass information to the connected server so that suitable data about the current call or earlier conversations can be found there.

The following parameters are passed:

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

**`callerNumber`**\
The phone number of the calling person.

**`destinationNumber`**\
The phone number that the agent was called on. If multiple phone numbers are assigned to the agent, only the phone number of the current call is passed.

**`sessionId`**\
The unique ID of the current call. This ID allows the server to clearly assign the data retrieval to a specific conversation. The `sessionId` can also be used for live integrations. This allows the server to recognize the same call across multiple requests, for example between the initial data retrieval and later live queries during the conversation.

**`assistantId`**\
The internal ID of the agent. This ID is uniquely assigned to an agent and helps the server distinguish between multiple agents.

The connected server must be able to process these parameters and provide the relevant information in the supported return format.

### Option: “Force retrieval”

With the checkbox **Force retrieval** you decide how strictly the agent should handle errors with this retrieval:

* **Disabled** (default): If the URL is unreachable, the call is still connected — just without the dynamic context.
* **Enabled:** If the URL is unreachable, the call is rejected. Only choose this option if the context is essential for the call (e.g. if no meaningful conversation is possible without CRM data).

### Remove data retrieval again

If data retrieval should no longer take place:

1. Open the configuration dialog again using the gear icon.
2. Click **Delete data retrieval**.
3. In the dialog that follows, confirm with **Delete permanently**.

After that, the section will show the status **Inactive**. No more data retrieval will take place for future calls.

### Frequently asked questions

<details>

<summary><strong>How long may the endpoint take to respond?</strong></summary>

As short as possible. Data retrieval takes place synchronously at the start of the call. Long response times can therefore delay the start of the conversation.

Retrieval starts while the phone is still ringing and usually takes 2–5 seconds. If no data is available after 5 seconds, the agent continues the conversation without this information.

**What happens if the 5 seconds are exceeded?**

If the endpoint does not respond within 5 seconds, the data retrieval is canceled. The agent then starts the conversation without the requested information. This can happen, for example, if the connected third-party application responds slowly. The transcript does not note whether the data retrieval failed.

</details>

<details>

<summary><strong>What happens if I change the URL?</strong></summary>

The new URL will be retrieved automatically on the next incoming call. There is no cache that needs to be cleared first.

</details>

<details>

<summary><strong>Does this work with any URLs?</strong></summary>

The URL must be reachable via HTTP or HTTPS and contain a valid top-level domain. Entries without a protocol such as `my-company.de` are automatically prefixed with `https://` when saved.

</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/en/connections-and-integrations/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.
