Googleフォーム×kintone連携で抜け・漏れなしの問い合わせ対応

世界的なコロナウイルスの蔓延により、非対面、つまりオンラインでの営業活動が重要視されるようになってから早半年以上が経過しました。
徐々に人の動きも戻ってきてはいますが、完全に以前と同じ、つまり直接会うことが前提の社会の仕組みには戻らないだろうと言われています。

オンラインでの非対面営業の方法も、Zoom等を活用したオンライン商談やFacebookやYouTube等での広告等、多岐にわたり、それら様々なツールを使いこなせるかどうかが今後の命運を握っているといっても過言ではない状況です。
そんな情勢の中、コムデックでは自社のホームページを「非対面での営業ツール」のひとつと位置づけています。
まず自社を知ってもらうこと、そしてそこからお問い合わせいただくこと。オンライン商談が当たり前の現代において、『自社ホームページからのお問い合わせ』はとても重要なお客様との接点です。

届いたお問い合わせに、抜け漏れなく、かつ素早く対応したい…!
お問い合わせの履歴や対応状況も管理したい…!
そんな担当者の要望から、コムデックでは「IT導入補助金」に関するお問い合わせフォームを「Googleフォーム」で作成し、その結果を自動的にkintoneに登録させる仕組みを導入いたしました。

こちらが意図した情報を入力いただき、それを自動で集計するところまで。
今回はアンケート作成から導入までのプロセスを一挙大公開いたします!
無料でご利用いただける仕組みですので、ぜひご活用ください!

「Google フォーム」とは?

一度はご利用いただいた事がある方も多いと思いますが、Googleアカウントさえあれば、だれでも無料で活用できるアンケートフォームです。
Googleフォームを活用する事で、顧客からの問い合わせフォーム等を直観的に作成できるツールとして、幅広く活用されています。

連携方法

【kintoneで連携先のアプリから連携に必要な情報を取得】

※ここから取得する情報はGoogleフォームと連携する際に必要な情報となりますので、メモ帳等に貼り付けてください。

①kintone情報の取得

kintoneポータルにアクセスいただき、URLから設定に必要なkintone情報を取得できます。
https://xxx.cybozu.com/k 下記画像でいうと、「comdec.cybozu.com」です。

②アプリ名の取得

下記画像でいうと「Cld_お問い合わせフォーム管理」となります。

③アプリIDの取得

アプリを開いていただき、画面上部のURLからアプリIDを取得できます。
URLは、「(ドメイン名).cybozu.com/k/(アプリID)/」で構成されております。下記画像でいうと、アプリIDは「1065」となります。

④APIトークンの取得

・アプリの歯車マークから設定を選択

・APIトークンを選択

・APIトークンIDを作成し、APIトークンIDを取得

※レコード追加にチェックが入っているかを確認してください。

⑤連携する項目のフィールドコードの取得

※この部分は連携設定を行う際に都度確認していただいても問題ございません。

・アプリの歯車マークからフォームを選択

・連携したい項目の設定画面を開く

・連携項目のフィールドコードを取得

続いて、Googleフォームでアンケートを作成し、連携設定を行いましょう

⑥Googleフォームとkintoneの連携設定

https://docs.google.com/forms/ から、Googleフォーム作成ページにアクセスし、新しいフォームから「+」をクリック。

・kintoneと連携したいアンケートフォームを作成。

⑦kintoneとGoogleフォームの連携設定を行う

・作成したアンケートの右上を選択し、「スクリプトエディタ」をクリック

・連携プログラムをコピー & ペーストする。

※青字はGoogleフォームの質問項目 オレンジはkintoneで取得した情報

 

  xxx : 連携先のフィールドコード
  aaa : サブドメイン名
  bbb :アプリID
  ccc : アプリ名
  ddd : APIトークン
  ddd: 送付先メールアドレス
     ※複数人の場合は「,」区切りで列挙をお願いします。
      例)abc@comdec.jp , xyz@comdec.jp
  eee : メールタイトル

質問がチェックボックスの場合は、下記をコピーしてお使いください。

           case "今後、御社で力を入れて取り組まれたい業務改善をご選択ください。":
                records += ',"xxx" : { "value": ["' + 
(Utilities.formatString('%s',itemResponse.getResponse())).replace(/,.*?/g,'","') + '"] }';
              break;
function getFormResponse(e) {
    'use strict';
    var itemResponses = e.response.getItemResponses();//アンケートの回答を取得
    var records = '[';
    records += Utilities.formatString('{"Email": { "value": "%s" }', 
e.response.getRespondentEmail());//回答者のEmailアドレスの取得
  for (var i = 0; i < itemResponses.length; i++) {
        var itemResponse = itemResponses[i]; 
       switch (itemResponse.getItem().getTitle()) {

       case "貴社名":
                records += Utilities.formatString(',"xxx" : { "value": "%s" }',
                    itemResponse.getResponse());//質問に対する回答を取得 
               break;
       case "貴社ホームページ(URL)":
                records += Utilities.formatString(',"xxx" : { "value": "%s" }',
                    itemResponse.getResponse());//質問に対する回答を取得
                break;                
       case "ご担当者様氏名":
                records += Utilities.formatString(',"xxx" : { "value": "%s" }',
                    itemResponse.getResponse());//質問に対する回答を取得
                break;      
     case "メールアドレス":
                records += Utilities.formatString(',"xxx" : { "value": "%s" }',
                    itemResponse.getResponse());//質問に対する回答を取得
                break;                               
           }
    }
    records += '}]';
    Logger.log('Response JSON is "%s"', records);
    return records;
}

function sendToKintone(e) {
    'use strict';
    Logger.log('Form submitted');
    var subdomain = "aaa";//サブドメイン名
    var apps = {
        YOUR_APPLICATION1: { appid: bbb, name: "ccc", token: "ddd" }
    };
    var manager = new KintoneManager.KintoneManager(subdomain, apps);// ライブラリーの初期化
    var str = getFormResponse(e);
    str = str.replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t");
    var records = JSON.parse(str);//JSON形式に変換
    var response = manager.create("YOUR_APPLICATION1", records);//kintone レコードの生成
    // ステータスコード
    // 成功すれば200になる
    var code = response.getResponseCode();
    Logger.log('Response code is "%s"', code);
    Logger.log(response.getContentText());
}

function sendform(e){
  var items = e.response.getItemResponses();
  var msg = '';
  for (var i = 0; i < items.length; i++) {
    var item = items[i];
    var q = item.getItem().getTitle();
    var a = item.getResponse();
    msg += q + ': ' + a + '\n\n';
  }  
GmailApp.sendEmail('ddd', 'eee', msg);
}

・リソースからライブラリ…をクリックの追加

※この操作を行う事で、作成したプログラムを動かすことができます。
この操作を行わない場合は、エラーが表示され連携を行うことができませんので、ご注意ください。

・KintoneManagerを追加する。

Add a Library に「 MDT2NQ9jkAGYJ-7ftp_A0v08CaFRWuzzx」を入力し、
バージョン「4」を選択。

・編集から現在のプロジェクトのトリガーを選択し、トリガーの設定を行う

※トリガーの設定とは、どういう操作を行ったときにkintoneに情報を連携させるかを設定する事です。
 今回は、Googleフォームから回答を送信したタイミングで連携する仕組みにします。

・右下のトリガーの追加を選択

・下記画像と同様に設定を行う
実行する関数を選択:SendToKintone
実行するデプロイを選択:Head
イベントのソースを選択:フォームから
イベントの種類を選択:フォーム送信時

設定ができたら実際に回答してみましょう

・作成したGoogleフォームのアンケートを開き
(https://docs.google.com/forms/)右上の「送信ボタン」をクリック

・アンケートの回答URLを作成

・アンケートに回答

・kintoneアプリに連携しています

・指定したメールアドレスにメールも自動送信されます。

kintone連携で抜け・漏れなしの問い合わせ対応

この機能を活用することで、ホームページからお問い合わせをいただいた情報は抜け漏れなくkintoneに連携され、担当者に自動で通知もされるようになりました。
Googleフォームに入力いただいた情報がそのままkintoneに入るため、手動で登録する手間を省くことができるだけではなく、kintoneに項目を追加すればその問い合わせに対して誰が対応しているのか、今どういった状況なのかといったステータスの確認をすることもできます。

また、一度kintoneに登録をしてしまえば、そこからワンクリックで顧客情報や案件情報を登録することも可能となる等、この連携システムを活用することで問合せから始まる一連の業務を一元管理することができます。
その他にも、kintoneであれば自動で集計を行うこともできるため、お問い合わせだけではなく、アンケート等ご意見を伺うフォームを設置すれば各種分析にも便利に活用することができます。

非対面での問い合わせが重要性を増すコロナ禍、お客様との大切な接点を最大限に生かせるよう、御社の「お問い合わせの管理」を見直してみませんか?