この機能はサーバーサイドAPIをご利用のお客様に限りご利用いただけます。サーバーサイドAPIをご検討の場合は、担当までご連絡ください。

※ この機能はβ版の機能です。頻繁な仕様変更が入る可能性があります。

この機能について

管理画面側(例)

null

null

エンドユーザー側(例)

null

Botを使ったチャット運用シナリオ(例)

  1. 「対応中ではないエンドユーザー」がチャットパネルを開いたとき、自動でBotがアサインされます
  2. Botは、自分がアサインされたことを検知して、そのエンドユーザーの問い合わせに対応します
    • まず、いくつかの選択肢をボタンで表示します
      • ボタンが押された場合、対応する返答をボタンやテキストでさらに返します
      • 最後に解決したかどうかをボタンで質問します
      • 解決した場合は、そのユーザーを「対応済み」ステータスにして、Botのアサインを外します
      • 解決しない場合は、そのユーザーを「対応中」ステータスのままにして、Botのアサインを外します
  3. 有人オペレーターは、Botだけで解決できなかった問い合わせに対応します
    • KARTE TALK画面の「担当オペレーターがアサインされていない、対応中のエンドユーザー」をウォッチします
      • Botの自動応答では対応しきれなかったユーザーがこれに該当します
      • 該当のユーザーがいる場合は、チャットのやりとりを手動で行います
      • チャットが解決した場合は、そのユーザーを「対応済み」ステータスにして、自分のアサインを外します
  4. 対応したユーザーが再びチャットパネルを開いた場合は、再び自動でBotがアサインされ、1に戻ります

設定方法

必要なプラグインのインストール

  • 以下のプラグインをインストールします
    • 「Botの自動応答設定(β)」
    • 「API連携」
    • 「Webhook」
  • プラグインのインストールは、KARTEサポートチーム側で実施します

KARTE AppsでAppの作成

  • 管理画面のグローバルナビゲーションのストアアイコン(機能を拡張する)からKARTE Appsを開きます。
    右上の 作成 からBot用のAppを作成します
  • 以下のように設定します
    • Scope
      • Talk > message.read にチェック
      • Talk > message.write にチェック
      • Talk > message.reply にチェック
      • Talk > assign.read にチェック
      • Talk > assign.write にチェック
    • Webhook
      • Webhook Url に次を入力
        • https://api-systems.karte.io/chatbot/hook
      • Subscribe Events に Assign と Message(ユーザ) を設定
      • ※ Botを複数併用する場合は、1つのサービスアカウントだけでWebhookの設定をしてください
    • アクセストークン
      • 自動応答を使うKARTEのプロジェクトを選択し、トークンを発行
  • Botの「使用する」をONにします
  • Bot NameとBot Imageを設定します

null

Botの自動アサイン設定

  • 「[KARTE TALK]オペレータアサイン」を接客サービスで配信することで、Botの自動アサインを実現します
    • 「対応中ではない」ユーザーだけに配信します

除外セグメントの作成

  • 以下の条件で配信対象から除外するためのセグメントを作成します
    • セグメント名(任意)
      • 「チャット対応中」
      • 設定値
      • すべての期間 > KARTE Talkログ > content.log_data.chatStatus > 最新の値 > open waiting > のどれかと一致する

対象イベントの設定

  • チャットアイコン配信用の接客サービスで、Scriptの末尾に以下の記述を追記します
    • EVENT_NAMEは、任意に変更してください
      • ここでは、unassign_user_chat_openとします
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アクションの配信

  • [接客サービス > 新規作成]から、テンプレート一覧画面を開きます
  • 「[KARTE TALK]オペレータアサイン」というテンプレートを選択します
    • 「Botの自動応答設定(β)」プラグインがインストールされたプロジェクトのみ表示されます
  • アクション編集画面から、以下を設定します
    • assignee_id
      • bot-${client_id} の形式で入力
      • 例)client_idが12345の場合は、bot-12345とすること
  • その他、接客サービスの配信設定をします
    • 対象ユーザー > セグメントで絞り込む
      • 「チャット対応中」 「に該当しない」
    • 対象イベント
      • アクセス毎
      • unassign_user_chat_open 送信日時(date) が 存在する
    • 「同時配信を有効にする」にチェック
  • 接客サービスを公開し、以下を確認します
    • 「対応中ではない」かつ「アサイン無し」のテストユーザーにチャットアイコンを配信し、チャットパネルを開く
    • ユーザー詳細画面で、unassign_user_chat_openイベントが発生していることを確認
    • TALK画面で、該当のユーザーにBotがアサインされていることを確認
      • ユーザーが表示されない場合は、テストユーザー側から適当なメッセージを送信してください

Botの自動応答設定

基本設定

  • [トーク設定 > Botの自動応答設定(β)]から、該当のBotに関する自動応答設定をします
    • [Bot追加]ボタンから必要な情報を入力します
      • Appのclient_id(必須)
      • Appのアクセストークン(必須)
      • 説明
    • アサイン時やボタンクリック時のルールを設定します

注意点

  • この機能は、内部的に、KARTEのTalk APIを使用しています。APIの利用制限の分間リクエスト数上限を超える場合、エンドユーザーへのメッセージ送信が行われない場合があります
  • ボタンクリック時のアクションを4つ以上設定するとエラーが発生します
  • この機能はβ版の機能です。頻繁な仕様変更が入る可能性があります

複数のBot自動応答を併用する場合

  • KARTE Apps > App
    • 設定するBotの数だけ、Appを作成します
    • Webhookの設定については、どれか一つのAppでのみ設定してください
      • 複数のAppでWebhook URLを設定すると、自動応答が重複して行われます
  • Botアサイン用Webhookアクション
    • 設定するBotの数だけ、Webhookアクションを配信する接客サービスを作成します
    • Botの使い分けロジックに応じて、接客サービスの配信設定を変更してください

FAQ

Q. ボタン別のクリック数を集計することはできますか?

  • 下記の手順で、ボタンクリック時にカスタムイベントを発生させることが可能です
    • [トーク設定 > Botの自動応答設定(β)]の該当するボタンについて、イベント送信設定をします
      • 「ボタン編集」のモーダルを開きます
      • 「イベント送信」の「送信する」にチェックを入れます
      • ボタンクリック時にKARTEに送信するイベントを定義します
        • イベント名
          • 例) chat_bot_button_click
        • 項目名
          • フィールドの名前を指定します
          • 例) questionresult
        • 項目値
          • フィールドの値を指定します
          • 例) 〇〇とは何ですか?resolved
    • Bot自動応答を有効にし、チャットパネル内の選択肢ボタンをクリックしてイベントが発生することを確認します
  • 指標のカスタマイズなど接客サービスの効果測定機能によって、イベント発生数のおおよそのボリュームを把握することが可能です
  • KARTE Datahubをご利用中であれば、Datahubのクエリ画面から、該当のイベントをフィールド値毎に集計するためのクエリを作成することで自由に集計が可能です