- Teamsと連携させたい
- アクションの使い方がわからない
この記事では、そんな方にTeamsの「チャットに新しいメッセージが追加されたとき」の使い方を紹介します。
この記事を読むと、Teamsのチャットを自動化に組み込めます。
「チャットに新しいメッセージが追加されたとき」とは
フロー作成者のチャットを全て監視していて、チャットでメッセージを受信したらフローを実行します。
メッセージはチームではなくチャットである必要があります。
紛らわしいですが、「チームに新しいメッセージが追加されたとき」というトリガーとは別物です。
受信したメッセージを取得したい場合は、別のアクションで指定する必要があります。
ポイントをまとめると・・
- チャットでメッセージを受信すると動く
- チャットの指定はできない
- チームチャットは対象外
- トリガーにはチャット名や受信したメッセージ情報が無い ※アクションを追加して取得する
分かりにくい条件ですが、1度使えば理解できると思います。
公式の説明はこちらを参考にしてください。
使い方
トリガー自体に設定項目はありませんが、トリガーだけでは受信したメッセージが分かりません。
どのチャットにどんなメッセージが来たのかわかるようにアクションをセットで使う方法を説明します。
作成から「自動化したクラウドフロー」を選択します。
「チャットに新しいメッセージが追加されたとき」を選択して作成。
このトリガーは設定する項目がないので、トリガーの準備はこれでOKです。
次にタイトルとメッセージを取得する方法を紹介します。
受信する予定の内容はこちら
【タイトル】 テスト
【メッセージ】テストです。
ここは色付きです。
ここから説明するアクションはコピペで作成できます。
アクションの追加にある「自分のクリップボード」を開いてこのコードを貼り付けて使用してください。
{"id":"7daca8c6-d383-4642-a9cc-9e3225880ee8","brandColor":"#8C3900","connectionReferences":{"shared_teams":{"connection":{"id":"/providers/Microsoft.PowerApps/apis/shared_teams/connections/shared-teams-7d81905c-e42f-4822-a5a2-727980150bac"}}},"connectorDisplayName":"制御","icon":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KIDxwYXRoIGQ9Im0wIDBoMzJ2MzJoLTMyeiIgZmlsbD0iIzhDMzkwMCIvPg0KIDxwYXRoIGQ9Im04IDEwaDE2djEyaC0xNnptMTUgMTF2LTEwaC0xNHYxMHptLTItOHY2aC0xMHYtNnptLTEgNXYtNGgtOHY0eiIgZmlsbD0iI2ZmZiIvPg0KPC9zdmc+DQo=","isTrigger":false,"operationName":"スコープ","operationDefinition":{"type":"Scope","actions":{"メッセージ取得":{"type":"Scope","actions":{"メッセージ(コンテンツ)":{"type":"Compose","inputs":"@outputs('メッセージ詳細を取得する')?['body/body/content']","runAfter":{"メッセージ(テキスト)":["Succeeded"]},"metadata":{"operationMetadataId":"cd58068c-67d3-4e75-a2bd-a937303192a2"}},"メッセージ(テキスト)":{"type":"Compose","inputs":"@outputs('メッセージ詳細を取得する')?['body/body/plainTextContent']","runAfter":{"メッセージ詳細を取得する":["Succeeded"]},"metadata":{"operationMetadataId":"84f710db-eaab-42bf-aca9-fb16f931df23"}},"メッセージ詳細を取得する":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_teams","operationId":"GetMessageDetails","apiId":"/providers/Microsoft.PowerApps/apis/shared_teams"},"parameters":{"messageId":"@outputs('メッセージID')","threadType":"groupchat","body/recipient":"@outputs('メッセージ会話ID(グループチャット)')"},"authentication":"@parameters('$authentication')"},"runAfter":{"メッセージ会話ID(グループチャット)":["Succeeded"]},"metadata":{"operationMetadataId":"91c6b71f-9aab-4673-b2ae-47a46947d9d9"}},"メッセージ会話ID(グループチャット)":{"type":"Compose","inputs":"@outputs('トリガーチャット')?['conversationId']","runAfter":{"メッセージID":["Succeeded"]},"description":"conversationId","metadata":{"operationMetadataId":"0172405a-b7d9-42d6-aa44-7e634c1fd7a6"}},"メッセージID":{"type":"Compose","inputs":"@outputs('トリガーチャット')?['messageId']","runAfter":{"トリガーチャット":["Succeeded"]},"description":"messageId","metadata":{"operationMetadataId":"7bf28484-6e65-4dc8-b2ec-1876ac9fdad6"}},"トリガーチャット":{"type":"Compose","inputs":"@first(triggerOutputs()?['body/value'])","runAfter":{},"metadata":{"operationMetadataId":"c8ff649c-aba7-4f18-9ce7-543c1d1b80eb"}}},"runAfter":{},"metadata":{"operationMetadataId":"901b3f12-8d3a-4065-915e-698beb9800e4"}},"タイトル取得":{"type":"Scope","actions":{"チャット一覧を作成":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_teams","operationId":"GetChats","apiId":"/providers/Microsoft.PowerApps/apis/shared_teams"},"parameters":{"chatType":"all","topic":"all"},"authentication":"@parameters('$authentication')"},"runAfter":{},"metadata":{"operationMetadataId":"361a7bab-900f-47df-a40c-46ecb39d8193"}},"チャットフィルター":{"type":"Query","inputs":{"from":"@outputs('チャット一覧を作成')?['body/value']","where":"@equals(item()?['Id'], outputs('メッセージ会話ID(グループチャット)'))"},"runAfter":{"チャット一覧を作成":["Succeeded"]},"metadata":{"operationMetadataId":"583c190c-9d77-4f35-8a4c-218958451db1"}},"チャットタイトル":{"type":"Compose","inputs":"@first(body('チャットフィルター'))?['topic']","runAfter":{"チャットフィルター":["Succeeded"]},"metadata":{"operationMetadataId":"742b18cb-ec0c-45bc-b1fa-e260c417f44c"}}},"runAfter":{"メッセージ取得":["Succeeded"]},"metadata":{"operationMetadataId":"d51c6eb9-3be2-4b67-bda2-b5b2f1a1741e"}}},"runAfter":{},"metadata":{"operationMetadataId":"49e75b60-43e9-47eb-94b7-5f185de10eb6"}}}
(1)メッセージ取得
トリガーのメッセージ情報とアクション「メッセージ詳細を取得する」でメッセージを取得してみます。
データ操作の「作成」アクションを追加。※名前を「トリガーチャット」に変更
first(triggerOutputs()?['body/value'])
データ操作の「作成」アクションを追加。※名前を「メッセージID」に変更
outputs('トリガーチャット')?['messageId']
データ操作の「作成」アクションを追加。※名前を「メッセージ会話ID(グループチャット)」に変更
outputs('トリガーチャット')?['conversationId']
Teamsの「メッセージ詳細を取得する」アクションを追加。
outputs('メッセージID')
グループチャット
outputs('メッセージ会話ID(グループチャット)')
データ操作の「作成」アクションを追加。※名前を「メッセージ(テキスト)」に変更
outputs('メッセージ詳細を取得する')?['body/body/plainTextContent']
データ操作の「作成」アクションを追加。※名前を「メッセージ(コンテンツ)」に変更
outputs('メッセージ詳細を取得する')?['body/body/content']
フローを動かすとメッセージ2種類が取得できました。
受信したメッセージはこちら
テストです。
ここは色付きです。
後続の処理でメッセージ内容が必要な場合はここの出力を使用してください。
(2)タイトル取得
アクション「チャット一覧を作成」でチャットタイトル一覧を取得します。
そしてトリガーのチャット情報と照合してタイトルを取得します。
Teamsの「チャット一覧を作成」アクションを追加。
すべてのチャットの種類
すべてのチャット
データ操作の「アレイのフィルター処理」アクションを追加。※名前を「チャットフィルター」に変更
outputs('チャット一覧を作成')?['body/value']
item()?['Id']
次の値に等しい
outputs('メッセージ会話ID(グループチャット)')
データ操作の「作成」アクションを追加。※名前を「チャットタイトル」に変更
first(body('チャットフィルター'))?['topic']
フローを動かすとタイトルを取得できました。
受信したメッセージのタイトルはこちら
テスト
タイトルによって処理有無を変更したい場合はここの出力を使用してください。
説明したアクションはコピペで作成できます。
アクションの追加にある「自分のクリップボード」を開いてこのコードを貼り付けて使用してください。
{"id":"7daca8c6-d383-4642-a9cc-9e3225880ee8","brandColor":"#8C3900","connectionReferences":{"shared_teams":{"connection":{"id":"/providers/Microsoft.PowerApps/apis/shared_teams/connections/shared-teams-7d81905c-e42f-4822-a5a2-727980150bac"}}},"connectorDisplayName":"制御","icon":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMyIDMyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KIDxwYXRoIGQ9Im0wIDBoMzJ2MzJoLTMyeiIgZmlsbD0iIzhDMzkwMCIvPg0KIDxwYXRoIGQ9Im04IDEwaDE2djEyaC0xNnptMTUgMTF2LTEwaC0xNHYxMHptLTItOHY2aC0xMHYtNnptLTEgNXYtNGgtOHY0eiIgZmlsbD0iI2ZmZiIvPg0KPC9zdmc+DQo=","isTrigger":false,"operationName":"スコープ","operationDefinition":{"type":"Scope","actions":{"メッセージ取得":{"type":"Scope","actions":{"メッセージ(コンテンツ)":{"type":"Compose","inputs":"@outputs('メッセージ詳細を取得する')?['body/body/content']","runAfter":{"メッセージ(テキスト)":["Succeeded"]},"metadata":{"operationMetadataId":"cd58068c-67d3-4e75-a2bd-a937303192a2"}},"メッセージ(テキスト)":{"type":"Compose","inputs":"@outputs('メッセージ詳細を取得する')?['body/body/plainTextContent']","runAfter":{"メッセージ詳細を取得する":["Succeeded"]},"metadata":{"operationMetadataId":"84f710db-eaab-42bf-aca9-fb16f931df23"}},"メッセージ詳細を取得する":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_teams","operationId":"GetMessageDetails","apiId":"/providers/Microsoft.PowerApps/apis/shared_teams"},"parameters":{"messageId":"@outputs('メッセージID')","threadType":"groupchat","body/recipient":"@outputs('メッセージ会話ID(グループチャット)')"},"authentication":"@parameters('$authentication')"},"runAfter":{"メッセージ会話ID(グループチャット)":["Succeeded"]},"metadata":{"operationMetadataId":"91c6b71f-9aab-4673-b2ae-47a46947d9d9"}},"メッセージ会話ID(グループチャット)":{"type":"Compose","inputs":"@outputs('トリガーチャット')?['conversationId']","runAfter":{"メッセージID":["Succeeded"]},"description":"conversationId","metadata":{"operationMetadataId":"0172405a-b7d9-42d6-aa44-7e634c1fd7a6"}},"メッセージID":{"type":"Compose","inputs":"@outputs('トリガーチャット')?['messageId']","runAfter":{"トリガーチャット":["Succeeded"]},"description":"messageId","metadata":{"operationMetadataId":"7bf28484-6e65-4dc8-b2ec-1876ac9fdad6"}},"トリガーチャット":{"type":"Compose","inputs":"@first(triggerOutputs()?['body/value'])","runAfter":{},"metadata":{"operationMetadataId":"c8ff649c-aba7-4f18-9ce7-543c1d1b80eb"}}},"runAfter":{},"metadata":{"operationMetadataId":"901b3f12-8d3a-4065-915e-698beb9800e4"}},"タイトル取得":{"type":"Scope","actions":{"チャット一覧を作成":{"type":"OpenApiConnection","inputs":{"host":{"connectionName":"shared_teams","operationId":"GetChats","apiId":"/providers/Microsoft.PowerApps/apis/shared_teams"},"parameters":{"chatType":"all","topic":"all"},"authentication":"@parameters('$authentication')"},"runAfter":{},"metadata":{"operationMetadataId":"361a7bab-900f-47df-a40c-46ecb39d8193"}},"チャットフィルター":{"type":"Query","inputs":{"from":"@outputs('チャット一覧を作成')?['body/value']","where":"@equals(item()?['Id'], outputs('メッセージ会話ID(グループチャット)'))"},"runAfter":{"チャット一覧を作成":["Succeeded"]},"metadata":{"operationMetadataId":"583c190c-9d77-4f35-8a4c-218958451db1"}},"チャットタイトル":{"type":"Compose","inputs":"@first(body('チャットフィルター'))?['topic']","runAfter":{"チャットフィルター":["Succeeded"]},"metadata":{"operationMetadataId":"742b18cb-ec0c-45bc-b1fa-e260c417f44c"}}},"runAfter":{"メッセージ取得":["Succeeded"]},"metadata":{"operationMetadataId":"d51c6eb9-3be2-4b67-bda2-b5b2f1a1741e"}}},"runAfter":{},"metadata":{"operationMetadataId":"49e75b60-43e9-47eb-94b7-5f185de10eb6"}}}
まとめ
PowerAutomateのTeams「チャットに新しいメッセージが追加されたとき」の使い方を紹介しました。
Teamsと連携したフローは多いと思います。このトリガーは単体では機能が足りないのでアクションで補う事を覚えておきましょう。
PowerAutomateのおすすめ記事
人気ページ
Apply to eachの使い方
アレイのフィルター処理の使い方
日付関数の使い方
エラーを無視する方法
メールの内容をExcelへ転記
メール本文から名前を抽出
>>PowerAutomateの記事一覧を見る<<
お気に入り必須!公式ページ
Microsoft Power Automate
式関数のリファレンス
コネクタのリファレンス
Excel Online (Business)のリファレンス