Rocket.ChatとENOKIを連携しよう

 2021.08.27  三和コムテック

本記事は『Rocket.Chat』と株式会社エノキ様(2021年10月1日にアイフォーカス・ネットワーク株式会社より社名変更)が提供している会話プラットフォーム『ENOKI』との連携方法のご紹介となります。
『ENOKI』と連携することで簡単なQA対応を自動化することができ、応答の迅速化、工数削減、などが期待できます。

本記事による連携設定にて以下の利用が可能となります。

  • Rocket.Chatワークスペース内でのENOKIとの対話

ENOKIとは

ENOKIは、CSVファイルによるデータ連携などにより既存のFAQデータを活用することで短期間での運用開始を可能とした、企業向けの会話プラットフォームを提供しています。
顧客との会話によるコミュニケーションのデジタル化に貢献するAIチャットボットとして、状況に応じて最適なパフォーマンスを得るために複数のAIエンジンから構成されたハイブリットなAIエンジンを持ち、またENOKI独自のデータ構造によりシナリオの作成も不要となっています。

ENOKIの詳細はこちら

新しい着信Webhookを作成する

  1. 管理者用パネルを開きます。
  2. パネル左側にある一覧から、「サービス連携」をクリックします。
  3. 表示されたWebhook一覧画面の右上にある「+New」ボタンをクリックします。
  4. 左上のタブから「Outgoing」を選択し、表示される項目を以下のように設定していきます。
  • イベントトリガーは『メッセージが送信されました』を選択します。
  • 着信Webhookの設定を有効にするため有効のトグルボタンをオンにします。

Rocket.ChatとENOKIを連携しよう 1

  • 名前では作成中の着信Webhookに任意の名前を設定します。
  • チャンネルではENOKIと対話を行うRocket.Chatワークスペース上のチャンネルを設定します。
    チャンネル名の前に"#"をつける必要があります。

Rocket.ChatとENOKIを連携しよう 2

  • URLsには連携先となるENOKIが提供しているAPIエンドポイントを設定します。
  • 投稿ユーザーにはRocket.Chatワークスぺ―ス上に存在する任意のユーザー名を設定します。
Rocket.ChatとENOKIを連携しよう 3
  • スクリプトを有効にするのトグルボタンをオンにします。
    Scriptに以下のコードを設定します。

 

class Script {
 prepare_outgoing_request({ request }) {
  if (request.data.text == 'はい') {
   request.data.text= '@@yes';
  } else if (request.data.text == 'いいえ') {
   request.data.text= '@@no';
  } else if (request.data.text == '別の質問') {
   request.data.text = 'reset';
  } else {
  }
  paramtext = encodeURIComponent(request.data.text);
  //botによる投稿を除外
  if (request.data.bot) {
   return { };
  } else {
   //ENOKIへパラメータを送信
   return {
    url: request.url + '?cuid=' + request.data.user_id + '&text=..' + paramtext + '&version=16'
   };
  }
 }
 //ENOKIからのレスポンスに対する処理
 process_outgoing_response({ request, response }) {
  let content = {};
  let textItem = "";
  let title = response.content.tts.ttsItem;
  let enter_msg = "";
  //メッセージの抽出
  for (const elem of title) {
   for (const elem2 of elem["text"]) {
    if (elem2.includes("{")) {
     const enter_msg2 = JSON.parse(elem2);
     enter_msg = enter_msg2.button;
    } else if (elem2.includes("<")) {
    } else {
     textItem = textItem + elem2 +"\n";
    }
   }
  }
  content.text = textItem;
  let btn = response.content.recommends.hint;
  let counter = 0;
  let b_counter = 0;
  if (enter_msg.length > 0) {
   content.attachments = [ {"title": "選択肢", "actions": [ {"type": "button", "text" : "text", "msg" : "text", "msg_in_chat_window" : true} ] } ];
   for (const enter_btn of enter_msg) {
    content.attachments[0].actions[b_counter] = {"type": "button", "text" : enter_btn["label"], "msg" : enter_btn["label"], "msg_in_chat_window" : true };
    b_counter += 1;
   }
  } else {
  }
  //回答に選択肢を含む場合の処理
  if (btn.length > 0) {
   content.attachments = [ {"title": "選択肢", "actions": [ {"type": "button", "text" : "text", "msg" : "text", "msg_in_chat_window" : true} ] } ];
   for (const name of btn) {
    content.attachments[0].actions[counter] = {"type": "button", "text" : name["title"], "msg" : name["title"], "msg_in_chat_window" : true };
    counter += 1;
   }
  } else {
   if (textItem.includes("問題は解決しましたか?")) {
     content.attachments = [ {"title": "フィードバック", "actions": [ {"type": "button", "text" : "はい", "msg" : "はい", "msg_in_chat_window" : true} ,{"type": "button", "text" : "いいえ", "msg" : "いいえ", "msg_in_chat_window" : true} ,{"type": "button", "text" : "別の質問", "msg" : "別の質問", "msg_in_chat_window" : true} ] } ];
   } else {
   }
  }
  return {
   content: content
  };
 }
}

Rocket.ChatとENOKIを連携しよう 4

 

各項目の設定完了後、「保存」をクリックします。



連携の設定は以上となります。
こちらの設定を行うことで、Rocket.Chatのワークスぺ―スの連携チャンネル上で以下のようなENOKIチャットボットとの対話が可能となります。

Rocket.ChatとENOKIを連携しよう 5

本製品の詳細は製品ページまで。
Rocket.ChatのFAQページもございます。

お問合せについては、こちらよりお願いいたします

Rocket.Chatソリューションカタログ

RECENT POST「Rocket.Chat」の最新記事


【実は無料で使えます】Rocket.Chat構築とおススメ設定方法
Rocket.Chat

【実は無料で使えます】Rocket.Chat構築とおススメ設定方法

Rocket.Chat おすすめの使い方|便利機能をご紹介!
Rocket.Chat

Rocket.Chat おすすめの使い方|便利機能をご紹介!

Rocket.Chatの使い方|通知っていつ届くの?
Rocket.Chat

Rocket.Chatの使い方|通知っていつ届くの?

ビジネスチャットは情報漏洩やアカウント乗っ取りなどのリスクは大丈夫?
Rocket.Chat

ビジネスチャットは情報漏洩やアカウント乗っ取りなどのリスクは大丈夫?

Rocket.ChatとENOKIを連携しよう
ブログ無料購読のご案内

おすすめ資料

PAGETOP