[slack版]GASでGoogleフォームの結果を通知したい!– 2019年版

[slack版]GASでGoogle フォームの 結果を通知したい!– 2019年版
[slack版]GASでGoogle フォームの 結果を通知したい!– 2019年版
ビジネス

はじめに

今回のビジボットは、以前に投稿した『Googleフォームの結果を指定したアドレスに送る – ★★☆』で、いつか書きます!と言っていたGoogleフォームからSlackに通知を送るコードを紹介していきます。
Slackは現在のビジネスでよく見かけるツールになってますが、相当便利で様々な連絡手段や通知手段として気軽に利用できます。スピード性という点が今のビジネスではかなり重要で、Slackに情報集約することをたくさんの人がやりたいと思っているのではないでしょうか?

前回の記事は以下から確認できますが、前回のツールをアップデートする形でSlackに送る処理とメールに送る処理両方をそのまま記載しています。

GASの初心者レッスン★☆☆ - ビジボット

GASの初心者レッスン★☆☆ – ビジボット

2019年2月23日

それでは早速始めていきます!

1.Googleフォームの作成

POINT

Googleフォームは前回作成したものを利用して、今回は『Slack』と『メール』両方に通知を送るコードを記載します。前回の方法と途中まで同じです。
動きを見たい人はGoogleフォームを簡単に作成してもらってOKです。

GoogleDriveから作成する場合、『新規』 > 『その他』 > 『Googleフォーム』を選択すると、Googleフォームを新規作成することができます。

googleフォーム作成方法 - GAS
googleフォーム作成方法 – GAS

今回は前回作成した内容をそのままコピーして使ってみようと思います。
※コピーして利用する場合、連携承認を必ず実施してください

googleフォーム設問作成 - GAS
googleフォーム設問作成 – GAS

簡単に設問を作成したら、スクリプトエディタ画面を立ち上げます。
点3つある右上の部分から『スクリプト エディタ』を選択してエディタを立ち上げます。

注意

送信したいGoogleフォームからエディタを立ち上げないと、送信時に実行される『トリガー』で、作成した関数をGoogleフォームの送信時に指定できない〜なんてことが起きるので注意が必要です

googleフォームエディタ表示 - GAS
googleフォームエディタ表示 – GAS
注意

コピーした場合、以下Googleサービスを外部連携に承認しますか?と言った処理をしないで作成しているので、『コード』と『トリガー』の両方で承認する必要があります
※新規作成手順も同様に発生しますが、コピーした場合は忘れがちです

google許可を確認 - GAS
google許可を確認 – GAS

2.コード

POINT

詳細は後ほど説明しますが、大きく分けて『GASでGoogleフォームからのデータを加工する』『GASでメールに送る』『GASでSlackに送る』という処理に別れていて、それぞれを好きなように使うことができます。

GASでGoogleフォームからのデータを加工する

GASコード
GASログ

Googleフォームから受けとった情報を、for文で処理を繰り返し取得してそれぞれ通知したい通知先(MailかSlack)にデータを渡します。

GASでGoogleフォームの通知をメールに送る

GASコード
GASログ

メールはシンプルに渡す情報が限られているので、アドレスとタイトルをセットします!

GASでGoogleフォームの通知をSlackに送る

GASコード
GASログ

Slackに通知があった表示は以下。アイコンは自由に決められるので”:sneezing_face:”をいじってみてください。Slackに設定されているアイコンであれば使えるみたいです!

slackの通知 - slack
slackの通知 – slack

全体コード

GASコード
GASログ

3.SlackのwebhookURL取得

POINT

別記事でも紹介していますが、Slackを作成したら以下URLを開きます。
https://slack.com/services/new/incoming-webhook

URLを開くとSlackで送信したいchannelを指定することができます。
channelを指定すると「Add Incoming WebHooks integration」が緑ボタンに変わるのでクリックして進みます。

送信channelを指定 - slack
送信channelを指定 – slack
注意

Slackのchannelはprivate channelとpublic channelを作成することができますが、private channelは招待がないと入れないchannelを指します。
[windows版のDLはこちらから]
https://get.slack.help/hc/ja/articles/209038037
[Mac版のDLはこちらから]
https://get.slack.help/hc/ja/articles/207677868

進むと、「Webhook URL」の項目があるのでURLをコピーします。

Webhook URL - slack
Webhook URL – slack

コピーしたらGASに記載されている//slackのwebhookURL〜にセットします。
セットが完了したら一番下に表示されている「Save Setting」をクリックして保存します。

GASコード

今回はここまでです!
現在のビジネスの場はかなり情報が飽和していることから情報の一元管理はかなり大切です。Slackに様々な情報を追加することで、連絡やリマインダー、通知系の様々な情報を集約することができます。
次はGoogleカレンダーの今日の予定をSlackに通知する記事を書いてみようと思います。
最後までありがとうございました!