見出し画像

【Power Automate】Teamsに投稿があったらメールを送信するフロー

こんにちは。aliceです。

Power Automateを使ってTeamsに投稿があったらメールを送信するフローを作りました。

そんなのTeams見ればいいじゃん!?って。そうですよね。

でも、誰も見てくれないのです(ノへ ̄、)

メールだと個人だけどTeamsだったらその場にいない人も後から見れるのに誰も見ない。開かない。

しょぼーん(´・ω・`)

ということで、Teamsに投稿があったらメールを送信するフローを作りました。


今回のフロー

今回作成するフローはこちらです!

画像2

1 Teamsのチャネルに新しいメッセージが追加されたら

2 メッセージ詳細を取得します

3 取得したメッセージの内容を変数「body」に入れて

4 「body」の内容を加工して変数「message」に入れます

5 最後にメールを送信します


Teamsにメッセージが投稿されたらこんなメールを送ります。

画像2


ちょっと意地悪して投稿内容を途中で終わらせてやったぜ。ふ~φ(゜▽゜*)♪

これでTeamsを見てくれるよね!?

ということで、Teamsのチャネルに新しいメッセージが投稿されたら、投稿されたメッセージの最初の10文字だけ取得して、その内容をメールで送信するというフローを作ります。

では、前置きが長くなりましたが、次から実際にフローを作っていきます。



1 チャネルに新しいメッセージが追加されたとき

まず、トリガー(きっかけ)となるアクションを作ります。今回は「Teamsのチャネルに新しいメッセージが追加されたとき」です。投稿をきっかけにフローが開始されます。


アクション名:チャネルに新しいメッセージが追加されたとき

画像5

チーム:Teamsのチーム名

チャネル:Teamsのチームのチャネル名

それぞれ選択します。



2 メッセージ詳細を取得する

1つ前のアクションでチームとチャネルを指定したので、ここではメッセージの詳細を取得します。ここで投稿へのリンクを取得します。

メールの「続きはWebへ」の部分です。

画像7

リンクなんていらないよ!という場合は不要です。


アクション名:メッセージ詳細を取得する

画像6

メッセージ:メッセージID 動的なコンテンツの「Teamsのチャネルに新しいメッセージが追加されたとき」から「メッセージID」を選択します。

メッセージの種類:チャネル

Team:「Teamsのチャネルに新しいメッセージが追加されたとき」で選んだチーム名

Channel:「Teamsのチャネルに新しいメッセージが追加されたとき」で選んだチャネル名

ここで、投稿へのリンクを取得する準備ができました(❁´◡`❁)



3 変数を初期化する(body:string)

投稿へのリンクを取得する準備ができたところで、次は本文を編集する準備をしていきます。

メールで言うと「今日のご飯は、な、な…、」の部分です。

画像8

投稿内容を最初の10文字までしか表示していません。続きが気になりますね。

本文は1の「Teamsのチャネルに新しいメッセージが追加されたとき」から取得できるのでまずは本文を変数に入れます。


アクション名:変数を初期化する

画像9

名前:body 「body」という名前にしてみました。

種類:文字列 投稿内容を入れるので文字列を選びます。

値:メッセージ本文 動的なコンテンツ「Teamsのチャネルに新しいメッセージが追加されたとき」から「メッセージ本文」選択します。

これで変数「body」にTeamsへの投稿内容を入れることができました。


次は、変数「body」を最初の10文字まで表示されるように編集します。



4 変数を初期化する (message:string)

では、さっそく変数「body」を編集していきます。

まずは変数を用意して、次に変数「body」(投稿本文)を10文字までにした文章を入れます。


アクション名:変数を初期化する

画像10

名前:message 「message」という名前にしてみました。

種類:文字列 投稿内容を入れるので文字列を選びます。

値:substring(variables('body'),0,10)


値のところには謎の関数が入っています…。substring関数です。

文字列から、指定された位置またはインデックスから始まる文字を返します。 インデックス値は 0 から始まります。


ん-、難しいですね。

一言で言うと「【指定した文字列】の、【指定した位置】から【指定した文字数分】だけ文字列を取得できるよー」という関数です。

画像11

うっかり、リンカーンのイラストを貼ってしまった…。

画像12

ということになります。

variables('body')は3の変数を初期化するで作った変数「body」です。

なので、変数「body」の0から10文字までを取ってきてねーという関数になります。

これで、投稿内容の最初の10文字を取得できました。


次はいよいよメールを送ります。


5 メール通知を送信する (V3)

さて、では最後にお知らせ用のメールを送信して終わりにしましょう。


アクション名:メール通知を送信する

画像13

宛先:メールアドレス

件名:今日のご飯にメッセージが投稿されました! なんでも良かったのですが、とりあえず今日のご飯チャネルにメッセージが投稿されたよ!という内容にしました。

本文:ちょっとわかりづらいですね。


画像15

ここのコードビューをクリックするとhtmlでメールを作成できます。


何のためにしているかというと、メールのこの部分。

画像15

そうなんです。「続きはWebへ」と表示させるためにしているのです。


画像14

意外とやってしまえば簡単です!


他のbrタグ(<br>・改行)、pタグ(<p>~</p>・段落)については、はじめにメール本文を作成してからコードビューを押すと、自動で入っています。


この状態でコードビューを押すと…、

画像15


タグが自動で入ります。

画像16

あとは適宜編集していきます。


では、最後にメール送信で使ったコンテンツについて説明します。

メッセージ from ユーザー displayName:動的なコンテンツの「Teamsのチャネルに新しいメッセージが追加されたとき」から「メッセージ from ユーザー displayName」を選択します。

message:4で作成した変数。Teamsの投稿を最初の10文字にしたものです。

Message Link:動的なコンテンツの「メッセージ詳細を取得する」から「Message Link」を選択します。


以上でフローが完成しました!

ただ残念なことに、これで完璧○( ^皿^)っ Hehehe… というわけではないのです…。

ということで、続きを書けたら書きます。


まずはお疲れさまでした!




この記事が気に入ったらサポートをしてみませんか?