どうも若松です。

みなさん、SORACOM Button活用してますか?
Slackへの連携も公式に出ているので、簡単に実装できますね。
https://dev.soracom.io/jp/start/aws_button_slack/

これを今から帰るよメッセージに使ってる方もいるようです。

しかしながら、以下のような方もいらっしゃるかと思います。

  • そもそもLambdaって何者よ
  • 例え公式から出ていようともコードなんて書きたくない

そこで、Lambdaを使わずに(意識せずに)Slack連携する方法を考えてみました。

メール送信設定

Slack連携方法としてメール送信を利用します。
メール送信設定方法は以下などに記載があるので、割愛します。
https://blog.soracom.jp/blog/2018/10/25/are-you-ready-for-lte-m-button/

取り急ぎ、帰るよメッセージ送信を想定して、以下のように設定しました。

SlackのEmailインテグレーションを使う

SlackにはEmailインテグレーションが標準で備わっています。
Mailインテグレーションでメールアドレスを発行し、そこにメールを送るとSlackに通知する仕組みです。
なので、AWS IoTからメールを送る機能と組み合わせることで、Slackへ連携できます。
連携後の通知は以下のようになります。

ただ、このEmailインテグレーションはSlackの有償プランじゃないと使えないので、ややハードルが高いです。
なので、無償でできそうな仕組みも考えてみます。

Microsoft Flow でメールから連携する

Office365を利用していると、Microsoft Flowというサービスを使うことができます。
https://japan.flow.microsoft.com/ja-jp/

簡単に言うと様々なサービスの間を取り持って連携させてくれるサービスです。
Microsoft Flow for Office 365はフリープランがあるので、無償で始めることができます。
https://japan.flow.microsoft.com/ja-jp/pricing/

今回はGmailをトリガーにしてSlackへ投稿します。
設定は以下の通りです。

Gmailのトリガーは最初に使うときにアカウント連携させる必要があります。(詳細は割愛)
簡単のために件名のみで引っ掛けてますが、他の項目も設定してトリガーするメールを絞り込みことが可能です。

実際にMicrosoft Flowで連携して投稿すると以下のようになります。

上記ではメールの本文をそのまま投稿していましたが、以下のようにメールとは関係ないメッセージに変えることも可能です。

これを投稿すると以下のようになります。

まとめ

そもそもメール送る時点で自動生成されるLambdaは使ってるので、タイトルの表現が合ってるかは微妙ですが、コードを見なくていいという点ではアレルギーの少ない構成かと思います。

Microsoft Flowの連携はメールが到着してから5分程度のタイムラグが出るので、即時性を求める場合は難しいですが、Slackの有償プランを使わなくてもいいのは嬉しいですね。

元記事はこちら

SORACOM ButtonでLambdaを使わずにSlack連携してみた