> ## Documentation Index
> Fetch the complete documentation index at: https://koreai-ai-for-process-dev.mintlify.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Kore-Unblu Integration

<Badge icon="arrow-left" color="gray">[Back to Agent Transfer Integrations](/ai-for-service/integrations/overview#agent-transfer)</Badge>

Unblu is a conversational platform enabling agents and advisors to collaborate with customers via live chat, secure text messaging, and video chat. This guide covers the BotKit-based integration between the Kore.ai AI Agent and Unblu for agent transfer scenarios.

The AI Agent acts as a proxy between users and Unblu agents:

* **App**: The AI Agent that the user interacts with.
* **Users**: Customers using the AI Agent.
* **Agent**: Human agents using the Unblu chat interface.

***

## Prerequisites

* A fully functional AI Agent
* An Unblu account
* [BotKit SDK](https://github.com/Koredotcom/BotKit) from Kore's GitHub
* Node.js v12.0 or above
* Ngrok to simulate the callback server

***

## Configuration

### Platform Setup

1. Log in to the Kore AI Agent Platform.
2. Select the **Build** tab from the top menu.
3. Go to **Integrations** and select **Agent Transfer**.
4. Next to **App Name**, click **Add** (or select an existing app from the drop-down).
5. Enter an app name in the **Name** field.
6. Optionally enforce JTI or JWE encryption.
7. Click **Next > Done**.
8. In the **Callback URL** field, enter the BotKit URL endpoint (e.g., `https://<domainname>/unblu`).
9. Click **Save**.

### Unblu Account Setup

1. Log in to your Unblu account.

2. Click your profile (top-right) and under **Administration**, select **Manage Account**.

3. On the left pane, under **Site Integration**, select **Domains**.

4. Click **New Domain** (top-right).

5. Enter the Callback URL (from Step 8 above) in the **Domain URL** field.

   <Note>If using a non-static or Ngrok IP, update this URL whenever it changes.</Note>

6. Set **Protocol** to **Both**.

7. Click **Save**.

### BotKit Configuration

Edit the `config.json` file using the values from `sample_config_file.txt` as reference.

1. Under the **app** section, paste the Ngrok or publicly accessible URL.

   <img src="https://mintlify.s3.us-west-1.amazonaws.com/koreai-ai-for-process-dev/ai-for-service/integrations/images/kore-unblu-1.png" alt="App URL configuration" />

2. Under the **credentials** section, paste your Kore app details:

   * **API Key** (client secret)
   * **App ID** (client id)
   * **Bot Name**

   <img src="https://mintlify.s3.us-west-1.amazonaws.com/koreai-ai-for-process-dev/ai-for-service/integrations/images/kore-unblu-2.png" alt="Kore credentials configuration" />

   To find these details:

   1. Log in to the Kore apps platform.
   2. Select the **Build** tab.
   3. Go to **Integrations > BotKit**.

3. Under the **Unblu** section, configure:

   * **Unblu credentials**: Paste Unblu account credentials.

   * **external\_messenger**: Enter the name, description, and other display details for the chat.

     To access external messenger details:

     1. Log in to the Unblu desktop app.
     2. Under **External Integration**, select **External Messengers**.
     3. Select the relevant messenger to find its details.

   * **agent**: Enter the agent details.

   * **named\_area**: Enter a **Name** and **Meta Tag ID**.

     To create a named area:

     1. Log in to the Unblu app.
     2. Under **Site Integration**, select **Named Areas**.
     3. Click **New Named Area** (top-right).
     4. Select a domain from the **Domain Name** drop-down and enter a name. You can also register a new domain.
     5. Click **Save**.

   * **admin**: Enter the Unblu username.

   <img src="https://mintlify.s3.us-west-1.amazonaws.com/koreai-ai-for-process-dev/ai-for-service/integrations/images/kore-unblu-3.png" alt="Admin section configuration" />

4. Install dependencies:
   ```
   npm i
   ```

5. Start the integration:

   ```
   npm start
   ```

   <Note>The webhook URL must be the same in API Extensions, `config.json`, and the Unblu external messenger Endpoint URL (i.e., the BotKit URL in API Extensions, `app.url`, and `unblu.custom.external_messenger`).</Note>

6. Open the dialog task and the agent transfer node to verify the configuration is saved.

***

## Additional Notes

* Multiple named areas can be mapped to a single Kore.ai assistant, allowing it to accept Unblu dialog offer requests from different origins (SDKs or named areas).
* Named area mapping is optional when enabling Unblu for a single assistant.
* Add an agent transfer node in the dialog flow to redirect conversations to agents. No separate BotKit or Agent Transfer enablement is required.
* User information from Unblu is available in `usercontext.customData` (includes `deviceInfo`, `authInfo`, `joinedTime`). See [Context Object](/ai-for-service/automation/agent-flows#context-object).


Built with [Mintlify](https://mintlify.com).