GETTING STARTED
Kore.ai XO Platform
Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Quick Start Guide
Accessing the Platform
Navigating the Kore.ai XO Platform
Building a Virtual Assistant
Help & Learning Resources
Release Notes
Current Version
Recent Updates
Previous Versions
Deprecations
Request a Feature
CONCEPTS
Design
Storyboard
Overview
FAQs
Conversation Designer
Overview
Dialog Tasks
Mock Scenes
Dialog Tasks
Overview
Navigate Dialog Tasks
Build Dialog Tasks
Node Types
Overview
Intent Node
Dialog Node
Dynamic Intent Node
GenAI Node v2
Configure GenAI Node v2
GenAI Node
GenAI Prompt
Entity Node
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Process Node
Agent Transfer
Node Connections
Node Connections Setup
Sub-Intent Scoping
Entity Types
Entity Rules
User Prompts or Messages
Voice Call Properties
Knowledge AI
Introduction
Knowledge Graph
Introduction
Terminology
Build a Knowledge Graph
Manage FAQs
Knowledge Extraction
Import or Export Knowledge Graph
Prepare Data for Import
Importing Knowledge Graph
Exporting Knowledge Graph
Auto-Generate Knowledge Graph
Knowledge Graph Analysis
Answer from Documents
Alert Tasks
Small Talk
Digital Skills
Overview
Digital Forms
Digital Views
Introduction
Widgets
Panels
Session and Context Variables
Context Object
Intent Discovery
Train
NLP Optimization
ML Engine
Overview
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
LLM and Generative AI
Introduction
LLM Integration
Kore.ai XO GPT Module
Prompts & Requests Library
Co-Pilot Features
Dynamic Conversations Features
PII and Sensitive Data Anonymization
Guardrails
Intelligence
Introduction
Event Handlers
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Conversation Driven Dialog Builder
Sentiment Management
Tone Analysis
Default Standard Responses
Ignore Words & Field Memory
Test & Debug
Overview
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
Conversation Testing Overview
Create a Test Suite
Test Editor
Test Case Assertion
Test Case Execution Summary
Glossary
Health and Monitoring
NLP Health
Flow Health
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
Deploy
Channels
Publishing
Versioning
Analyze
Introduction
Dashboard Filters
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
Introduction
Custom Meta Tags
Create Custom Dashboard
Create Custom Dashboard Filters
LLM and Generative AI Logs
NLP Insights
Task Execution Logs
Conversations History
Conversation Flows
Conversation Insights
Feedback Analytics
Usage Metrics
Containment Metrics
Universal Bots
Introduction
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Store
Manage Assistant
Team Collaboration
Plan & Usage
Overview
Usage Plans
Templates
Support Plans
Invoices
Authorization
Conversation Sessions
Manage URLs
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Feedback Survey
Masking PII Details
Variables
Collections
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data
Overview
Guidelines
Data Table
Table Views
App Definitions
Data as Service
HOW TOs
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
Design Conversation Skills
Create a Sample Banking Assistant
Create a Transfer Funds Task
Create a Update Balance Task
Create a Knowledge Graph
Set Up a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Add Data to Data Tables
Update Data in Data Tables
Add Data from Digital Forms
Train the Assistant
Composite Entities
Use Traits
Use Patterns for Intents & Entities
Manage Context Switching
Deploy the Assistant
Configure an Agent Transfer
Use Assistant Functions
Use Content Variables
Use Global Variables
Intent Scoping using Group Node
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters
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
Enterprise Key Management
BYOK for AWS
Analytics for Bots Admin
Billing
  1. ホーム
  2. Docs
  3. Virtual Assistants
  4. Builder
  5. Alert Task
  6. 通知タスク – メッセージの定義

通知タスク – メッセージの定義

いくつかの通知タスクでは、こちらでご覧いただいた通り、Webhookによって送信されたペイロードによって通知が表示された際に、エンドユーザーに表示されるデータの見え方を定義します。

メッセージ定義の定義

タスクに対してBotの応答を2種類定義することができます。

  • 全チャネルのデフォルト: API リクエストと定義済のプロセッサからのペイロード応答に基づいた全チャネルのデフォルト タイトルとメッセージ応答を作成します。応答オブジェクトや独自の入力、Kore.ai システムから派生した [変数キー] のセット、カスタム変数、応答サンプルを組み合わせたデータを作成することができます。メッセージは通常、整形された HTML メッセージとして表示され、リクエスト オブジェクト データからの ID 番号や件名の変数を 1 つ以上含んでいます。
  • チャネル固有の応答: Facebook Messenger、Skype、SMS、Web/モバイル SDK など、特定のチャネル用にボット応答メッセージをカスタマイズすることができ、選択したチャネルに事前定義したメッセージ テンプレート (テーブル、リスト、グラフなど) を適用することもできます。
メッセージ定義エディター機能

アクション タスクのエディターを開くには、[ボットの応答] > [メッセージ定義] に移動します。メッセージ定義編集器は3つのタブで以下の特性を提供します:

  • 標準文字: 基本編集器のコントロールおよびHTMLのmarkupに介して、変数キーで応答を定義およびフォーマット化ができます。文字を入力して、次に太字、斜体、見出しのスタイル、ハイパーリンク、 並び直しのリストや並び直しないのリスト、そして線の増加のボタンで、フォーマットの調整ができます。
  • JavaScript: エンドユーザーのタスク応答メッセージを処理するカスタム コードを追加して変数を宣言し、変数キーを使用して、サードパーティー アプリケーションと対話できるようにします。
  • プレビュー: ボットのユーザーが見る出力メッセージの表示サンプルを、マークアップ付きで表示します。
変数キーの追加

以下のステップに従って変数キーを追加してください:

  1. 標準テキストモードや JavaScript モードで変数キーを追加するには、変数を追加したい場所にカーソルを合わせて [変数キー] をクリックします。
  2. [リクエスト/応答キー] ダイアログで、挿入する変数を含むキー ノードのタイプを開きます。
  3. のような、追加する変数を選択してresponse.data.id[OK]をクリックします。

Bot Response Tab Message Definition Keys

標準キー

[標準キー] は、以下の再利用可能なデータのための Kore.ai 変数のプレースホルダーです。

  • _labels_: GUID の代わりにフレンドリラベルを返します。例えば、WebサービスAPIからユーザデータを要求された場合、返されるプロジェクトやワークスペースのIDはGUIDとなります。_labels_ キーを使用して、GUID ではなく、ユーザー フレンドリーの GUID 名をエンドユーザーに表示することができます。Kore.ai では、次の例に示すようにドロップダウン コントロールが_labels_キー応答を格納します。
    { "_labels_": { "15379386734832": "roadlabs.com", "26377329985341": "Test Project", "workspace": "roadlabs.com", "project": "Test Project" }, "_fields_": { "workspace": "15379386734832", "project": "26377329985341" } }
  • _tenant_ – 定義済のエンタープライズ向けのテナントを返します。たとえば JIRA には、URL が https://koreteam.atlassian.net/browse/BBF-3265 となるよう、テナント koreteam が必要です。以下のように、_tenant_キーでタスク応答へのリンクを作成することができます。
  • _fields_ – エンドユーザーが提供する、ペイロードの応答の一部ではないタスク フィールドの入力を返すために使用します。たとえば JIRA タスクでは、エンドユーザーはワークスペース名を入力するように促されます。_fields_ キーを使用して、エンドユーザーの入力を格納します。
    _fields_["workspace"]
  • _last_run – 「2016-03-05T12:44:38+00:00」のような、ISO 8601 形式の Web サービスのポーリングの UTC 日付タイム スタンプを返すために使用します。たとえば、Web サービス リクエストがペイロード応答の全てのアクティビティを返す場合、_last_runキーを使用して_last_run値の前後に表示された結果を絞り込むことができます。_last_run
セッションキー

[セッション キー] は、単一セッション インスタンス におけるユーザー データ用の Kore.ai 変数プレースホルダーです。 セッションキー

  • UserContext.get(“_id”) – Kore.ai の userId です。
  • UserContext.get(“emailId”) – userId に関連付けられたメール アドレスです。
  • UserContext.get(“lastName”) – ユーザーの姓です。
  • UserContext.get(“firstName”) – ユーザーの名です。
  • UserContext.get(“profImage”) – ユーザーの画像やアバターのファイル名です。
  • UserContext.get(“profColor”) – ユーザーアカウントの色です。
  • UserContext.get(“activationStatus”) – ユーザーのアカウント ステータスです。
  • UserContext.get(“jTitle”) – ユーザーの役職です (定義されている場合) 。
  • UserContext.get(“orgId”) – ユーザーアカウントの組織 ID です (定義されている場合) 。
  • UserContext.get(“customData”) – 開発者が定義したカスタム キーです。
  • UserContext.get(“identities”) – ユーザーの代替 ID です (定義されている場合) 。

追加のセッションキーはボットタスクの定義そしてそのタスクに使用可能のキーのコンテキストの次第に、使用可能になります。セッションとコンテキストキーについての詳細については、タスクのセッション変数とコンテキスト変数を使用を参照してください。

応答キー

応答キーは [API 応答] タブにある [応答サンプル] のテキストから直接解析されます。応答キーは定義済の応答サンプルの次第に変わります。応答キー 次のリストは、Asanaタスクで使用できる応答キーの例です。

request.data.workspace request.data.projects request.data.name request.data.notes labels.498346170860 labels.30887755353556 labels["data.workspace"] labels["data.projects"] _tenant_ response.data.id response.data.created_at response.data.modified_at response.data.name response.data.notes response.data.completed response.data.assignee_status response.data.completed_at response.data.due_on response.data.due_at response.data.workspace.id response.data.workspace.name response.data.num_hearts response.data.parent response.data.followers[0].id response.data.followers[0].name response.data.hearted response.data.assignee response.data.projects[0].id response.data.projects[0].name response.data.memberships[0].project.id response.data.memberships[0].project.name response.data.memberships[0].section
レポート キー

レポートキーとはKore.ai 変数プレースホルダーとして、レポートテンプレート定義およびボットの応答を使用してユーザーがクリックできるメッセージに追加の情報へのリンクを表示します。 レポート キー

  • reportInfo.reportLink – [レポート テンプレートの定義] セクションで定義された、当該タスクのリンクです。
  • reportInfo.reportTitle – [レポート テンプレートの定義] セクションで定義された、当該タスクのタイトルです。
応答のプレビュー

メッセージ エディターで [プレビュー] をクリックすると、以下のオプションのうちの 1 つを使用して、応答プレビューを生成します。

  • テストとプレビュー – ボットのタスク設定ページを開いてタスク設定と認証を定義し、Asana のようなサードパーティーの Web サービスにより生成された応答のプレビューを表示します。
  • サンプル応答のプレビュー – タスクの [API リクエスト] タブの [応答サンプル] セクションで、定義済のキー/値ペアで提供されたサンプル データを介してプレビューを生成します。

カスタム JavaScript の応答の例

以下の例では、JavaScriptを使用して、タスクの応答メッセージが送信されたときにエンドユーザーに出力メッセージを表示するタイトルを投稿と説明を投稿セクションを定義する応答オブジェクトを示しています。以下の例では、descと書かれた変数は、JSON応答にキャプションの値が定義されている場合にのみ表示されます。

var desc = (caption !== "undefined" ? caption : "")

次の例では、タスクの [タイトル] を使用したクリック可能な URL が、タスクの応答メッセージに表示されます。

var tasklink = '' + title + '';

この最後の例では、リンク変数は、動画または写真のいずれかのタイプに依存します。タイプに応じて、適切なリンクが表示されます。

var link = ""; switch (type) { case "video": var video = (typeof(video_url) != "undefined") ? video_url : permalink_url; link = '<video controls><source src ="' + video + '" type="video/mp4"></video>'; break; case "photo": link = '<img src="' + image_permalink + '"></img>'; break; }

タスクのペイロード応答に基づいて、[JavaScript] タブでタスク固有の要件を処理するためのカスタム JavaScript を作成することができます。

チャネル固有のボットの応答

タスク応答メッセージは、応答メッセージが表示されるチャンネル、例えばKore.ai Messengerクライアント、電子メール、テキストメッセージなどに依存している場合があります。デフォルトでは、すべてのチャンネルのデフォルトで設定した応答メッセージが、すべてのチャンネルに送信されます。ただし、デフォルトの応答ではなく、単一や複数の20+サポートチャンネルに対して、特定の応答を定義して、そのチャンネルのエンドユーザーに表示することができます。

  1. 特定のチャネルの応答メッセージを定義するには、+チャネルを追加をクリックして、チャネルを選択ドロップダウンリストを表示します。
  2. たとえば、[Kore.ai] などのチャネルを選択して、[JavaScript] タブでチャネルの応答を設定します 。

各チャンネルには一つの応答が定義可能です。以下のJavaScriptの例は各チャンネルのKore.aiのデフォルトフォーマットテンプレートをオーバーライドする方法。

注意: 以下のキーを使用して、response.message(デフォルトのメッセージを文字列として返す)、response.message.choices(オプションの選択または確認メッセージタイプを配列として返す)のデフォルト値を返します。

  • Slack チャネルの上書き例
    var message = {}; var attachments = []; var attachment = { 'text': "Exception occurred during API execution", 'color': '#FFCC00', 'attachment_type': 'default' }; attachments.push(attachment); message.attachments = attachments; print(JSON.stringify(message));
  • FaceBook チャネルの上書き例
    var message = { text: response.message }; var buttons = []; for (var i = 0; i < response.choices.length; i++) { var choiceItem = response.choices[i]; if (choiceItem.length > 20) { choiceItem = choiceItem.substring( 0, 18) + '..'; } var element = { content_type: 'text', title: choiceItem, payload: choiceItem }; buttons.push(element); } message.quick_replies = buttons; print(JSON.stringify(message));
  • メール チャネルの上書き例
    var message = {}; var text = response.message + ' <br> '; for (var i = 0; i < response.choices.length; i++) { text = text.concat( '<u> + response.choices[i] + ' < /u> <br>'); } message.text = text; print(JSON.stringify(message));
  • SMS チャネルの上書き例
    var message = {}; var indexArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' ]; var text = response.message + '\n'; for (var i = 0; i < response.choices .length; i++) { text = text.concat(indexArray[i] + ') ' + response.choices[ i] + '\n'); } message.text = text; print(JSON.stringify(message));

通知タスク – メッセージの定義

いくつかの通知タスクでは、こちらでご覧いただいた通り、Webhookによって送信されたペイロードによって通知が表示された際に、エンドユーザーに表示されるデータの見え方を定義します。

メッセージ定義の定義

タスクに対してBotの応答を2種類定義することができます。

  • 全チャネルのデフォルト: API リクエストと定義済のプロセッサからのペイロード応答に基づいた全チャネルのデフォルト タイトルとメッセージ応答を作成します。応答オブジェクトや独自の入力、Kore.ai システムから派生した [変数キー] のセット、カスタム変数、応答サンプルを組み合わせたデータを作成することができます。メッセージは通常、整形された HTML メッセージとして表示され、リクエスト オブジェクト データからの ID 番号や件名の変数を 1 つ以上含んでいます。
  • チャネル固有の応答: Facebook Messenger、Skype、SMS、Web/モバイル SDK など、特定のチャネル用にボット応答メッセージをカスタマイズすることができ、選択したチャネルに事前定義したメッセージ テンプレート (テーブル、リスト、グラフなど) を適用することもできます。
メッセージ定義エディター機能

アクション タスクのエディターを開くには、[ボットの応答] > [メッセージ定義] に移動します。メッセージ定義編集器は3つのタブで以下の特性を提供します:

  • 標準文字: 基本編集器のコントロールおよびHTMLのmarkupに介して、変数キーで応答を定義およびフォーマット化ができます。文字を入力して、次に太字、斜体、見出しのスタイル、ハイパーリンク、 並び直しのリストや並び直しないのリスト、そして線の増加のボタンで、フォーマットの調整ができます。
  • JavaScript: エンドユーザーのタスク応答メッセージを処理するカスタム コードを追加して変数を宣言し、変数キーを使用して、サードパーティー アプリケーションと対話できるようにします。
  • プレビュー: ボットのユーザーが見る出力メッセージの表示サンプルを、マークアップ付きで表示します。
変数キーの追加

以下のステップに従って変数キーを追加してください:

  1. 標準テキストモードや JavaScript モードで変数キーを追加するには、変数を追加したい場所にカーソルを合わせて [変数キー] をクリックします。
  2. [リクエスト/応答キー] ダイアログで、挿入する変数を含むキー ノードのタイプを開きます。
  3. のような、追加する変数を選択してresponse.data.id[OK]をクリックします。

Bot Response Tab Message Definition Keys

標準キー

[標準キー] は、以下の再利用可能なデータのための Kore.ai 変数のプレースホルダーです。

  • _labels_: GUID の代わりにフレンドリラベルを返します。例えば、WebサービスAPIからユーザデータを要求された場合、返されるプロジェクトやワークスペースのIDはGUIDとなります。_labels_ キーを使用して、GUID ではなく、ユーザー フレンドリーの GUID 名をエンドユーザーに表示することができます。Kore.ai では、次の例に示すようにドロップダウン コントロールが_labels_キー応答を格納します。
    { "_labels_": { "15379386734832": "roadlabs.com", "26377329985341": "Test Project", "workspace": "roadlabs.com", "project": "Test Project" }, "_fields_": { "workspace": "15379386734832", "project": "26377329985341" } }
  • _tenant_ – 定義済のエンタープライズ向けのテナントを返します。たとえば JIRA には、URL が https://koreteam.atlassian.net/browse/BBF-3265 となるよう、テナント koreteam が必要です。以下のように、_tenant_キーでタスク応答へのリンクを作成することができます。
  • _fields_ – エンドユーザーが提供する、ペイロードの応答の一部ではないタスク フィールドの入力を返すために使用します。たとえば JIRA タスクでは、エンドユーザーはワークスペース名を入力するように促されます。_fields_ キーを使用して、エンドユーザーの入力を格納します。
    _fields_["workspace"]
  • _last_run – 「2016-03-05T12:44:38+00:00」のような、ISO 8601 形式の Web サービスのポーリングの UTC 日付タイム スタンプを返すために使用します。たとえば、Web サービス リクエストがペイロード応答の全てのアクティビティを返す場合、_last_runキーを使用して_last_run値の前後に表示された結果を絞り込むことができます。_last_run
セッションキー

[セッション キー] は、単一セッション インスタンス におけるユーザー データ用の Kore.ai 変数プレースホルダーです。 セッションキー

  • UserContext.get(“_id”) – Kore.ai の userId です。
  • UserContext.get(“emailId”) – userId に関連付けられたメール アドレスです。
  • UserContext.get(“lastName”) – ユーザーの姓です。
  • UserContext.get(“firstName”) – ユーザーの名です。
  • UserContext.get(“profImage”) – ユーザーの画像やアバターのファイル名です。
  • UserContext.get(“profColor”) – ユーザーアカウントの色です。
  • UserContext.get(“activationStatus”) – ユーザーのアカウント ステータスです。
  • UserContext.get(“jTitle”) – ユーザーの役職です (定義されている場合) 。
  • UserContext.get(“orgId”) – ユーザーアカウントの組織 ID です (定義されている場合) 。
  • UserContext.get(“customData”) – 開発者が定義したカスタム キーです。
  • UserContext.get(“identities”) – ユーザーの代替 ID です (定義されている場合) 。

追加のセッションキーはボットタスクの定義そしてそのタスクに使用可能のキーのコンテキストの次第に、使用可能になります。セッションとコンテキストキーについての詳細については、タスクのセッション変数とコンテキスト変数を使用を参照してください。

応答キー

応答キーは [API 応答] タブにある [応答サンプル] のテキストから直接解析されます。応答キーは定義済の応答サンプルの次第に変わります。応答キー 次のリストは、Asanaタスクで使用できる応答キーの例です。

request.data.workspace request.data.projects request.data.name request.data.notes labels.498346170860 labels.30887755353556 labels["data.workspace"] labels["data.projects"] _tenant_ response.data.id response.data.created_at response.data.modified_at response.data.name response.data.notes response.data.completed response.data.assignee_status response.data.completed_at response.data.due_on response.data.due_at response.data.workspace.id response.data.workspace.name response.data.num_hearts response.data.parent response.data.followers[0].id response.data.followers[0].name response.data.hearted response.data.assignee response.data.projects[0].id response.data.projects[0].name response.data.memberships[0].project.id response.data.memberships[0].project.name response.data.memberships[0].section
レポート キー

レポートキーとはKore.ai 変数プレースホルダーとして、レポートテンプレート定義およびボットの応答を使用してユーザーがクリックできるメッセージに追加の情報へのリンクを表示します。 レポート キー

  • reportInfo.reportLink – [レポート テンプレートの定義] セクションで定義された、当該タスクのリンクです。
  • reportInfo.reportTitle – [レポート テンプレートの定義] セクションで定義された、当該タスクのタイトルです。
応答のプレビュー

メッセージ エディターで [プレビュー] をクリックすると、以下のオプションのうちの 1 つを使用して、応答プレビューを生成します。

  • テストとプレビュー – ボットのタスク設定ページを開いてタスク設定と認証を定義し、Asana のようなサードパーティーの Web サービスにより生成された応答のプレビューを表示します。
  • サンプル応答のプレビュー – タスクの [API リクエスト] タブの [応答サンプル] セクションで、定義済のキー/値ペアで提供されたサンプル データを介してプレビューを生成します。

カスタム JavaScript の応答の例

以下の例では、JavaScriptを使用して、タスクの応答メッセージが送信されたときにエンドユーザーに出力メッセージを表示するタイトルを投稿と説明を投稿セクションを定義する応答オブジェクトを示しています。以下の例では、descと書かれた変数は、JSON応答にキャプションの値が定義されている場合にのみ表示されます。

var desc = (caption !== "undefined" ? caption : "")

次の例では、タスクの [タイトル] を使用したクリック可能な URL が、タスクの応答メッセージに表示されます。

var tasklink = '' + title + '';

この最後の例では、リンク変数は、動画または写真のいずれかのタイプに依存します。タイプに応じて、適切なリンクが表示されます。

var link = ""; switch (type) { case "video": var video = (typeof(video_url) != "undefined") ? video_url : permalink_url; link = '<video controls><source src ="' + video + '" type="video/mp4"></video>'; break; case "photo": link = '<img src="' + image_permalink + '"></img>'; break; }

タスクのペイロード応答に基づいて、[JavaScript] タブでタスク固有の要件を処理するためのカスタム JavaScript を作成することができます。

チャネル固有のボットの応答

タスク応答メッセージは、応答メッセージが表示されるチャンネル、例えばKore.ai Messengerクライアント、電子メール、テキストメッセージなどに依存している場合があります。デフォルトでは、すべてのチャンネルのデフォルトで設定した応答メッセージが、すべてのチャンネルに送信されます。ただし、デフォルトの応答ではなく、単一や複数の20+サポートチャンネルに対して、特定の応答を定義して、そのチャンネルのエンドユーザーに表示することができます。

  1. 特定のチャネルの応答メッセージを定義するには、+チャネルを追加をクリックして、チャネルを選択ドロップダウンリストを表示します。
  2. たとえば、[Kore.ai] などのチャネルを選択して、[JavaScript] タブでチャネルの応答を設定します 。

各チャンネルには一つの応答が定義可能です。以下のJavaScriptの例は各チャンネルのKore.aiのデフォルトフォーマットテンプレートをオーバーライドする方法。

注意: 以下のキーを使用して、response.message(デフォルトのメッセージを文字列として返す)、response.message.choices(オプションの選択または確認メッセージタイプを配列として返す)のデフォルト値を返します。

  • Slack チャネルの上書き例
    var message = {}; var attachments = []; var attachment = { 'text': "Exception occurred during API execution", 'color': '#FFCC00', 'attachment_type': 'default' }; attachments.push(attachment); message.attachments = attachments; print(JSON.stringify(message));
  • FaceBook チャネルの上書き例
    var message = { text: response.message }; var buttons = []; for (var i = 0; i < response.choices.length; i++) { var choiceItem = response.choices[i]; if (choiceItem.length > 20) { choiceItem = choiceItem.substring( 0, 18) + '..'; } var element = { content_type: 'text', title: choiceItem, payload: choiceItem }; buttons.push(element); } message.quick_replies = buttons; print(JSON.stringify(message));
  • メール チャネルの上書き例
    var message = {}; var text = response.message + ' <br> '; for (var i = 0; i < response.choices.length; i++) { text = text.concat( '<u> + response.choices[i] + ' < /u> <br>'); } message.text = text; print(JSON.stringify(message));
  • SMS チャネルの上書き例
    var message = {}; var indexArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' ]; var text = response.message + '\n'; for (var i = 0; i < response.choices .length; i++) { text = text.concat(indexArray[i] + ') ' + response.choices[ i] + '\n'); } message.text = text; print(JSON.stringify(message));
メニュー