チームでSlackを用いているのですが、特定の人からのメールをチームで共有するためメールアドレス指定でSlackに投稿する仕組みが欲しいと要望が挙がり、作りました。
選定の経緯も含めてまとめます。
#構築手段
##1)Slack公式・メールアドレスAPI
一番シンプルな手法です。
ただし、有料プランのスタンダードプラン以上である必要があるので、フリープランでは使用できません。
スタンダードプラン以上の方は、迷わずこちらを使いましょう。
##2)Webアプリ連携サービスを利用
今回紹介する手法です。
異なるソーシャルメディアやプラットフォームを連携させるWebサービスです。
Slack、Gmail、Googleドライブ、Evernoteといったプラットフォームの仲介役をしてくれます。
例えば設定すると、次のようなことができます。
・Gmailを受信したらSlackに投稿
・Gmailで送付されたメールに添付物があればDropboxに保存
・Gmailのスター付きメールをEvernoteに自動保存
・スプレッドシートが更新されたら、Slackに通知
有名どころとして、**IFTTT(イフト)とZapier(ザピアー)**があります。
IFTTTはフリー、Zapierは5つまで無料で利用は可能です。
私の中では、IFTTTが有名だと思ってたのですが、Zapierの方が圧倒的に対応サービス数が多く、連携のタイムラグが短かったりと、IFTTTの上位互換的な位置づけのようです。
実際に使ってみて使いやすかったZapierで説明します。
#簡単な構成説明
チームで共有することを前提としています。
・Zapier連携用のGmailのアカウント作成
→ メンバー間でSlack共有したいメールを個別に当該Gmailに転送設定を行う。
・Gmailアカウントで受信ラベルを作成
[設定例]
(1)お客様Aのドメインから受信 ラベル「お客様A」 ⇛ お客様Aルームに通知
(2)タイトルに【監視】がついている場合、 ラベル「監視」 ⇛ 監視ルームに通知
・Zapier側で特定のラベルに応じて、Slackに投稿する設定を行う。
##Gmailの歯車(設定)画面からフィルタを新規作成
@hogehoge.comから受信したら、hogehogeラベルを付与する画面です。
#Zapier手順
##Zapierアカウントを作成
facebookログインなどでさらっと作ってください。
https://zapier.com/
##ZapierWorkFlow作成
GmailとSlackを選択
新しいラベル付きメールを受信した際にSlackに投稿します。
テストを始めます。
受信メールがない場合は、エラーとなるので、「Skip Test&Continue」します。
Channelを選択します。
鍵付きSlackの場合は、「Use a Custum Value」を選択して、ChannelIDを入力します。
ChannelIDは、URLでいくとmessagesとconvoの間の9文字の文字列です。
https://hoge.slack.com/messages/G86NBHOGE/convo〜
以上です!