📬

無料WSだってメールをslack通知したい!

1 min read

背景

とてもよく掲題の相談をもらう。
「課金して」が手っ取り早い回答ながら、課金できない事情もおありでしょうから無料で頑張ってみましょう。

まずは公式ヘルプ

何はなくとも公式ヘルプは見よう。
Slack にメールを送信する

  • チャンネルまたはダイレクトメッセージ(DM)用メールアドレスを作成する 有料プラン
  • メールアドオンを使用する すべてのプラン
  • メールアプリのインストール 有料プラン
  • Slackbot を使用して、メールを DM に転送する すべてのプラン

無料WSでも2つの方法が取れることはわかった。
これでやりたいことができるのかはヘルプだけでは分からなかった。

メールアドオンを使用する

GmailまたはOutlookで使える。自分はGmailユーザーなので Slack for Gmail を試した。
結論からいく。
これは「Gmail(Outlook)の画面上に表示されるアドオンから、UI操作によって、メール1通をSlackのDMまたはチャンネルに送れる機能」だ。
自動で、とか、特定の条件に当てはまる、とかはできない。
できない

Gmailの場合、Google Workspace Marketplaceから入れることになるのだが、グループポリシーによってインストールが禁止されている場合がある。そのときはホワイトリストに入れるなどして対処する。
いれる手間がかかる割に、活用シーンが分からない。
正直これはいつ使うものなんだろうと思った。いい使い道があれば教えてください。

Slackbot を使用して、メールを DM に転送する

これは「メールを特定のアドレスに転送することにより、自分宛のDMに通知される機能」だ。
これはもう機能名から分かる通り、自分宛のDMにしか送れない。
ただしトリガーは「特定のアドレスに転送」なので、普段お使いのメールのフィルタ機能と組み合わせれば、特定の条件に当てはまるメールだけを通知することができる。
自分さえ知りたいならこの形でいける。
みんなで共有したいなら、これほど泣ける仕組みはない。

帯に短したすきに長し。
ちがう。
一長一短。まさに一長一短。

zapier(的なもの)

外部サービスに頼る。
今のところこれが一番簡単ではないかと思う。
非エンジニアでもITに親しんでいる人なら運用可能。

GAS(的なもの)

通知したいトリガーが「特定のアンケートフォームが送信されたら」「特定のスプシが更新されたら」等の場合、GASで作り込むことができる。割とリアルタイムで通知が可能。
GASやSlackインテグレーションを作ることができるなら選択肢に入る。

一方、単に「こういうタイトルのメールが届いたら」などの場合はGASのトリガーを分単位にすればいけるのだろうか?(実績ありません)

このあたりはタダでカスタマイズも効くという最高さがありながら、メンテナンスできる人がいなくなると遺産になってしまうという面がある。
メンテナンスできるのが自分だけだと永遠に問い合わせを受けることになる。軽率に作ってはいけない。

もちろんGASに限らずLambdaも同様。
メンテナンスまで考えて作りましょう。

まとめ

手段 特定の条件のみ チャンネル通知 DM通知 メンテナンス性
メールアドオン
Slackbot 転送先メールアドレス
Zapier
GAS

やりたいことが満たせるならメールアドオンかslackbot転送で、それではだめならzapier的なものでやるのがいまのところの最適解ではないだろうか。
zapier的なものの外部仕様に引っ張られるくらいならGASで我が道をいく、と思える人はそちらでも。

Discussion

ログインするとコメントできます