AWS
Slack
SORACOM
awsIoT
MicrosoftFlow

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

どうも若松です。

みなさん、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/

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

スクリーンショット_2018-11-08_0_48_55.png


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

SlackにはEmailインテグレーションが標準で備わっています。

Mailインテグレーションでメールアドレスを発行し、そこにメールを送るとSlackに通知する仕組みです。

なので、AWS IoTからメールを送る機能と組み合わせることで、Slackへ連携できます。

連携後の通知は以下のようになります。

スクリーンショット_2018-11-08_0_54_41.png

ただ、この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へ投稿します。

設定は以下の通りです。

スクリーンショット 2018-11-10 23.31.43.png

Gmailのトリガーは最初に使うときにアカウント連携させる必要があります。(詳細は割愛)

簡単のために件名のみで引っ掛けてますが、他の項目も設定してトリガーするメールを絞り込みことが可能です。

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

スクリーンショット_2018-11-10_23_38_31.png

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

スクリーンショット 2018-11-10 23.32.00.png

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

スクリーンショット 2018-11-10 23.36.48.png


まとめ

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

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