AppSheet (アップシート)の連携について解説するシリーズです。
前回(第2回)は、Googleフォームから送信した問い合わせデータを、AppSheetで作成した問い合わせ管理アプリで表示しました。
第3回は、問い合わせ管理アプリで、AppSheetとGoogleチャットを連携します。
フォームから送信した問い合わせを受信した時に、Googleチャットのスペースに通知します。
目次
1. AppSheet とGoogleチャットを連携させる
AppSheetとGoogleチャットの連携手順は以下の通りです。
- Automationを作成する
- Googleチャットに新しいスペースを作成する
- Googleチャットに通知するステップ(Step)を追加する
- GoogleスプレッドシートのAppSheet Eventsアドオンを有効にする
- Googleフォームから問い合わせを送信して、Googleチャットのスペースに通知が来るか確認する
今回は、Automationの使い方と設定について、詳細な解説は行いません。Automationに関する解説は、以下のブログ記事を参照してください。
2.Automationを作成する
問い合わせ管理アプリで使用するAutomationでは、以下のようなワークフローを実行します。
- ボット(Bot):Googleフォームから問い合わせを受けた時にGoogleチャットに通知する
- イベント(Event):「フォームの回答 1」テーブルに問い合わせが追加された時
- プロセス(Process)、ステップ(Step):Googleチャットに通知する
ボットを作成します。
左側メニュー「Automation」をクリックします。Botsナビゲーションの「+」ボタン(Create a new bot)をクリックします。
「Create a new bot」ボタンをクリックしてボットを追加します。
Botsナビゲーションに「New Bot」が追加されます。右端にある3点ドットアイコンをクリックして「Rename」をクリックします。
ボットの名前を「問い合わせ」に変更します。
続けて、イベントを設定します。
「Configure event」ボタンをクリックします。
Event name「問い合わせ追加」にして、Event Typeを「Adds only」に変更します。問い合わせが追加された時に、チャット通知を行うプロセスを実行できるようになります。
3.Googleチャットに新しいスペースを作成する
Googleチャットに、問い合わせを通知するスペースを新規で作成します。
一旦、Automationの設定から離れて、Gmailを開きましょう。Gmailの左側メニュー「Chat」をクリックします。「チャットを新規作成」をクリックして、「スペースを作成」をクリックします。
「スペースを作成」が表示されます。スペース名を「問い合わせ管理」にして「作成」ボタンをクリックして新しいスペースを作成します。
「問い合わせ管理」スペースが作成されます。「▼」アイコンをクリックして、「アプリと統合」をクリックします。
「Webhookを追加」をクリックします。
着信Webhookが表示されるので、名前を「問い合わせ管理」にして「保存」します。
Webhookに「問い合わせ管理」が表示されます。3点ドットをクリックして、「リンクをコピー」をクリックしてURLをコピーしておきます。
4.Googleチャットに通知するステップを追加する
Automationの設定に戻りましょう。
アプリエディタ左側メニュー「Automation」をクリックして、「お問い合わせ」ボットにステップを追加します。「Add a step」をクリックします。
Step nameを「チャットに通知」にします。「Run a task」に設定します。
Settingsで「Call a webhook」を選択して、以下のように設定します。
- Table name:フォームの回答 1
- Preset:Custom
- Url:コピーした「着信 Webhook」のURL
- HTTP Verb:Post
- HTTP Content Type:JSON
Bodyに以下の式を貼り付けます。
1 |
{"text":"<<[会社名]>>様からお問い合わせがありました。\n【会社名】<<[会社名]>>\n【名前】<<[名前]>>\n【メッセージ】<<[メッセージ]>>\n"} |
Googleチャットに通知する本文は、
- {"text":"送信したいメッセージ"}
という構造になっています。送信したいメッセージの内容は、タグ(<<>>)と改行コード(\n)で書かれています。
<<[ 列名 ]>>
タグ(<<>>)で [ 列名 ] を囲むと、データを差し込みできるようになります。
右上の「Save」ボタンをクリックして、設定を保存します。
5.Googleスプレッドシートの AppSheet Eventsアドオンを有効にする
このままでは、フォームから送信された問い合わせを受信した時に、「問い合わせ」ボットをトリガして、「チャットに通知」ステップを実行することはできません。ボットをトリガするためには、GoogleスプレッドシートでAppSheet Eventsアドオンを有効にする必要があります。
通常、ボットをトリガするためには、AppSheetアプリ上でデータ変更(追加、更新、削除)する必要があります。
問い合わせ管理アプリでは、Googleスプレッドシートの「フォームの回答 1」ワークシートに、Googleフォームから送信された問い合わせが追加された時に、ボットをトリガしたいと思います。そのために、AppSheet Eventsアドオンを使用します。
データソースのGoogleスプレッドシートを開きましょう。
アプリエディタの左側メニューにある「Data」をクリックします。
中央メインパネルの上部にある「View data source」ボタンをクリックします。
データソースのGoogleスプレッドシート「お問い合わせ(回答)」が開きます。
拡張機能をクリックして、「AppSheet Events」から「Enable for document」をクリックします。
「Enable for document...」と表示されます。続けて、どのワークシートで「AppSheet Events」を有効にするか設定します。
拡張機能をクリックして、「AppSheet Events」から「Turn events on/off」をクリックします。
「フォームの回答 1」をONにして有効にします。
6.Googleフォームから問い合わせを送信してテストする
チャットに通知されるか実際にテストしてみます。
「お問い合わせ」フォームを開いて、右上の「Preview」アイコンをクリックします。
「お問い合わせ」フォームから入力して、フォームを送信します。
Gmailを開いてみましょう。「Spaces」に通知が来れば成功です。左下に通知「問い合わせ管理」が来ているのでクリックして開いてみましょう。
「問い合わせ管理」スペースが開きます。通知内容を確認します。
フォームから送信した内容が通知されていれば成功です。
注意点としては、データソースのGoogleスプレッドシートを直接書き換えると「問い合わせ」ボットが実行されてしまいます。AppSheet Evetsアドオンを有効にした場合、できる限りAppSheetアプリ側からデータ操作するようにして、データソース(Googleスプレッドシート)には触らないようにするとよいでしょう。
以上、AppSheetとGoogleチャットを連携して、フォームから送信した問い合わせをチャットに通知することができました。ポイントとしては、ノーコードで通知するために、AppSheet Eventsアドオンを使用しています。
次回(第4回)は、GoogleカレンダーとAppSheetの連携をやってみます。問い合わせに関連する予定をGoogleカレンダーに追加してみましょう。
- 第1回 8つのサービスでできること
- 第2回 Googleフォーム
- 第3回 Googleチャット
- 第4回 Gooleカレンダー
- 第5回 Gmail