・はじめに
こんにちは、くらっちです。
今回は、PowerAutomate の使い方として、Yammer との連携方法の一例を書きました。
突然ですが、Yammerには「質問」機能が用意されているのをご存知ですか?
「質問」機能では、質問に対して「返信コメント」「いいね」「ベストアンサー」などの様々なアクションが用意されていて、FAQがしやすく、ナレッジ蓄積としても利用できたり、質問にトピックを追加して分類化することもできます。
個人的には質問に対するベストアンサーが分かるってすごく嬉しいです。
もし、PowerAutomate と組み合わせて「Yammer に新しい質問が投稿されたら、Teams チャネルに通知する」ことができたら、更にいい感じだと思いませんか?
PowerAutomate には Yammer のトリガーに「グループに新しいメッセージがある場合」というのがあります。
これは「新規投稿時」と「返信投稿時」がトリガーとなります。
今回は、返信投稿時は Teams チャネルに通知させず、「Yammerの質問機能で新規投稿がある場合のみ通知する」ということを実装してみましょう。
※この記事は Qiita から移行して、最新の情報に更新しています。
・目次
- 実装結果
- 実装方法
-> トリガー
-> 1.グループに新しいメッセージがある場合
-> アクション
-> 2.ユーザー詳細を取得する
-> 3.条件
-> 4.Teams チャネルにメッセージを投稿する - 処理結果
- 補足 --質問機能以外の message_type --
・実装結果
PowerAutomateの完成形はこんな感じです。
すごくシンプル。
・実装方法
トリガーと各アクションについて説明します。
トリガー
1.グループに新しいメッセージがある場合
トリガーとする Yammer のグループを選択します。
今回は「技術相談 M365 相談箱」グループから新規投稿があった場合を想定しています。
アクション
2.ユーザー詳細を取得する
トリガーで使用した「グループに新しいメッセージがある場合」からは、投稿者の名前などを取得することができません。
そのため、Yammer の「ユーザー詳細を取得する」アクションで投稿者名などを取得して Teams メッセ―ジ送信時に利用できるようにします。
Yammer のアクションから「ユーザー詳細を取得する」を追加して、トリガーから「メッセージ 送信者」を選択して入力します。
3.条件
今回のフローで一番重要、というか、重要なのココしかありません。
条件アクションで「質問機能から新規投稿があったかどうか」を判断します。
トリガー「グループに新しいメッセージがある場合」の出力結果は JSON 形式です。
下記はサンプルの出力結果から一部抜粋しました。
{"id":1234567890123456,
"sender_id":987654321098,
"created_at":"2021/05/31 13:23:11 +0000",
"network_id":7777777777,
"message_type":"question",
"sender_type":"user",
"url":"https://www.yammer.com/api/v1/messages/1234567890123456",
"web_url":"https://www.yammer.com/funkitdev01.onmicrosoft.com/messages/1234567890123456",
"group_id":55555555555,
"body":{
"parsed":"新しい質問をしました。",
"plain":"新しい質問をしました。",
"rich":"新しい質問をしました。"},
"thread_id":1234567890123456,
"client_type":"The new Yammer",
"...略"
上記のうち、今回必要となるのは「message_type」です。
「message_type = question」の場合に、「質問機能から新規投稿が行われた」ことを示します。
そのため、条件アクションには以下のように設定します。
「(トリガーの)メッセージ 種類」 「次の値に等しい」 「question」
結果「はい」の場合は、Teams チャネルにメッセージを送信します。
「いいえ」の場合は、「終了」アクション、あるいは、返信投稿時の処理をするのが良いでしょう。
4.Teams チャネルにメッセージを投稿する
「message_type」=「quesion」の場合、Teams チャネルにメッセージを送信させるためのTeams アクションを「はいの場合」に追加します。
これでフローは完成です。
・処理結果
通知内容はとてもシンプルにしていますが、こんな感じのメッセージがチャネルに送信されます。
・補足 --質問機能以外の message_type --
Yammer の質問機能以外からメッセージを送信した時の message_type は、それぞれ下記の通り。
返信メッセージの場合、「update」
ディレクションタブに新規投稿の場合、「update」
賞賛タブに新規投稿の場合、「update」
投票タブに新規投稿の場合、「poll」
※いいね、ベストアンサーなどのアクションの場合は、トリガーは発動しない。