Skip to main content
Back to Agent Transfer Integrations 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 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.
    If using a non-static or Ngrok IP, update this URL whenever it changes.
  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. App URL configuration
  2. Under the credentials section, paste your Kore app details:
    • API Key (client secret)
    • App ID (client id)
    • Bot Name
    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.
    Admin section configuration
  4. Install dependencies:
    npm i
    
  5. Start the integration:
    npm start
    
    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).
  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.