Skip to content

Kore Voice Automation Integration with Zoom Contact Center

Zoom Contact Center (ZCC) is an automation solution for enterprises to manage customer interactions across voice and chat channels. This Integration will enable Voice automation through SIP Integration. Kore.ai now supports the Zoom Contact Center voice channel to integrate voice virtual assistants.

This integration streamlines customer support, automates responses, and improves overall operational efficiency, leading to enhanced customer experiences and increased productivity.

How it Works

Here’s a general overview of how voice virtual assistant interactions work on the Zoom Contact Center:

  • Setup and Configuration: Kore.ai sets up and configures the integration between their virtual assistant and ZCC. This involves installing specific connectors provided by Zoom and configuring the settings to establish a connection.
  • Channel Integration: Once the integration is set up, the virtual assistants on Kore.ai can be configured to use ZCC as one of its communication channels (setting includes “Transfer form IVR” and “Agent Transfer”. This means that incoming customer inquiries can be handled through Zoom’s communication platform, which may include voice calls and then routed to Kore’s IVR for running voice automation.
  • Routing and Distribution: When a customer initiates contact through ZCC and the call is received by Kore. Admins can use the Agent Transfer Node within the Kore platform to transfer the call back to ZCC if a human agent is required. Admins can also define appropriate SIP headers to provide the necessary information that can be used within ZCC to direct the interaction to the appropriate agents.
  • Agent Interaction: The agent receives the customer interaction and responds to the customer using ZCC’s communication features, such as answering voice calls.

Prerequisites

Please ensure you have the following before enabling this channel:

  • A Zoom App Marketplace Developer account. Don’t have an account? Sign up here.
  • Developer access to the XO Platform. Need Developer Access? Contact us.

Setting up Zoom Contact Center

The important steps to set up the ZCC channel are summarized below:

  1. Associate an App within an experience flow. Know more.
  2. Configure “Transfer from IVR.”
  3. Configure “Agent Transfer.”
  4. Create a Bot Connector instance on Zoom App Marketplace to associate a virtual assistant.
  5. Fetch Conversation Details and Summary.

Architecture Diagram

architecture-diagram

Step 1: Associate an App within an experience flow. Know more

If you have your App ready with you then you can use “Automation” Node in the flow and attach that App with the flow that you want to trigger upon transfering the call from ZCC to Kore IVA. Read more here.

Note

If you are using the older version “SmartAssist,” then use this link.

Step 2: Configure “Transfer from IVR”

You must configure Transfer from IVR to transfer a call from ZCC to Kore. Follow the steps below to make this configuration:

Go to Kore.ai Flows & Channels > Channels > Kore.ai Voice Gateway, and select SIP Numbers > Configure SIP Transfer. transfer-from-ivr

  1. Select Contact Center AI. The SIP URI field auto populates and will be used to transfer the call from ZCC to Kore Voice Automation.
  2. Add the Domain name from Zoom in the Fully Qualified Domain Name field in Kore SIP Transfer.
  3. Add the DID Number from Zoom. (Note that this number will be used to identify the bot and flow for a call received from Zoom on Kore.)
  4. Click Next.
  5. Select Inbound Calls and Outbound Calls.
    forward-to-phone-number

  6. Click Save.

    Note

    Upon configuring the above SIP transfer configuration, you need to attach one flow created in Step 1 to this configuration.

  7. Click Attach Flow and attach the flow created on step-1. For help, refer to Attach Flow.
    koreai-voice-gateway

Step 3: Agent Transfer Configuration

After the customer interacts with Kore’s IVA, you can perform agent transfer from Kore IVA to ZCC through one of the following two approaches:

  • Agent Transfer Node in Flow. Read here
  • Agent Transfer Node in a Dialog Task

3.1 Agent Transfer Node in Experience Flow

3.1.1. Select Agent Transfer node from Action.
agent-transfer-node

3.1.2. Add configuration for Agent Transfer node.
adding-configuration-agent-transfer-node

3.1.3. After configuring the Agent Transfer node in Experience Flow, head to App Settings > Integration > Agent transfer > Voice and create a new SIP transfer here.

3.1.4. For ZCC, we are using SIP BYE for Agent Transfer.
sip-transfer

3.1.5. Configure SIP headers to be transferred to ZCC on Agent Transfer via SIP BYE.

3.2 Agent Transfer Node in a Dialog Task

Zoom users can also invoke agent transfer from the Dialog Task using a message node. Read more here on Kore Automation / Dialog task.

Add the following code on the message node for agent transfer:

Note

Agent transfer can be to a number or any SIP URI.

var message = "Transferring Call to xxxx number";

var ReferTo = "+91xxxxxxxxxx"; // or sipUrl

var headers = {

"X-Reason" : "Call Received from Kore"

}

print(voiceUtils.refer(message,ExternalPhoneNumber,headers))

Note

The following scenarios can be considered upon Agent Transfer:

Scenario 1: Question Resolved, Customer Hangs Up

  • Given that a customer’s query has been resolved by the voice bot,
  • When the customer chooses to hang up directly,
  • Then Zoom triggers a SIP BYE, Kore sends ACK, and no SIP headers are passed.

Scenario 2: Question Resolved, Voice Bot Ends the Call

  • Given that a customer’s query has been resolved by the voice bot,
  • When the voice bot ends the call,
  • Then Kore should send the kore-session_id and kore-bot_id in the INVITE’s 200 OK response, kore-reason(HangUp) in the SIP BYE message, and any custom header configured in Voice Gateway.

Scenario 3: Question Unresolved, Customer Needs Transfer to ZCC Agent

  • Given that the customer’s query cannot be resolved by the voice bot,
  • When the customer requests to speak with a live agent,
  • Then Kore should send the kore-session_id and kore-bot_id in the INVITE’s 200 OK response and send kore-reason(TransferToAgent) in the SIP BYE message.

Step 4: Create a Connection from ZCC to Kore IVA - Transfer from IVR (SIP Transfer)

  1. Sign in to Zoom App Marketplace as an Admin.

  2. Select App Types > Connectors from the left navigation filter menu, and navigate to the Connectors page, or simply type “kore.ai” in the Search field.
    koreai-virtual-assistant
    koreai-virtual-assistant2

  3. Select Kore.ai Virtual Assistant connector, and navigate to the Connector Details screen.
    connector-details

  4. Click Create Connector, and navigate to the Create Kore.ai Virtual Assistant Connector screen.
    create-koreai-virtual-assistant-connector

  5. Enter a name in the Connector Name field, select “Voicebot” from the “Choose Bot Type” dropdown list, and then click Next.

  6. Select the desired region for the voice bot from the dropdown list to automatically populate the Base URL of the regional Kore.ai platform.

  7. Copy the Bot ID, Client ID, and Client Secret of your respective app on kore.ai. (Go to Flows & Channel > Digital. Under Configured, click Configured Channels > Web/Mobile Client > JWT App Details.)
    web-mobile-client-screen

  8. Paste them into the Bot ID, Client ID, and Client Secret fields under the Authorization Parameters section on the Zoom Kore.ai Virtual Assistant Connector page, and then click Next.
    zoom-koreai-va-connector

  9. Copy the Domain Name and DID Number from the Zoom Kore.ai Virtual Assistant Connector page.
    domain-name-did-number

  10. Paste them into the Virtual Assistant Connector on ZCC.

  11. Click Next to authorize the Kore.ai Chatbot Connector with the Kore.ai platform.

After creating an Experience Flow, you must attach a DID Number to this flow. (Since Zoom integration is based on DID Number, you don’t need to purchase any number from Kore.)

Step 5: Fetching Conversation Details and Summary

This section explains the process of fetching the details and summary of the conversation between the bot and the customer.

Steps

  1. Sign in to UXO.
  2. Go to Contact Center AI > Analytics > Contact Center > Interactions and ensure there are call records.
    contact-center-interactions

  3. Go to Settings > App Settings > Dev Tools, and click API Scopes.
    api-scopes

  4. Click + New Mapping.

  5. Select an app name under the JWT App list.
    jwt-app-app-name

  6. Enable the Chat History option under Automation.

  7. Click Save.
  8. Go to Generative AI > Models Library, locate Kore.ai XO GPT, and click Enable Now.
    enable-koreai-xo-gpt

  9. On the Kore.ai XO GPT page, select:

    9.1. Models.

    9.2. Fine-tuned model for Summarizing Conversation.

    9.3. Please read through the LLM & Generative Policy guidelines and provide your consent to enable the Integration.
    llm-gen-policy-guidelines

  10. Click Save.

  11. Go to Generative AI > GenAI Features, and click the Co-Pilot section.
  12. Enable Conversation Summary. To enable, select a model from the Select Model list, and then click the enable toggle.
  13. Go to Deploy > Publish and click Proceed to publish your bot.
    publish-your-bot

  14. Enter a comment in the Comments box, and click Confirm.
    confirm-publishing-your-bot

    14.1 Close the message that confirms publishing of your Virtual Assistant.
    closing-va-publishing-confirmation-message

  15. Copy the curl from the Conversation Details and Summary API.

  16. Go to Postman, paste the curl copied from the API, and then:

    16.1 Replace the botID with the Bot ID value copied from UXO. \ Follow these steps to get the botID:

    16.1.1 Sign in to UXO.

    16.1.2 Go to Contact Center AI > Flows & Channels > Digital.
    contact-center-flowsandchannels-digital

    16.1.3 Click Web/Mobile Client under Configured.

    16.1.4 On the Web/Mobile Client configuration page, click to expand the JWT App Details section.
    expand-jwt-app-details

    16.1.5 Scroll down to the Bot ID section, and click the Copy button to copy the botID value.

    16.2 Copy the sessionID from UXO.
    Follow these steps to get the sessionID:

    16.2.1 Sign in to UXO.

    16.2.2 Go to Contact Center AI > Analytics > Contact Center > Interactions.

    16.2.3 Click the log for which you want to get the details.
    interaction-log-details

    16.2.4 On the Insights to Logs page, click Identifiers, and then click the copy symbol against the Session ID value.
    insights-to-logs-sessionid

    16.3 Generate and copy the JWT token by following this document.

  17. Run the modified curl to get the conversation details and summary of a session.