はじめに
対話型AIプラットフォーム
チャットボットの概要
自然言語処理(NLP)
ボットの概念と用語
クイックスタートガイド
プラットフォームへのアクセス
ボットビルダーの操作
リリースノート
最新バージョン(英語)
以前のバージョン(英語)
廃止機能(英語)
コンセプト
設計
ストーリーボード
ダイアログタスク
ダイアログタスクとは
ダイアログビルダー
ノードタイプ
インテントノード
ダイアログノード
エンティティノード
フォームノード
確認ノード
ロジックノード
ボットアクションノード
サービスノード
Webhookノード
スクリプトノード
グループノード
エージェント転送ノード
ユーザープロンプト
音声通話プロパティ
イベント ハンドラー
ナレッジグラフ
ナレッジグラフの抽出
ナレッジグラフの構築
ボットにナレッジグラフを追加
グラフの作成
ナレッジグラフの構築
既存のソースからFAQを構築
通知タスク
スモールトーク
デジタルスキル
デジタルフォーム
デジタルビュー
デジタルビューとは
パネル
ウィジェット
トレーニング
トレーニングとは
機械学習
機械学習とは
モデル検証
ファンダメンタルミーニング
ナレッジグラフ
示唆
ランキングおよび解決
NLPの詳細設定
NLPのガイドライン
インテリジェンス
インテリジェンスとは
コンテキスト
コンテキストインテント
割り込み
複数インテントの検出
エンティティの変更
デフォルトの会話
センチメント管理
トーン分析
テストとデバッグ
ボットと会話
発話テスト
バッチテスト
会話テスト
デプロイ
チャネル
公開
分析
ボットの分析
NLPメトリクス
会話フロー
Usage Metrics
封じ込め測定
カスタムダッシュボード
カスタムダッシュボードとは
メタタグ
カスタムダッシュボードとウィジェット
LLM and Generative AI
Introduction
LLM Integration
Kore.ai XO GPT Module
Prompts & Requests Library
Co-Pilot Features
Dynamic Conversations Features
Guardrails
ユニバーサルボット
ユニバーサルボットとは
ユニバーサルボットの定義
ユニバーサルボットの作成
ユニバーサルボットのトレーニング
ユニバーサルボットのカスタマイズ
他言語の有効化
ストア
プラントと使用
Overview
Usage Plans
Support Plans
Invoices
管理
ボット認証
複数言語対応ボット
個人を特定できる情報の編集
ボット変数の使用
IVRのシステム連携
一般設定
ボット管理
ハウツー
会話スキルの設計
バンキングボットを作成
バンキングボット – 資金の振り替え
バンキングボット – 残高を更新
ナレッジグラフを構築
スマートアラートの予約方法
Integrations
Actions
Actions Overview
Asana
Configure
Templates
Azure OpenAI
Configure
Templates
BambooHR
Configure
Templates
Bitly
Configure
Templates
Confluence
Configure
Templates
DHL
Configure
Templates
Freshdesk
Configure
Templates
Freshservice
Configure
Templates
Google Maps
Configure
Templates
Here
Configure
Templates
HubSpot
Configure
Templates
JIRA
Configure
Templates
Microsoft Graph
Configure
Templates
Open AI
Configure
Templates
Salesforce
Configure
Templates
ServiceNow
Configure
Templates
Stripe
Configure
Templates
Shopify
Configure
Templates
Twilio
Configure
Templates
Zendesk
Configure
Templates
Agents
Agent Transfer Overview
Custom (BotKit)
Drift
Genesys
Intercom
NiceInContact
NiceInContact(User Hub)
Salesforce
ServiceNow
Configure Tokyo and Lower versions
Configure Utah and Higher versions
Unblu
External NLU Adapters
Overview
Dialogflow Engine
Test and Debug
デジタルスキルの設計
デジタルフォームの設定方法
デジタルビューの設定方法
データテーブルのデータの追加方法
データテーブルのデータの更新方法
Add Data from Digital Forms
ボットのトレーニング
示唆の使用方法
インテントとエンティティのパターンの使用方法
コンテキスト切り替えの管理方法
ボットのデプロイ
エージェント転送の設定方法
ボット関数の使用方法
コンテンツ変数の使用方法
グローバル変数の使用方法
ボットの分析
カスタムダッシュボードの作成方法
カスタムタグを使ってフィルタリング
Data
Overview
Guidelines
Data Table
Table Views
App Definitions
Data as Service
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
APIs & SDKs
API Reference
API Introduction
Rate Limits
API List
koreUtil Libraries
SDK Reference
SDK Introduction
Web SDK
How the Web SDK Works
SDK Security
SDK Registration
Web Socket Connect and RTM
Tutorials
Widget SDK Tutorial
Web SDK Tutorial
BotKit SDK
BotKit SDK Deployment Guide
Installing the BotKit SDK
Using the BotKit SDK
SDK Events
SDK Functions
Installing Botkit in AWS
Tutorials
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer

ADMINISTRATION
Intro to Bots Admin Console
Administration Dashboard
User Management
Managing Your Users
Managing Your Groups
Role Management
Manage Data Tables and Views
Bot Management
Enrollment
Inviting Users
Sending Bulk Invites to Enroll Users
Importing Users and User Data
Synchronizing Users from Active Directory
Security & Compliance
Using Single Sign-On
Two-Factor Authentication for Platform Access
Security Settings
Cloud Connector
Analytics for Bots Admin
Billing
  1. ホーム
  2. Docs
  3. Virtual Assistants
  4. Channel Enablement
  5. Adding the Sunshine Conversations Channel

Adding the Sunshine Conversations Channel

Virtual Assistants built on the Kore.ai XO Platform can be deployed on the Sunshine Conversations platform. This channel integration supports conversations with virtual assistants and provides a seamless hand-off to agents on Zendesk.

Authorizing the Kore.ai Integration to Sunshine Conversations

To enable the integration, you need to provide authorization using your Zendesk credentials. Follow the steps below to complete the OAuth-based authorization:

  1. Log into the Kore.ai XO Platform.
  2. Navigate to DeployChannelsSunshine Conversations Channel.
  3. Click the Authorize button under Configurations on the Sunshine Conversations panel.
  4. On the Zendesk subdomain page, provide the subdomain and click Sign in.
  5. On the Zendesk sign-in page, provide your login credentials and click Sign in.
  6. After you have signed in successfully, a pop-up window will appear asking you to allow Kore.ai to access your Zendesk account. Click on Allow.
  7. Once the integrated is created successfully, you’ll be redirected to the Kore.ai XO Platform to complete the channel enablement process.

Switchboard Integration for Agent Handoff

The Kore.ai XO Platform lets you hand off the conversation to your Zendesk agents via the Zendesk Switchboard using the Agent Transfer node. 

The Switchboard Integration API is used to route the user’s conversations from Zendesk to the XO platform. This API has a pass control system to decide whether the conversation is to be routed to a Bot or a live agent.

The Pass Control action is triggered as a part of the event where the conversation is switched to the Bot or the agent helpdesk, and also during conversation closure. 

Developers can define custom metadata to be sent with the existing metadata from the XO Platform to Zendesk. The additional metadata can also be used to create a Zendesk ticket.

Capturing the Session Closure Metadata

The Zendesk Sunshine Configuration flow lets you enable the Session Closure Metadata field to let Kore.ai capture the metadata and share it with Zendesk as part of the pass control event triggered when the conversation is transferred to the agent’s helpdesk, or when closing a conversation session. The metadata is captured using the key-value pair you provide during the configuration. 

However, providing the key and value inputs when you enable Session Closure Metadata is optional

For example: When you provide SessionKey as key and apikeyvalue as value, Kore.ai generates the field variable SessionKey.apikeyvalue to fetch the session API key and pass it to Zendesk as metadata. Please refer to Step 7 here for configuring Session Closure Metadata.

Important Information on Session Closure Metadata

  • The Platform does not trigger the session closure message when the Agent transfer is initiated, and the conversation is not handed over back to the platform again.
  • When the Conversation is handed over to the Platform after the agent transfer, the session closure functionality works as usual.
  • For all the new bots or existing bots that do not have at least one SessionClosure metadata tag, the SessionClosure switch is turned off by default.
  • For all the existing bots that have at least one SessionClosure metadata tag, the switch is turned on by default.
  •  The Platform introduces the KoreUtil.getSunshineConversationsMetadata() function to let a Bot developer fetch the stored metadata (Get API operation), and use it for the following:
    • Entities where JavaScript is supported like advanced messages for a prompt, script nodes, etc.
    • Simple messages like plain text prompts.
  • Any additional changes or updates to the channel configurations should go through the Bot Publish cycle.

Selecting the Default and Next Integrations for Transferring Control

When you have a pre-existing switchboard integration, the XO Platform allows you to configure it as the default for the initial pass control during conversation initiation. Alternatively, you can select the Kore switchboard integration to designate the pass control.

You can review and edit these Switchboard integrations for newly created or pre-existing channel configurations in the Switchboard Configuration window. The Switchboard Configuration includes the Default Switchboard Integration for initiating conversations and the Next Switchboard Integration to transfer control after conversation session closure and the completion of agent conversations. Please refer to Step 4  here for more information.

Steps to Set up Agent Handoff

    1. Enable the Enable Agent Handoff option under Configurations in the Sunshine Conversations panel.
    2. From the Zendesk Admin Center, navigate to Apps & Integrations and click the Conversations API menu option to get your API Key and API Secret. Please get in touch with your Zendesk sales representative if you don’t see this menu.
    3. Paste these values in their respective fields on the Kore.ai platform under Sunshine Conversations > Configurations > OAuth > Enable Agent Handoff section.
    4. Click Configure for Switchboard Integration to set up the integrations available in your Sunshine Conversations account app.
    5. Select the required option for the following integrations in the Switchboard Configuration window:
      • Default Switchboard Integration: Select the primary contact point for users in your Sunshine Conversations application.
      • Next Switchboard Integration to Kore.ai: Select the next switchboard integration to which the control of a VA conversation is passed from Kore.ai.
      • Next Switchboard Integration to Agent: Select the next switchboard integration to which control is transferred after an agent conversation with a user.

The options listed include the default mapped integrations and others available in your Sunshine Developer account.

  • After selecting the above fields, click Done.
  • On the Zendesk Sunshine Configurations window, follow either step below to set Session Closure Metadata:

 

  • Disable the toggle switch if you don’t want the Platform to pass the session metadata to Zendesk.
  • Enable SessionClosure Metadata, and do one of the following:
    • Provide at least one Key and Value input (optional) to allow Kore.ai to capture the session metadata using the switchboard integration API and share it with Zendesk.
      Adding these parameters and saving the configuration will create a Zendesk ticket with the conversation details and close it.
    • Skip the Key-Value input and move to the next step.
      Not adding these parameters will create a Zendesk ticket with the conversation details but not close it.
  1. Select Yes for Enable Channel.
  2. Click Save.

Templates Support

Sunshine Conversations templates are pre-defined structures you can use to send rich messages to users for consistent and engaging interactions on the XO Platform. Templates help create a set of “canned messages” or “agent saved replies,” which is especially useful for messages that are difficult to craft on the fly because they require external resources.

To trigger various message templates, you must use a specific JavaScript format in the Bot Responses section of the Message Node in a Dialog Task. Below are the supported templates along with their sample code formats:

  • Compound Message: Combines multiple elements like text, images, buttons, and quick replies to create an engaging and informative message. See example.
    var message = {
        "content":{
            type: 'image',
            text: 'I strongly recommend our Family Basket. It’s made just for people like you.',
            actions: [
                {
                    type: 'postback',
                    text: 'Subscribe',
                    payload: 'NOOP'
                },
                {
                    type: 'postback',
                    text: 'Learn more',
                    payload: 'NOOP'
                }
            ],
            mediaUrl: 'https://media.smooch.io/templates/template-family-basket.jpg'
        }
    }
    print(JSON.stringify(message))
    
  • Carousel Message: Allows you to send a series of cards that users can swipe through. Each card can contain an image, title, subtitle, and buttons for further actions. See example.
    var message = {
    "content": {
    "type": "carousel",
    "items": [
    {
    "title": "Tacos",
    "description": "Description",
    "mediaUrl": "https://som.iitkgp.ac.in/images/71stFoundationDay.jpg",
    "actions": [
    {
    "text": "Select",
    "type": "postback",
    "payload": "TACOS"
    },
    {
    "text": "More info",
    "type": "link",
    "uri": "https://som.iitkgp.ac.in/images/71stFoundationDay.jpg"
    }
    ]
    },
    {
    "title": "Ramen",
    "description": "Description",
    "mediaUrl": "https://som.iitkgp.ac.in/images/71stFoundationDay.jpg",
    "actions": [
    {
    "text": "TemplateVisible",
    "type": "postback",
    "payload": "RAMEN"
    },
    {
    "text": "More info",
    "type": "link",
    "uri": "https://som.iitkgp.ac.in/images/71stFoundationDay.jpg"
    }
    ]
    }
    ]
    }
    };
    print(JSON.stringify(message));
    
  • File Message: Allows you to send a file to the user. This can be useful for sharing documents, PDFs, images, or other types of files. See example.

    var message = {
        "content":{
            type: 'file',
                role: 'appMaker',
                mediaUrl: 'https://media.smooch.io/templates/template-warranty.pdf'
        }
    }
    print(JSON.stringify(message))
    
  • Form Message: Allows you to collect information from users through a structured form. This can include text fields, dropdown menus, radio buttons, and more. See example.

    var message = {
        "content":{
            type: 'file',
                role: 'appMaker',
                mediaUrl: 'https://media.smooch.io/templates/template-warranty.pdf'
        }
    }
    print(JSON.stringify(message))
    
  • Quick Reply: Provides users with predefined response options that they can select with a single tap. This can streamline interactions and guide users towards specific actions. See example.

    var message = {
      "content": {
        type: 'text',
        text: 'Which language do you prefer?',
        actions: [
            {
                type: 'reply',
                text: 'English',
                iconUrl: 'http://imgur.com/taco.png',
                payload: 'Hollywood'
            },
            {
                type: 'reply',
                text: 'Hindi',
                iconUrl: 'http://imgur.com/burrito.png',
                payload: 'Bollywood'
            }
        ]
    }
    }
    print(JSON.stringify(message))
    
  • Location Request: Allows you to request the user’s location. This can be useful for services that require location information, such as finding the nearest store or providing location-based services. See example.

    var message = {
        "content":{
            type: 'text',
                role: 'appMaker',
                text: 'Let us know where you are.',
                actions: [
                    {
                        type: 'locationRequest',
                        text: 'Send location'
                    }
                ]
        }
    }
    print(JSON.stringify(message))
    

Create a Template

To learn how to create a template, click here.

Send a Template

Once you create a template, you can send it to a user. Learn more.

Adding the Sunshine Conversations Channel

Virtual Assistants built on the Kore.ai XO Platform can be deployed on the Sunshine Conversations platform. This channel integration supports conversations with virtual assistants and provides a seamless hand-off to agents on Zendesk.

Authorizing the Kore.ai Integration to Sunshine Conversations

To enable the integration, you need to provide authorization using your Zendesk credentials. Follow the steps below to complete the OAuth-based authorization:

  1. Log into the Kore.ai XO Platform.
  2. Navigate to DeployChannelsSunshine Conversations Channel.
  3. Click the Authorize button under Configurations on the Sunshine Conversations panel.
  4. On the Zendesk subdomain page, provide the subdomain and click Sign in.
  5. On the Zendesk sign-in page, provide your login credentials and click Sign in.
  6. After you have signed in successfully, a pop-up window will appear asking you to allow Kore.ai to access your Zendesk account. Click on Allow.
  7. Once the integrated is created successfully, you’ll be redirected to the Kore.ai XO Platform to complete the channel enablement process.

Switchboard Integration for Agent Handoff

The Kore.ai XO Platform lets you hand off the conversation to your Zendesk agents via the Zendesk Switchboard using the Agent Transfer node. 

The Switchboard Integration API is used to route the user’s conversations from Zendesk to the XO platform. This API has a pass control system to decide whether the conversation is to be routed to a Bot or a live agent.

The Pass Control action is triggered as a part of the event where the conversation is switched to the Bot or the agent helpdesk, and also during conversation closure. 

Developers can define custom metadata to be sent with the existing metadata from the XO Platform to Zendesk. The additional metadata can also be used to create a Zendesk ticket.

Capturing the Session Closure Metadata

The Zendesk Sunshine Configuration flow lets you enable the Session Closure Metadata field to let Kore.ai capture the metadata and share it with Zendesk as part of the pass control event triggered when the conversation is transferred to the agent’s helpdesk, or when closing a conversation session. The metadata is captured using the key-value pair you provide during the configuration. 

However, providing the key and value inputs when you enable Session Closure Metadata is optional

For example: When you provide SessionKey as key and apikeyvalue as value, Kore.ai generates the field variable SessionKey.apikeyvalue to fetch the session API key and pass it to Zendesk as metadata. Please refer to Step 7 here for configuring Session Closure Metadata.

Important Information on Session Closure Metadata

  • The Platform does not trigger the session closure message when the Agent transfer is initiated, and the conversation is not handed over back to the platform again.
  • When the Conversation is handed over to the Platform after the agent transfer, the session closure functionality works as usual.
  • For all the new bots or existing bots that do not have at least one SessionClosure metadata tag, the SessionClosure switch is turned off by default.
  • For all the existing bots that have at least one SessionClosure metadata tag, the switch is turned on by default.
  •  The Platform introduces the KoreUtil.getSunshineConversationsMetadata() function to let a Bot developer fetch the stored metadata (Get API operation), and use it for the following:
    • Entities where JavaScript is supported like advanced messages for a prompt, script nodes, etc.
    • Simple messages like plain text prompts.
  • Any additional changes or updates to the channel configurations should go through the Bot Publish cycle.

Selecting the Default and Next Integrations for Transferring Control

When you have a pre-existing switchboard integration, the XO Platform allows you to configure it as the default for the initial pass control during conversation initiation. Alternatively, you can select the Kore switchboard integration to designate the pass control.

You can review and edit these Switchboard integrations for newly created or pre-existing channel configurations in the Switchboard Configuration window. The Switchboard Configuration includes the Default Switchboard Integration for initiating conversations and the Next Switchboard Integration to transfer control after conversation session closure and the completion of agent conversations. Please refer to Step 4  here for more information.

Steps to Set up Agent Handoff

    1. Enable the Enable Agent Handoff option under Configurations in the Sunshine Conversations panel.
    2. From the Zendesk Admin Center, navigate to Apps & Integrations and click the Conversations API menu option to get your API Key and API Secret. Please get in touch with your Zendesk sales representative if you don’t see this menu.
    3. Paste these values in their respective fields on the Kore.ai platform under Sunshine Conversations > Configurations > OAuth > Enable Agent Handoff section.
    4. Click Configure for Switchboard Integration to set up the integrations available in your Sunshine Conversations account app.
    5. Select the required option for the following integrations in the Switchboard Configuration window:
      • Default Switchboard Integration: Select the primary contact point for users in your Sunshine Conversations application.
      • Next Switchboard Integration to Kore.ai: Select the next switchboard integration to which the control of a VA conversation is passed from Kore.ai.
      • Next Switchboard Integration to Agent: Select the next switchboard integration to which control is transferred after an agent conversation with a user.

The options listed include the default mapped integrations and others available in your Sunshine Developer account.

  • After selecting the above fields, click Done.
  • On the Zendesk Sunshine Configurations window, follow either step below to set Session Closure Metadata:

 

  • Disable the toggle switch if you don’t want the Platform to pass the session metadata to Zendesk.
  • Enable SessionClosure Metadata, and do one of the following:
    • Provide at least one Key and Value input (optional) to allow Kore.ai to capture the session metadata using the switchboard integration API and share it with Zendesk.
      Adding these parameters and saving the configuration will create a Zendesk ticket with the conversation details and close it.
    • Skip the Key-Value input and move to the next step.
      Not adding these parameters will create a Zendesk ticket with the conversation details but not close it.
  1. Select Yes for Enable Channel.
  2. Click Save.

Templates Support

Sunshine Conversations templates are pre-defined structures you can use to send rich messages to users for consistent and engaging interactions on the XO Platform. Templates help create a set of “canned messages” or “agent saved replies,” which is especially useful for messages that are difficult to craft on the fly because they require external resources.

To trigger various message templates, you must use a specific JavaScript format in the Bot Responses section of the Message Node in a Dialog Task. Below are the supported templates along with their sample code formats:

  • Compound Message: Combines multiple elements like text, images, buttons, and quick replies to create an engaging and informative message. See example.
    var message = {
        "content":{
            type: 'image',
            text: 'I strongly recommend our Family Basket. It’s made just for people like you.',
            actions: [
                {
                    type: 'postback',
                    text: 'Subscribe',
                    payload: 'NOOP'
                },
                {
                    type: 'postback',
                    text: 'Learn more',
                    payload: 'NOOP'
                }
            ],
            mediaUrl: 'https://media.smooch.io/templates/template-family-basket.jpg'
        }
    }
    print(JSON.stringify(message))
    
  • Carousel Message: Allows you to send a series of cards that users can swipe through. Each card can contain an image, title, subtitle, and buttons for further actions. See example.
    var message = {
    "content": {
    "type": "carousel",
    "items": [
    {
    "title": "Tacos",
    "description": "Description",
    "mediaUrl": "https://som.iitkgp.ac.in/images/71stFoundationDay.jpg",
    "actions": [
    {
    "text": "Select",
    "type": "postback",
    "payload": "TACOS"
    },
    {
    "text": "More info",
    "type": "link",
    "uri": "https://som.iitkgp.ac.in/images/71stFoundationDay.jpg"
    }
    ]
    },
    {
    "title": "Ramen",
    "description": "Description",
    "mediaUrl": "https://som.iitkgp.ac.in/images/71stFoundationDay.jpg",
    "actions": [
    {
    "text": "TemplateVisible",
    "type": "postback",
    "payload": "RAMEN"
    },
    {
    "text": "More info",
    "type": "link",
    "uri": "https://som.iitkgp.ac.in/images/71stFoundationDay.jpg"
    }
    ]
    }
    ]
    }
    };
    print(JSON.stringify(message));
    
  • File Message: Allows you to send a file to the user. This can be useful for sharing documents, PDFs, images, or other types of files. See example.

    var message = {
        "content":{
            type: 'file',
                role: 'appMaker',
                mediaUrl: 'https://media.smooch.io/templates/template-warranty.pdf'
        }
    }
    print(JSON.stringify(message))
    
  • Form Message: Allows you to collect information from users through a structured form. This can include text fields, dropdown menus, radio buttons, and more. See example.

    var message = {
        "content":{
            type: 'file',
                role: 'appMaker',
                mediaUrl: 'https://media.smooch.io/templates/template-warranty.pdf'
        }
    }
    print(JSON.stringify(message))
    
  • Quick Reply: Provides users with predefined response options that they can select with a single tap. This can streamline interactions and guide users towards specific actions. See example.

    var message = {
      "content": {
        type: 'text',
        text: 'Which language do you prefer?',
        actions: [
            {
                type: 'reply',
                text: 'English',
                iconUrl: 'http://imgur.com/taco.png',
                payload: 'Hollywood'
            },
            {
                type: 'reply',
                text: 'Hindi',
                iconUrl: 'http://imgur.com/burrito.png',
                payload: 'Bollywood'
            }
        ]
    }
    }
    print(JSON.stringify(message))
    
  • Location Request: Allows you to request the user’s location. This can be useful for services that require location information, such as finding the nearest store or providing location-based services. See example.

    var message = {
        "content":{
            type: 'text',
                role: 'appMaker',
                text: 'Let us know where you are.',
                actions: [
                    {
                        type: 'locationRequest',
                        text: 'Send location'
                    }
                ]
        }
    }
    print(JSON.stringify(message))
    

Create a Template

To learn how to create a template, click here.

Send a Template

Once you create a template, you can send it to a user. Learn more.

メニュー