> ## Documentation Index
> Fetch the complete documentation index at: https://docs.open.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect Infobip

> Create an Infobip API key with the conversations:manage scope, pick your AI agent, and register the OpenCX webhook as a subscription.

The Infobip integration uses an <Tooltip tip="An API key created in the Infobip portal under Developer Tools → API Keys. It needs the conversations:manage scope.">Infobip API key</Tooltip> to read and write conversations, plus a webhook subscription you register in the Infobip portal that pushes conversation events to OpenCX.

<Info>
  Setup takes about 10 minutes. You need admin access in both the Infobip portal
  and your OpenCX organization.
</Info>

## Before you start

<AccordionGroup>
  <Accordion title="A dedicated AI agent in Infobip" icon="user-headset">
    The AI replies as an Infobip agent you designate, and only answers conversations assigned to that agent. Create a dedicated agent (for example *OpenCX AI*) in the Infobip Conversations dashboard rather than reusing a person's account.
  </Accordion>

  <Accordion title="Permission to create API keys and subscriptions" icon="key">
    You'll create an API key under **Developer Tools → API Keys** and a
    subscription that delivers conversation events — both need Infobip admin
    access.
  </Accordion>

  <Accordion title="Owner or admin in OpenCX" icon="user-shield">
    Required to save integration settings in [Settings → Integrations](https://platform.open.cx/settings/integrations).
  </Accordion>
</AccordionGroup>

## Setup

<Steps>
  <Step title="Find your Base URL">
    Log in to Infobip and open any API documentation page — your account-specific base URL is shown at the top. It looks like `https://abc123.api.infobip.com`.
  </Step>

  <Step title="Create an API key">
    In the Infobip portal, go to [**Developer Tools → API Keys**](https://portal.infobip.com/dev/api-keys/create) and create a key with the **conversations:manage** scope (under the Customer Engagement section).

    <Warning>
      Copy the key immediately — Infobip only shows it at creation.
    </Warning>
  </Step>

  <Step title="Enter your credentials in OpenCX">
    In your OpenCX dashboard, go to [**Settings → Integrations**](https://platform.open.cx/settings/integrations), select **Infobip**, and fill in:

    | Field        | Value                                                             |
    | ------------ | ----------------------------------------------------------------- |
    | **Base URL** | Your account-specific URL, e.g. `https://abc123.api.infobip.com`. |
    | **API Key**  | The key you just created.                                         |

    Click **Connect**. OpenCX validates the credentials against the Infobip API before saving.
  </Step>

  <Step title="Pick the AI agent">
    After connecting, the **AI Agent** dropdown loads the agents from your Infobip workspace. Pick the dedicated agent the AI should reply as.

    The AI only answers conversations **assigned to this agent**. Two toggles refine the behavior:

    | Toggle                                       | Default | What it does                                                                                                                                               |
    | -------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | **Handle unassigned conversations**          | Off     | When on, the AI also picks up conversations with no assignee — it assigns them to the AI agent, then replies. Turn this on when the AI is your front door. |
    | **Close Infobip conversation when resolved** | On      | When the AI resolves a session, OpenCX also closes the Infobip conversation and posts a resolution note.                                                   |
  </Step>

  <Step title="Register the webhook subscription in Infobip">
    Copy the **Webhook URL** shown at the top of the OpenCX Infobip settings. Then, in the Infobip portal, create a [subscription](https://www.infobip.com/docs/cpaas-x/subscriptions-management) with that URL as the **receiver**, covering conversation events (inbound and outbound messages, status, assignment, and note events).

    <Warning>
      The webhook URL contains a signed token tied to your organization — treat it like a password. And without the subscription, no events reach OpenCX and the AI stays silent: this manual step is the one most often missed.
    </Warning>
  </Step>

  <Step title="Send a test message">
    Write in on any connected channel (for example your WhatsApp number). Assign the conversation to the AI agent — or just send, if **Handle unassigned conversations** is on. Within a few seconds:

    1. A new session appears in your [OpenCX Inbox](https://platform.open.cx/inbox).
    2. The AI's reply appears in the Infobip conversation as your AI agent, on the same channel.

    If nothing appears, jump to [Troubleshooting](/integrations/infobip/troubleshooting).
  </Step>
</Steps>

## Disconnecting

In OpenCX, open the Infobip integration and disconnect it. Then delete the subscription in the Infobip portal. Conversations already exchanged stay in your OpenCX inbox; no new Infobip events flow in, and the AI stops replying.

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Overview" icon="comments" href="/integrations/infobip/overview">
    What the Infobip integration does and how messages flow.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/integrations/infobip/troubleshooting">
    Credentials failing, webhook silent, AI skipping conversations.
  </Card>

  <Card title="Human handoff" icon="user-group" href="/handoff/introduction">
    Global handoff rules and office hours.
  </Card>

  <Card title="WhatsApp channel" icon="whatsapp" href="/whatsapp/introduction">
    OpenCX's native WhatsApp channel, if you don't route through Infobip.
  </Card>
</CardGroup>
