> 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?

Initial data retrieval at call start is suitable for content that changes frequently or differs from call to call. Typical use cases:

* **Current availability** query (e.g., available appointments, inventory levels)
* **CRM data** or load customer history
* **Daily 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 concrete 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 permanent agent knowledge, use the file upload in the section **Knowledge**.
{% endhint %}

### Requirements

* A URL reachable via HTTP or HTTPS (HTTPS recommended).
* The endpoint should respond quickly; retrieval happens at call start.
* The response is embedded as text in the conversation context. Ideally, return well-structured, compact content.

{% hint style="warning" %}
**Important:** Do not use a publicly accessible URL — otherwise third parties could retrieve the caller data that is transmitted.
{% endhint %}

### How to set up data retrieval

{% stepper %}
{% step %}
**Open your AI agent configuration**
{% 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 %}
**Enter the desired URL in the “Configure data retrieval” dialog.**

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

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

The configured URL then appears directly in the interface. On the next incoming call, the content will be retrieved automatically.

### 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, web pages, 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)set.

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 for the current call or previous 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 caller.

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

**`sessionId`**\
The unique ID of the current call. Using this ID, the server can unambiguously 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 queries, for example between the initial data retrieval and later live queries during the conversation.

**`assistantId`**\
The agent's internal ID. 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 appropriate information in the supported return format.

### Option: “Force retrieval”

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

* **Disabled** (default): If the URL is unreachable, the call is still connected — simply without the dynamic context.
* **Enabled:** If the URL is unreachable, the call is rejected. Choose this option only if the context is indispensable for the call (e.g., if a meaningful conversation is not possible without CRM data).

### Remove data retrieval

If data retrieval should no longer occur:

1. Open the configuration dialog again via the gear icon.
2. Click **Delete data retrieval**.
3. Confirm in the following dialog with **Delete permanently**.

Afterwards, the section shows the status again **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 happens 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, data retrieval is aborted. 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 data retrieval failed.

</details>

<details>

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

On the next incoming call, the new URL is automatically retrieved. There is no cache that needs to be cleared beforehand.

</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 supplemented 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:

```
GET https://help.sipgate.de/ai-agents/en/connections-and-integrations/datenabruf-bei-anrufbeginn.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.
