1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Power Automateを利用してoffice365グループメールで受信したメールをSlackに投稿する

Posted at

本記事ではPower Automateを利用して、Office365グループメールに来たメールをSlackチャンネルに投稿する機能を作成してみます。

Power Automateを利用すると簡単に実装できます。

全体像

全体像としてはこんな感じ

image.png

上から順に説明していきます。

グループに新しいメールが届いたとき(When a new email arrives to a group)

When a new email arrives to a group

image.png

その名前の通り、グループに新しいメールが届いたときにトリガーされます。

こちらにグループIDを入力しておきます。

ドキュメントを見ると、戻り値がConversationTriggerResponseなArrayになっているようです。

image.png

ConversationTriggerResponse

image.png

スレッド投稿を取得する(Get a thread post)

Get a thread post

グループに新しいメールが届いたとき(When a new email arrives to a group)の戻り値がArrayとなっているため、スレッド投稿を取得するを追加すると勝手にそれぞれに適用する(Apply to each)が追加されていい感じに処理を追加してくれます。

image.png

上記の状態からスレッドIDと投稿IDを入力するとそれぞれに適用するがいい感じに設定されます。

image.png

なおこの時、スレッドID、投稿IDの順番にパラメーターを入力すると3重ループ
投稿ID、スレッドIDの順番で入力すると2重ループ

となりました。

3重ループの場合はそのままでも動きますが、2番目のループが余計なので今回は手で削除しています。

image.png

image.png

image.png

Html からテキスト

Post

スレッド投稿を取得する(Get a thread post)の戻り値はPostとなっておりBodyの中にhtmlで格納されいます。

ここでhtmlからテキストでテキストに変換してあげます。

image.png

メッセージの投稿

あとはメッセージの投稿からSlackに投稿してあげて完成。

プレーンテキストコンテンツを選択

image.png

画像のケースではhereで通知が欲しかったので<!here>としています。

総評

グループメールの場合は、自分のメールボックスとは異なるところから始まりますが。
今現在、トリガーが多すぎて一覧からそれっぽいトリガー(Office 365 Groups Mail)を探すのが一番大変でしたが、それを見つけた後はさっくりと実装できます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?