システムデザイン

Google Apps Scriptを用いたSlack Bot開発【メール投稿Bot編】part.1

*本記事は旧TechblogからCOLORSに統合した記事です。

投稿日:2020/06/05 更新日: 2020/06/05

はじめに

エンジニアリングソリューション事業部のS.Iです。
社内Slackに週報を投稿するBotを作成する機会がありましたので、備忘録もかねて解説していきます。
開発環境は何でもよかったのですが、Google Apps Script が便利だと小耳に挟んだので今回は Google Apps Script を使ってBotを作成にしました。

目次

  • 【part.1&2】 Bot概要
  • 【part.1】Slack側の準備
  • 【part.2】GAS側の準備 -Slackへ投稿
  • 【part.2】GAS側の準備 -Gmailから抽出
  • 【part.2】GAS側の準備 -プロパティストアの設定
  • 【part.2】G Suite Developer Hub の設定
  • 【part.2】まとめ

Bot概要

今回作成したBotの概要は下記の図の通りです。
Gmailに届いたメールを 時間起動のGoogle Apps Script (以降GASと記載)でアクティブに抽出してSlackにスニペットを投稿するBotになります。

reportMail_bot 概要
reportMail_bot 概要

Slack側の準備

下記URLからReal Time Messaging API(RTM API)を使ってBot usersを作成します。
※Event APIを使うより簡単なので今回はこちらを利用
https://slack.com/apps/A0F7YS25R-bots

■コラム RTM API について
RTM APIはWebSocketを利用して投稿に対しリアルタイムにレスポンスを返せるAPIです。Events APIよりお手軽に扱えます。
より高度なイベント起因の動作を行いたい場合 Events API を使うことが多いです。(アプリのアンインストール等のイベント起因など)
https://api.slack.com/rtm

「設定を追加」を押下
※ログインしていない場合はボタンが「サインインしてインストール」を押下
※複数のワークスペースにログインしている場合は、
 右上のワークスペースが正しいか確認してください。

Botの作成 設定の追加

「ユーザー名」を入力(すべて小文字21文字以下)
「ボットインテグレーションを追加する」を押下

Botの作成 ユーザー名

「API トークン」をコピーして控えておく(GASで利用するので)

Botの作成 APIトークン

Botのアイコンを変えたい場合は「アイコンをカスタマイズする」から
画像をアップロードしてアイコンを変更

(メールアイコンは いらすとや より htps://www.irasutoya.com/2016/03/e.html

Botの作成 アイコン設定

「インテグレーションの保存」を押下して保存
「Success!」か「設定が保存されました!」と出ればOK

Botの作成 完了

Slackの設定は以上で終了です。

GAS側の構築は part.2へ続きます。
Google Apps Scriptを用いたSlack Bot開発【メール投稿Bot編】part.2