趣味と仕事の備忘録

セキュリティとか料理とか写真とか

Google Formからslackに通知する

Google Formの回答をslackで取りたいことがあると思います。

slackでチャネルにメールアドレスを作れるようになったので、これを使えば簡単にFormの回答をslackに送信することが出来るようになります。

slack側の準備

slack.com

slackのチャンネル設定を選択し、「インテグレーション」タブから「このチャンネルにメールを送信する」をクリックします。

メールアドレスの割り当て
チャンネルに対して、メールアドレスが割り当てられます。 このメールアドレスにメールを送信することで、チャンネルにポストされるようになります。

メールアドレスの取得

Google Formの設定

Google Formの設定についてはこちらを参考にさせていただきました。

form.run

メールのフォーマットを若干変えて、最後のフォームのURLを追記しています。

function sendform(e){
  var items = e.response.getItemResponses();
  var msg = '';
  for (var i = 0; i < items.length; i++) {
    var item = items[i];
    var q = item.getItem().getTitle();
    var a = item.getResponse();
    msg += q + ': ' + a + '\n';
  }
  msg += '\n';
  msg += 'url: https://docs.google.com/forms/d/#xxxxxxxx#/edit' + '\n'
   GmailApp.sendEmail('#mail@address#', '#Title#', msg);
}

スクリプトを修正したら忘れずに「プロジェクトを保存」を行ってください。 これをやらないと、(当然ですが)スクリプトへの修正が反映されません。

プロジェクトを保存

後は、トリガーを設定すれば、回答がslackに送信されるようになります。