プロトコル

[slack]Microsoft flowを使ってslackへ受信メールを投稿する

slackの導入にあたって障害になりがちなメール、特にメーリングリストをslackに入れ込んで、slackへの依存度を上げるためにOutlook365で受信したメール(広島大はOutlook365を全学で導入しているため)をflowでslackに投稿することにした。

基本的には、”When a new email arrives”をトリガーにして、そのままslack APIの”Post Message”で投稿という流れ(まさにflow)。ただし、そのままだとHTMLで書かれたメールがひどく汚い表示になるので、条件をかまして処理を分岐させた。

条件には”HTMLです”、”次に等しい”、式として”true”を入れておき、HTMLの場合(はいの場合)は”html to text”をで本文を変換して、変換後の本文を投稿データとするようにした。

これで基本的にはメーリングリストのメールがslackに還流されるはず。しかし、なぜか結構な頻度で失敗する。大抵は本文のフォーマットが”application/json”なのに「データがJSONでない」(The response is not in a JSON format.)というエラー。少し勉強が必要。

2019/05/23追記
いろいろ試したが、結局、プレビューぐらいしか表示できないことが分かった。下記の流れだと、問題なくSlackにメールが投稿される。実際の運用では、これでも十分内容は読める。実はメールの内容は最初の部分に重要なことが書いてあり、後ろの方は署名だったり、前のメールの引用だったり、些末なことが多かったりする(それを発見できたこともありがたかったし、それが故にSlackの方がメールよりも効率的なのかも)。
 トリガーの条件でチャンネルごとに関連のメールが届くように設定している。一部のメールはSlack上の会話で完結できるようになってきた。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です