MAIL

平日9:00〜17:30 お問い合わせ

MENU

ブログ BLOG

2021/10/ 4 (Mon)

Googleフォームへの投稿をSlackに通知する

Googleフォームへの投稿をSlackに通知する
Tips

はじめに

弊社ではグループウェアとしてGoogle Workspaceを、コミュニケーションツールとしてSlackを導入しています。
これらのツールの連携の例として、Googleフォームで作成したアンケートへの投稿をSlackに通知する方法を紹介します。

Slackの準備

まずはSlackに投稿用のアプリを作成します。

  1. アプリ管理コンソールにアクセスし、「Create New App」を選択します。

  2. フォームが開くので「From scratch」を選択します。

  3. アプリ名とインストールするワークスペースを入力し、「Create App」を選択します。

以上でアプリの登録は完了です。
次に、作成したアプリに投稿用の設定を行います。

  1. 「Add features add functionality」から「Permissions」を選択します。

  2. 「Scopes」メニューから「Bot Token Scopes」に書き込み権限を追加します。

  3. メニューから「Basic Information」を選択して元の画面に戻り、次は「Bots」を選択します。

  4. 「Your App's Presence in Slack」からボットの表示名の設定を行います。

  5. メニューから「Basic Information」を選択して元の画面に戻り、「Incomming Webhooks」を選択します。

  6. 画面下部の「Add New Webhook to Workspace」を選択し、通知を行うチャンネルを選択します。

  7. Webhook URLが発行されます。これは後で使うのでメモしておきます。

以上でSlackの準備は完了です。

Googleフォームの作成

次にGoogleフォームを使ってアンケートを作成します。

  1. Googleドライブを開き「新規」を選択します。

  2. メニューから「Googleフォーム」を選択します。

  3. アンケートを作成後、「回答」タブより「スプレットシートの作成」を選択します。

  4. スプレットシートの「ツール」メニューから「スクリプト エディタ」を選択します。

  5. 開いたエディタに以下のコードをコピペし、「URL」を上でメモした値に書き換えます。

    const URL = "https://hooks.slack.com/services/xxx";
    function myFunction(e) {
    const data = {
    "text": `「質問1」に「${e.namedValues["質問1"]}」と回答がありました。`
    };

    const options = {
    "method" : "post",
    "contentType": "application/json",
    "payload" : JSON.stringify(data)
    };

     UrlFetchApp.fetch(URL, options);
    
    }

次にアンケート回答時にスクリプトが動くようにトリガーを設定します。

  1. 左のメニューから「トリガー」を選択します。

  2. 右下の「トリガーを追加」を選択します。

  3. 「イベントの種類を選択」で「フォーム送信時」を選択し、保存します。

  4. 保存する際に権限の承認を求められるので承認します。

以上でGoogleフォームの準備も完了です。

動作確認

最後に動作確認を行います。

  1. 作成したアンケートに回答します。

  2. Slackに回答内容が投稿されました。

まとめ

簡単ですがSlackとGoogleフォームを連携させる方法を紹介しました。
他にもSlackを中心に様々なアプリと連携することで業務を効率化することができます。

皆さまも身近なことからぜひ試してみてください。