回答フォーム回答時にSlackへ通知する方法

機能概要

回答フォームに回答があったタイミングで、Slackへ通知を送るための設定方法です。
Googleスプレッドシート+Apps Script(GAS)でWebhook用のWebアプリを作成し、そのURLをTalkLabelの回答後アクション(Webhook設定)に登録します。

設定手順

設定手順

STEP1:GoogleスプレッドシートとApps Scriptを作成する
STEP2:通知用GASコードを貼り付けて保存する
STEP3:GASをWebアプリとしてデプロイし、URLを取得する
STEP4:TalkLabelの回答フォームにWebhook URLを登録する
STEP5:Slack通知の動作テストを行う

【詳細手順】
STEP1:GoogleスプレッドシートとApps Scriptを作成する
新規でGoogleスプレッドシートを作成します。
上部メニューの【拡張機能】→【Apps Script】をクリックしてスクリプトエディタを開きます。

STEP2:通知用GASコードを貼り付けて保存する
エディタが開いたら、初期表示の function myFunction() { } を削除し、
(※フォーム名・Slack Webhook URLを後述の指示どおりに置き換えてください)

function myFunction() {
  
}

を削除して、下記コードを貼り付けてください。

function doPost(e){
 //データを取得
 const data = JSON.parse(e.postData.contents);
 const frienddata = data.friends;

 console.log("data:",data);

 let linename = [];

 //回答者名を取得
 if(frienddata){
   linename = frienddata[0].line_display_name;
  }else{
   linename = "不明";
  };

 console.log("回答者名:",linename) 

 const message = `${linename}が回答フォーム「ここに回答フォーム名を記入する」に回答しました。`;

  //slackに通知を飛ばす
   const slackWebhookUrl = "ここにslackのwebhookURLを貼る";

  const payload = JSON.stringify({
    text: message,
  });

  const options = {
    method: "post",
    contentType: "application/json",
    payload: payload,
  };

  // SlackにPOST送信
  UrlFetchApp.fetch(slackWebhookUrl, options);


};

置き換え箇所:
・「ここに回答フォーム名を記入する」→ 通知に表示したい回答フォーム名
・「ここにslackのwebhookURLを貼る」→ 取得済みのSlack Incoming Webhook URL

貼り付け・編集が完了したら、エディタ左上の保存アイコンで保存します。

STEP3:GASをWebアプリとしてデプロイし、URLを取得する
右上の【デプロイ】→【新しいデプロイ】をクリックします。
【種類の選択】の歯車アイコンをクリックし、【ウェブアプリ】を選択します。
「アクセスできるユーザー」を 「全員」 に変更し、【デプロイ】をクリックします。
表示される【アクセスを承認】ボタンをクリックして許可を完了します。
発行された ウェブアプリのURL をコピーしてください(これをTalkLabelに登録します)。

STEP4:TalkLabelの回答フォームにWebhook URLを登録する
TalkLabelで通知対象の回答フォームを開きます。
【オプション】→【回答後のアクション】→【webhook設定】へ進み、STEP3でコピーしたWebアプリURLを貼り付けて【決定】をクリックします。
設定画面右下の【更新】をクリックして保存します。

STEP5:Slack通知の動作テストを行う
公式LINEからテスト送信(対象フォームに回答を発生させる操作)を行い、Slackに通知が届くか確認します。

ご不明点は
お問い合わせ窓口へご連絡ください

お問い合わせ