Search
Duplicate

GASでスプレッドシートの顧客データをCRMに12時間ごとに自動連携

GASのCS活用術!ということで、 OpenAPIでスプレッドシートの顧客データをCRMに12時間ごとに自動連携する方法についてガイドします✨

GASとは?

Google Apps Scritpというグーグルの無料でサーバーレスにコード(スクリプト)を作成して、プログラムを実行したりバッチ処理ができるサービスです。もっと簡単にいうと開発者でなくても、ぱぱっとコードを書いて、グーグルのクラウドサービス(グーグルスプレッドシートなど)を活用しながら、業務を効率化できてしまうんです。

CS(カスタマーサクセス・カスタマーサポート)でのGAS活用とは?

カスタマーサポートやカスタマーサクセスに関わっている人であれば、日々CRM(顧客管理ツール)やサポートツールを使っていると思います。そんなときに、お客様の情報をみながら問い合わせをしたり、その情報をもとにメールを送ったりすることが多いでしょう。ただし、こうしたデータを扱うとなるとどうしても開発者にお願いをして時間がかかってしまったり、開発者が社内にいない場合には諦めるということもあるでしょう。
そこで、カスタマーサポートやサクセスの人がGASを使ってこうしたデータのやりとりを自身で行えるように、スプレッドシートの顧客データをチャネルトークのCRMに12時間ごとに自動連携するスクリプトの作成方法をガイドします!開発ツールや技術は仕組みを知ることが大きな第一歩です。見ていきましょう!

openAPIでスプレッドシートの顧客データをCRMに12時間ごとに自動連携しましょう!

1. スプレッドシートを作成していきましょう

ガイドを開く

2. Google Apps Scriptを設定しましょう

1. プロジェクトを作成しましょう

グーグルにログインした状態でこちらのページに移動して、プロジェクトを作りましょう!
プロジェクト名を編集します。プロジェクト名はわかりやすい名前をつけてください。ここでは仮に"channelautousers_integration"としてみます。
また、コード.gsとなっているスクリプトファイルの名前をわかりやすく変更しましょう。ここでは、ユーザー情報をチャネルトークのCRMに挿入するという意味で、仮に"upsertUsers"としてみます!

2. コードを作成していきましょう!

上のイメージを参考に、以下のコードを貼り付けましょう!
function getData() { const sheet = SpreadsheetApp.openById("YOUR_SPREADSHEET_ID"); let rows = sheet.getDataRange().getValues(); let keys = rows.splice(0, 1)[0]; let data = {}; rows.forEach(function(row) { data[row[0]] = {}; row.map(function(item, index) { if(index > 0) { if(keys[index] == "mobileNumber") { data[String(row[0])]["mobileNumber"] = "+" + item; } else { data[String(row[0])][String(keys[index])] = item; } } }); }); return data; } function upsertUsers() { // チャネルトークのOpenAPIを利用するための設定 const url = "https://api.channel.io/open/v3/users"; const headers = { "X-Access-Key": "YOUR_ACCESS_KEY", "X-Access-Secret": "YOUR_ACCESS_SECRET", "Content-Type": "application/json" }; let options = { "method": "POST", "payload": JSON.stringify(getData()), "headers": headers }; // チャネルトークのOpenAPIに顧客情報を更新するリクエストを送信 let response = UrlFetchApp.fetch(url, options); Logger.info(url + ":responscode>>>" + response.getResponseCode() + ":body>>>" +response.getContentText()); }
JavaScript
貼り付け後、太文字になっている3箇所を書き換えます!
YOUR_SPREADSHEET_ID
一行目のこちらには、スプレッドシートのIDを入力してください!スプレッドシートのIDは、
作成中のスプレッドシートのURLの/d//edit の間の文字列です!
以下のちょうど赤線の部分ですのでコピペしましょう!
YOUR_ACCESS_KEY
YOUR_ACCESS_SECRET
この二つは、チャネルトークの管理画面から作成します!
こちらで紹介しているのと同じ手順で発行し、それぞれコピペしてください!
こちらのボタンを押して保存しましょう!
🎉コードの作成は以上です!

3. コードをテストしましょう!

こちらまで実行したら、一度テストするのをおすすめします!
💡
一度に誤った大量の情報が入ってしまうと、一つ一つ削除してなくてはならず、大変なので、まず少ないデータでテストされるのをおすすめします!!
"関数を選択">"UpsertUsers"を選択した後、矢印の実行ボタンを押します。

エラーがない場合、

チャネルトークの"連絡先管理"メニューに行って、データが挿入されているか確認しましょう👏もし、連携した情報が見当たらないばあいは、右上のアイコンを押して、連携した情報にチェックを入れて表示しましょう!
(また、表示させるの名前を日本語に変更したい際には、顧客プロフィール情報の画面から修正が可能です!)

エラーがある場合

1.
AppsScriptダッシュボードを以下の手順で開きましょう
2. "失敗しました" となっている行をクリックして、ログを確認しましょう!
ログをみても全く検討がつかない場合にはこちらのページのキャプチャを撮影して、チャネルトークに問い合わせください

4. 12時間ごとに自動更新されるように設定しましょう!

スクリプトを作成したページに戻ってタイマーボタンを押します!
"トリガー追加"ボタンを押してください
このように設定をして、保存を押したら完了です!!
12時間ごとにきちんと更新しているかは、先ほどエラーを確認したAppsScriptダッシュボードから確認が可能です!
これからはスプレッドシートの情報を更新しておくと、12時間ごとに自動更新されます!!🥳
以上です!お疲れ様でした!!👏
なお大変恐縮ながら、GASに関するサポートは行っておりませんので、その点のみご了承くださいませ🙇‍♂️