gmail
Slack
zapier
slackbot
無料
diffeasyDay 17

特定アドレスからのメールを鍵付きSlackへ無料プランで通知する

チームでSlackを用いているのですが、特定の人からのメールをチームで共有するためメールアドレス指定でSlackに投稿する仕組みが欲しいと要望が挙がり、作りました。
選定の経緯も含めてまとめます。

構築手段

1)Slack公式・メールアドレスAPI

一番シンプルな手法です。
ただし、有料プランのスタンダードプラン以上である必要があるので、フリープランでは使用できません。
スタンダードプラン以上の方は、迷わずこちらを使いましょう。
image.png

2)Webアプリ連携サービスを利用

今回紹介する手法です。
異なるソーシャルメディアやプラットフォームを連携させるWebサービスです。
Slack、Gmail、Googleドライブ、Evernoteといったプラットフォームの仲介役をしてくれます。

例えば設定すると、次のようなことができます。
・Gmailを受信したらSlackに投稿
・Gmailで送付されたメールに添付物があればDropboxに保存
・Gmailのスター付きメールをEvernoteに自動保存
・スプレッドシートが更新されたら、Slackに通知

有名どころとして、IFTTT(イフト)Zapier(ザピアー)があります。
IFTTTはフリー、Zapierは5つまで無料で利用は可能です。

私の中では、IFTTTが有名だと思ってたのですが、Zapierの方が圧倒的に対応サービス数が多く、連携のタイムラグが短かったりと、IFTTTの上位互換的な位置づけのようです。
実際に使ってみて使いやすかったZapierで説明します。
image.png

簡単な構成説明

チームで共有することを前提としています。
・Zapier連携用のGmailのアカウント作成
 → メンバー間でSlack共有したいメールを個別に当該Gmailに転送設定を行う。
・Gmailアカウントで受信ラベルを作成
 [設定例]
 (1)お客様Aのドメインから受信 ラベル「お客様A」 ⇛ お客様Aルームに通知
 (2)タイトルに【監視】がついている場合、 ラベル「監視」 ⇛ 監視ルームに通知
・Zapier側で特定のラベルに応じて、Slackに投稿する設定を行う。

Gmail手順

新しいラベルの作成

image.png

Gmailの歯車(設定)画面からフィルタを新規作成

@hogehoge.comから受信したら、hogehogeラベルを付与する画面です。
image.png
image.png

Zapier手順

Zapierアカウントを作成

facebookログインなどでさらっと作ってください。
https://zapier.com/

ZapierWorkFlow作成

GmailとSlackを選択
image.png

新しいラベル付きメールを受信した際にSlackに投稿します。
image.png

新しいラベル受信の設定開始!
image.png

左側のバーを見て、状態がわかりやすいです。
image.png

次画面へ
image.png

Gmailアカウントとの接続
image.png
image.png

hogehogeラベルを受信した場合に設定
image.png

テストを始めます。
受信メールがない場合は、エラーとなるので、「Skip Test&Continue」します。
image.png

Slack側の設定をします。
image.png

Slack側もConnectします。
image.png
image.png

Channelを選択します。
鍵付きSlackの場合は、「Use a Custum Value」を選択して、ChannelIDを入力します。
ChannelIDは、URLでいくとmessagesとconvoの間の9文字の文字列です。
https://hoge.slack.com/messages/G86NBHOGE/convo〜
image.png

以上です!