📝

Googleフォームの内容をGASでSlackに通知する

2023/09/04に公開

ググれば山ほど出てくるような内容ですが、備忘録のために記載

GAS

function postSlack(attachments) {
  const slackWebHookUrl = "(slack webhook url)";
  const payload = {
    "username": "Googleフォーム通知",
    "channel": '#channel_name',
    "attachments": attachments

  };
  const params = {
    "method" : "POST",
    "payload" : JSON.stringify(payload)
  };
  const response = UrlFetchApp.fetch(slackWebHookUrl, params);
}

function onFormSubmit(e){
  const user = e.response.getRespondentEmail();
  const itemResponses = e.response.getItemResponses();
  const slackAttachments = [{
    "pretext": `${user} から投稿がありました`
  }];
  const fields = [];
  itemResponses.forEach(function(r){
    fields.push({
      "title": r.getItem().getTitle(),
      "value": r.getResponse(),
      "short": true
    })
  });
  slackAttachments.push({
    "fields": fields,
    "color": "#43A9D4"
  });
  postSlack(slackAttachments);
}

トリガーを設定

以下のように設定


以上

Discussion