Botの自動応答設定機能(β版)
※ この機能はβ版の機能です。頻繁な仕様変更が入る可能性があります。
※ この記事は古いバージョンです。この機能の新しいバージョンはこちら
この機能について
- 「ルールベースの簡易的な自動応答」をするためのチャットBotを作成できます
- 「Botの自動応答設定(β)」というプラグインをKARTEのプロジェクトにインストールすることで、使用可能になります
- 本機能では、以下に挙げたKARTEのAPI/Webhookを利用します
- より高度なチャットBotについては、本機能ではなく、KARTE Talk APIを使った外部Botサーバーを独自に構築していただくことで実現可能です
管理画面側(例)
__グローバルメニュー > すべてのプロダクト > Talk > トーク設定__をクリックします
エンドユーザー側(例)
Botを使ったチャット運用シナリオ(例)
- 「対応中ではないエンドユーザー」がチャットパネルを開いたとき、自動でBotがアサインされます
- Botは、自分がアサインされたことを検知して、そのエンドユーザーの問い合わせに対応します
- まず、いくつかの選択肢をボタンで表示します
- ボタンが押された場合、対応する返答をボタンやテキストでさらに返します
- 最後に解決したかどうかをボタンで質問します
- 解決した場合は、そのユーザーを「対応済み」ステータスにして、Botのアサインを外します
- 解決しない場合は、そのユーザーを「対応中」ステータスのままにして、Botのアサインを外します
- 有人オペレーターは、Botだけで解決できなかった問い合わせに対応します
- KARTE TALK画面の「担当オペレーターがアサインされていない、対応中のエンドユーザー」をウォッチします
- Botの自動応答では対応しきれなかったユーザーがこれに該当します
- 該当のユーザーがいる場合は、チャットのやりとりを手動で行います
- チャットが解決した場合は、そのユーザーを「対応済み」ステータスにして、自分のアサインを外します
- KARTE TALK画面の「担当オペレーターがアサインされていない、対応中のエンドユーザー」をウォッチします
- 対応したユーザーが再びチャットパネルを開いた場合は、再び自動でBotがアサインされ、1に戻ります
設定方法
必要なプラグインのインストール
- 以下のプラグインをインストールします
- 「Botの自動応答設定(β)」
- 「API連携」
- 「Webhook」
- プラグインのインストールは、KARTEサポートチーム側で実施します
サービスアカウントの作成
- 開発者向けコンソール画面から、Bot用のサービスアカウントを作成します
- 以下のように設定します
- Scope
- Talk > /message にチェック
- Talk > /assign にチェック
- Webhook
- messageに以下を入力(API_KEYの部分はKARTEのプロジェクトのapi_keyを入力してください)
https://t.karte.io/hook/API_KEY/bot_autoreply/webhook
- ※ Botを複数併用する場合は、1つのサービスアカウントだけでWebhookの設定をしてください
- messageに以下を入力(API_KEYの部分はKARTEのプロジェクトのapi_keyを入力してください)
- アクセストークン
- 自動応答を使うKARTEのプロジェクトを選択し、トークンを発行
- Scope
- Botの「使用する」をONにします
- Bot NameとBot Imageを設定します
Botの自動アサイン設定
- 「Botアサイン用Webhookアクション」を接客サービスで配信することで、Botの自動アサインを実現します
- 「対応中ではない」ユーザーだけに配信します
除外セグメントの作成
- 以下の条件で配信対象から除外するためのセグメントを作成します
- セグメント名(任意)
- 「チャット対応中」
- 設定値
- すべての期間 > KARTE Talkログ >
content.log_data.chatStatus
> 最新の値 >open
waiting
> のどれかと一致する
- セグメント名(任意)
対象イベントの設定
- チャットアイコン配信用の接客サービスで、Scriptの末尾に以下の記述を追記します
- EVENT_NAMEは、任意に変更してください
- ここでは、
unassign_user_chat_open
とします
- ここでは、
- EVENT_NAMEは、任意に変更してください
var EVENT_NAME = 'unassign_user_chat_open';
var chatOpenTracked = false;
chat.emitter.on('activate', function(){
if(chatOpenTracked) return;
tracker.track(EVENT_NAME);
chatOpenTracked = true;
})
- テスト配信し、チャットパネルを開いた場合にイベントの発生を確認します
Botアサイン用Webhookアクションの配信
- [接客サービス > 新規作成 > 他サービスにデータを連携する]から、テンプレート一覧画面を開きます
- 「Botアサイン用Webhook」というWebhookテンプレートを選択します
- 「Botの自動応答設定(β)」プラグインがインストールされたプロジェクトのみ表示されます
- アクション編集画面から、以下を設定します
- サービスアカウントのclient_id
- コンソール画面から取得
- サービスアカウントのaccess_token
- コンソール画面から取得
- api_key
- プロジェクト設定画面から取得
- サービスアカウントのclient_id
- その他、接客サービスの配信設定をします
- 対象ユーザー > セグメントで絞り込む
- 「チャット対応中」 「に該当しない」
- 対象イベント
- アクセス毎
unassign_user_chat_open
送信日時(date) が 存在する
- 「同時配信を有効にする」にチェック
- 対象ユーザー > セグメントで絞り込む
- 接客サービスを公開し、以下を確認します
- 「対応中ではない」かつ「アサイン無し」のテストユーザーにチャットアイコンを配信し、チャットパネルを開く
- ユーザー詳細画面で、
unassign_user_chat_open
イベントが発生していることを確認 - TALK画面で、該当のユーザーにBotがアサインされていることを確認
- ユーザーが表示されない場合は、テストユーザー側から適当なメッセージを送信してください
Botの自動応答設定
- [トーク設定 > Botの自動応答設定(β)]から、該当のBotに関する自動応答設定をします
- [Bot追加]ボタンから必要な情報を入力します
- サービスアカウントのclient_id(必須)
- サービスアカウントのアクセストークン(必須)
- 説明
- アサイン時やボタンクリック時のルールを設定します
- 問い合わせ完了時のボタンクリック時ルールに、たとえば以下のような設定をします(実際の運用に合わせて設定してください)
- 解決した場合
- 「アサインを外す」にチェック
- 「対応済みにする」にチェック
- 解決していない場合
- 「アサインを外す」にチェック
- 解決した場合
- [Bot追加]ボタンから必要な情報を入力します
Bot自動応答トリガー用Webhookアクションの配信
2019/11/27頃のKARTEの仕様変更によって、assign API経由のアサインでassign Webhookが飛ばなくなりました。それにより、このWebhook接客サービスを追加で配信する必要が生じました。
- [接客サービス > 新規作成 > 他サービスにデータを連携する]から、テンプレート一覧画面を開きます
- 「Bot自動応答トリガー用Webhook」というWebhookテンプレートを選択します
- 「Botの自動応答設定(β)」プラグインがインストールされたプロジェクトのみ表示されます
- アクション編集画面から、以下を設定します
- サービスアカウントのclient_id
- コンソール画面から取得
- api_key
- プロジェクト設定画面から取得
- サービスアカウントのclient_id
- その他、接客サービスの配信設定をします
- 対象ユーザー
- 全員
- 対象イベント
- アクセス毎
KARTE Talkログ content.log_data.assignee_id が bot-#{BOT_CLIENT_ID} に等しい
#{BOT_CLIENT_ID}
の部分は、サービスアカウントのclient_idを指定してください
- AND
KARTE Talkログ content.log_data.assignor_is_bot が true に等しい
- 「同時配信を有効にする」にチェック
- 対象ユーザー
- 接客サービスを公開し、以下を確認します
- Botがアサインされたタイミングで、自動応答設定で設定したアサイン時メッセージが送られることを確認します
注意点
- この機能は、内部的に、KARTEのTalk APIを使用しています。APIの利用制限の分間リクエスト数上限を超える場合、エンドユーザーへのメッセージ送信が行われない場合があります
- この機能はβ版の機能です。頻繁な仕様変更が入る可能性があります
複数のBot自動応答を併用する場合
- サービスアカウント
- 設定するBotの数だけ、サービスアカウントを作成します
- Webhookの設定については、どれか一つのサービスアカウントでのみ設定してください
- 複数のサービスアカウントでWebhook URLを設定すると、自動応答が重複して行われます
- Botアサイン用Webhookアクション
- 設定するBotの数だけ、Webhookアクションを配信する接客サービスを作成します
- Botの使い分けロジックに応じて、接客サービスの配信設定を変更してください
FAQ
Q. ボタン別のクリック数を集計することはできますか?
- 下記の手順で、ボタンクリック時にカスタムイベントを発生させることが可能です
- [トーク設定 > Botの自動応答設定(β)]の該当するボタンについて、イベント送信設定をします
- 「ボタン編集」のモーダルを開きます
- 「イベント送信」の「送信する」にチェックを入れます
- ボタンクリック時にKARTEに送信するイベントを定義します
- イベント名
- 例)
chat_bot_button_click
- 例)
- 項目名
- フィールドの名前を指定します
- 例)
question
、result
- 項目値
- フィールドの値を指定します
- 例)
〇〇とは何ですか?
、resolved
- イベント名
- Bot自動応答を有効にし、チャットパネル内の選択肢ボタンをクリックしてイベントが発生することを確認します
- [トーク設定 > Botの自動応答設定(β)]の該当するボタンについて、イベント送信設定をします
- 指標のカスタマイズなど接客サービスの効果測定機能によって、イベント発生数のおおよそのボリュームを把握することが可能です
- KARTE Datahubをご利用中であれば、Datahubのクエリ画面から、該当のイベントをフィールド値毎に集計するためのクエリを作成することで自由に集計が可能です