> For the complete documentation index, see [llms.txt](https://teamhelp.sipgate.co.uk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://teamhelp.sipgate.co.uk/use-sipgate/sipgate-app/how-do-i-set-up-ci-webhooks.md).

# How do I set up CI Webhooks?

CI Webhooks are part of [Conversation Intelligence](/use-sipgate/sipgate-app/what-is-sipgate-conversation-intelligence.md). With CI Webhooks, call data from sipgate calls can be automatically transferred to external systems such as a CRM. This lets you integrate call logs, summaries, and classifications directly into your existing processes.

{% hint style="info" %}
CI Webhooks are configured in the **App Web** and are different from the separate AI Assist Webhook, which is set up directly in the sipgate Desktop App (see [Can I retrieve my AI-generated channel data via API interface?](/use-sipgate/sipgate-app/can-i-retrieve-my-ai-generated-channel-data-via-api-interface.md)).
{% endhint %}

#### Requirements

* You have a target URL to which the data should be sent.
* Your system can process HTTP POST requests with a JSON payload using Transfer-Encoding: chunked.
* Webhooks only work for shared channels. Calls conducted over a private channel do not trigger CI Webhooks.

#### Typical use cases

* CRM integration: automatically pass call notes to customer records.
* Support systems: create tickets after inbound calls.
* Analytics: forward classifications to a reporting tool.

#### Setting up webhook targets

1. Log in as an admin in the **App Web**.
2. Open the Conversation Intelligence section in the settings.
3. Open the CI Webhooks configuration.
4. Enter the desired webhook URL.

#### How it works

* Once a call ends, sipgate sends the call data via HTTP POST to the stored webhook URL.
* The data is transmitted as a JSON payload.
* Your system can then store or further process this payload (e.g. in a CRM, ticketing system, or internal databases).

Example: A call ends ➔ a call log is created ➔ the data is automatically forwarded to your database ➔ your team has the information available immediately.

Example payload:

```json
{
  "version": "1",
  "call": {
    "id": "pbx-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "from": "441614960000",
    "to": "441614960001",
    "startTime": "2026-04-08T09:22:41.663Z",
    "endTime": "2026-04-08T09:24:04.329Z",
    "duration": 82666,
    "direction": "IN",
    "users": [
      {
        "userId": "w0",
        "accountId": "1234567",
        "fullUserId": "1234567w0",
        "firstName": "Jamie",
        "lastName": "Smith",
        "fullName": "Jamie Smith"
      }
    ],
    "channel": {
      "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
      "name": "Support Channel"
    }
  },
  "assist": {
    "provider": {
      "llm": "AZURE"
    },
    "transcription": {
      "content": "Caller: Hi, I'm calling about my contract. I received an invoice last week that was higher than expected.\nCallee: Hello, I'd be happy to look into that. Could you give me your customer number?\nCaller: Yes, it's 12345. I'd also like to know if I can switch tariffs.\nCallee: I can see the invoice. The amount is correct as an add-on package was booked. We can of course arrange a tariff change. I'll send you the options by email.",
      "chunks": [
        {
          "speaker": "CALLER",
          "startTime": 3200,
          "endTime": 12400,
          "content": "Hi, I'm calling about my contract. I received an invoice last week that was higher than expected."
        },
        {
          "speaker": "CALLEE",
          "startTime": 13100,
          "endTime": 18900,
          "content": "Hello, I'd be happy to look into that. Could you give me your customer number?"
        },
        {
          "speaker": "CALLER",
          "startTime": 19500,
          "endTime": 26300,
          "content": "Yes, it's 12345. I'd also like to know if I can switch tariffs."
        },
        {
          "speaker": "CALLEE",
          "startTime": 27000,
          "endTime": 40100,
          "content": "I can see the invoice. The amount is correct as an add-on package was booked. We can of course arrange a tariff change. I'll send you the options by email."
        }
      ]
    },
    "callScenarios": null,
    "callHeadline": {
      "content": "Invoice query and tariff change"
    },
    "summary": {
      "content": "The customer called about an unexpectedly high invoice. The amount was correct because an add-on package was active. A tariff change was also discussed, with options to be sent by email.",
      "keyPoints": [
        "The invoice was correct — the higher amount resulted from a booked add-on package.",
        "The customer wants to change their tariff.",
        "The available tariff options will be sent by email."
      ],
      "topics": [
        "Invoice",
        "Add-on package",
        "Tariff change"
      ]
    },
    "actionItems": [
      {
        "content": "Send tariff options to the customer by email."
      },
      {
        "content": "Check the add-on package and cancel it if necessary."
      }
    ],
    "smallTalkItems": [
      {
        "topic": "Greeting",
        "description": "Both participants greeted each other at the start of the call."
      }
    ]
  }
}
```

#### Security

To ensure that only requests from sipgate are forwarded to your webhook integration, check the source IP address of incoming requests. Add the following IP address to your allow list:\
217.116.118.254
