この記事でわかること
今回の記事は、GASを用いて採用関係のメール受信時に、Slackに通知するアプリを作成するためのものです。
1つの記事で機能を全てまとめてみました。詳しくは以下の項目をご覧ください。
- GASでのGMail、slack連携
- SlackAPIの基本設定
- GASでのトリガー設定
- 機能実装方法
SlackAPIの設定
1. SlackAPIのリンクにアクセスし、新しいSlackアプリを作成する。
2. スコープ&パーミッション設定を行う。
3. Slackボットを追加し、ワークスペースにインストールする。
以下の記事を参照していただくと、ここまでの手順が詳細に書いてあります。
GASの設定
GASの新規プロジェクトを立ち上げ、
SlackAppのスクリプトID(1on93YOYfSmV92R5q59NpKmsyWIQD8qnoLYk-gkQBI92C58SPyA2x1-bq)を入力し、ライブラリをインストールする。(SlackAPIと連携ができるようになります。)
GASでの機能実装
SlackAPIクライアントを作成
const token = "{SlackAPIで登録したボットのトークン}";
//SlackAPIクライアントを作成
const slackApp = SlackApp.create(token);
//メッセージ投稿チャンネルを指定
const channelId = "{チャンネルID}";
Gmailで特定メール受信時、slackに通知する
// Gmailで特定メール受信時、slackに通知する
function notifyToSlack() {
// トリガーの実行間隔(日、時間、分のいずれかの単位)
const interval = 1;
// 自動返信するメールのキーワードを指定する。この文字列が件名に含まれるものが対象となる。
const address = '{特定のメールアドレス}';
// メール検索期間の終わり
const endMinute = Math.round(new Date().getTime() / 1000);
// メール検索期間の始め
const startMinute = endMinute - (interval * 60);
// メールの検索クエリ
const query = 'after:' + term_start + ' before:' + term_end + ' from:"' + address + '"';
// 通知メッセージ
const text = "<!channel>\n学生からメッセージが来ています!!"
// 条件を元にメールを検索する
const threads = GmailApp.search(query);
if (threads.length) {
// 通知
slackApp.postMessage(channelId, text);
}
}
トリガーの設定
これで、特定のメールアドレスからメールを受信した際に、Slackに通知してくれるアプリが完成しました。
同じような業務効率化アプリを作成したい人のお役に立てれば幸いです!!最後までご覧いただきありがとうございました!