チャットボットプラスでは、テキストフォームに入力した内容を、Googleスプレッドシートに検索をかけ、必要な情報をチャット上に返すことができます。
GoogleスプレッドシートとはGoogle社が提供している表計算ソフトで、Excelの様に関数を入力したり、グラフを作成できます。またExcelと異なる点としては、同時編集が可能なことや自動保存機能が備わっていることです。大変便利なこのGoogleスプレッドシートとチャットプラスを連携させる方法を、今回ご案内します。
※分かりやすくするために、以下の条件で設定します。
・キーワードを入力できるテキストフォームは1つ
・送信されたキーワードを会社名、担当者、電話番号、メールアドレス全ての要素で検索する
・少しでも一致する箇所が存在した場合、その会社のメールアドレスを担当者発言として返答する
Googleスプレッドシートの準備
APIトークンの取得
(1) 管理画面右上の設定ボタンをクリックします。
(2) 画面左「外部連携」>「API入力」をクリックします。
(3) 画面左「APIトークン発行」をクリックします。
(4) パスワード欄にチャットプラスアカウントのパスワードを入力し、「APIトークン発行」ボタンをクリックします。
(5)「注意!」と書かれたメッセージが表示されるので、内容確認の後「発行」ボタンをクリックします。
(6) 赤字でAPIトークンが表示されるので、コピーしておきます。
コードの設置
(1) データが存在するGoogleスプレッドシートを開き、「ツール」>「スクリプトエディタ」をクリックします。
(2)「function myFunction() { }」と書かれたエディタが表示されるので、以下のコードをコピーし、このエディタに上書きしてペーストします。
function doPost(e) { var jsonString = e.postData.getDataAsString(); var data = JSON.parse(jsonString); var keyword = data.word; var room_id = data.room_id; var agent = data.agent; var site_id = data.siteId; var ss = SpreadsheetApp.getActiveSheet(); var sheet = ss.getDataRange().getValues(); var message; if (keyword == "") { message = "検索ワードを入力してください。"; } else { var lists = []; for (var i = 0; i < sheet.length; i++) { var word = new RegExp(keyword, 'g'); var search = word.test(sheet[i]); if (search != false) { lists.push("\n" + sheet[i][3]); } } if (lists.length == false) { message = "”" + keyword + "”に該当する項目はありません。" } else { message = "キーワード: ”" + keyword + "” に該当する連絡先は" + lists + "\nです。"; //sheet[i][3]がメアドに該当する } } var sendToChat = { "to": room_id, "agent": agent, "messages": [{ "type": "text", "text": message }], //APIトークン "accessToken": "APIトークン", "siteId": site_id }; var options = { 'method': 'POST', 'contentType': 'application/json', 'payload': JSON.stringify(sendToChat) }; UrlFetchApp.fetch('https://app.chatplus.jp/api/v1/send', options); }
(3) ペーストしたコードの40行目に「"accessToken": "APIトークン"」と書かれたコードがあるので、「APIトークン」という文字を、手順「APIトークンの取得」(6)でコピーしたAPIトークンで上書きします。
※「""」は削除せず、そのまま残します。
Googleスプレッドシートに反映
(1) Googleスプレッドシートのメニューから、「公開」>「ウェブアプリケーションとして導入...」をクリックします。
(2) プロジェクト名を変更する様表示されるので、任意のプロジェクト名を入力します。
(3) 以下の画面が表示されるので、「Project version」のプルダウンから「New」を、「Execute the app as」のプルダウンから「Me」を、「Who has access to the app」のプルダウンから「Anyone, even anonymous」を、それぞれクリックして選択します。
※「Project version」のプルダウンで「New」を選択した後、枠内には任意の値を入力します(空欄でも可)
(4)「Deploy」ボタンをクリックします。
その場合、「許可を確認」>「アカウントを選択」>「詳細」>「会社検索に移動」>「許可」をクリックし、Googleスプレッドシートにアクセスすることを許可します。
(5)「Deployが完了」したことを伝える画面が表示されるので、「Current web app URL」枠内のURLをコピーします。
(6)「OK」ボタンをクリックします。
続いて、チャットボットの準備に移ります。
チャットボットの準備
(1) 管理画面右上の設定ボタンをクリックします。
(2) 画面左「チャット」>「機能」>「チャットボット+」をクリックします。
(3)「パーツ追加」をクリックします。
(4)「パーツ名」「概要」を入力します。
※画面右上のIDの欄は空欄で構いません。チャットボットプラス作成時に自動でIDが割り振られます。
(5)「ルールを追加」ボタンをクリックします。
(6) 表示ルール1つ目のプルダウンから「お客様の発言」をクリックして選択し、2つ目の枠内に「検索」と入力、3つ目のプルダウンから「一致する」をクリックして選択します。
(7) アクションのプルダウンから「テキストフォーム」をクリックして選択します。
(8) 手順(7)下のプルダウンから、「postback(JSON)」をクリックして選択し、「送信先URL」枠内に、上記手順「Googleスプレッドシートに反映」(5)でコピーした「Current web app URL」をペーストします。
(9)「POSTデータにチャット情報を含める」にチェックを入れます。
(10) テキストフォームの「名前」欄に、「word」と入力し、「ラベル」欄、「候補1,候補2,・・・」欄に任意の文字列を入力します。
※ラベルには入力する内容を表すタイトルを入力し、候補には入力例を記入すると、わかりやすいです。
(11)「更新」ボタンをクリックします。
(12) チャットボットプラスのルール一覧から、設定したルールを「ON」にします。
※クリックすると、「ON/OFF」が切り替わります。
動作確認
(1) チャット画面を開き、「検索」の選択肢をクリックします。
(2) (1)の発言を受け、チャットにGoogleスプレッドシートへの、データ検索フォームが表示されます。
(3) 表示されたフォームに、連絡先を知りたい会社の名前等を入力・送信します。
※「山田太郎」という担当者を検索したとき、「山田」「太郎」「山」など部分的に一致すれば、該当するメールアドレスを返答します。
(4) プログラミングが処理し終わるまで数秒お待ちいただくと、画面上に担当者の発言として「キーワード: "〇〇" に該当する連絡先は~~です。」と表示されます。
※複数該当するときは、該当分全て表示されます。
未入力で送信した場合:「検索ワードを入力してください」と表示されます。