Power Automateを使ってMicrosoft Teamsのチャネル投稿をExcelへ自動転記する仕組みを作る場合、通常の新規メッセージ取得だけではスレッド内の返信メッセージまで取得できないことがあります。これはTeamsの投稿と返信が別々のデータとして管理されているためです。
この記事では、Teamsチャネルの投稿だけでなく、その投稿に対する返信内容も取得してExcelへ保存する方法や、フローを作成する際のポイントについて解説します。
Teamsのチャネル投稿と返信は別データとして扱われる
Microsoft Teamsのチャネルでは、最初に投稿されたメッセージを「親投稿」、その投稿に対するコメント形式のメッセージを「返信」として管理しています。
Power Automateの「チャネルに新しいメッセージが追加されたとき」などのトリガーは、基本的に新規投稿を検知するためのものです。そのため、投稿後に追加された返信は同じフローでは自動取得されません。
例えば、チャネルに「作業報告」という投稿があり、その下に「確認しました」「修正しました」という返信が付いていても、通常の新規メッセージトリガーでは親投稿だけが対象になります。
返信メッセージを取得する基本的な方法
Teamsの返信まで取得したい場合は、投稿取得後にMicrosoft Teamsコネクタのアクションを追加して、返信一覧を取得する処理を入れる必要があります。
一般的な流れは以下のようになります。
1. Teamsチャネルに新規投稿が作成される
2. 投稿のメッセージIDを取得する
3. そのメッセージIDを利用して返信一覧を取得する
4. 取得した返信内容をExcelへ追加する
親投稿のIDを基準に返信を検索することで、スレッド内のコメントをまとめて処理できます。
Power Automateで返信取得フローを作成する手順
まず、トリガーとして「チャネルに新しいメッセージが追加されたとき」を設定します。この時点では新規投稿のみ取得されます。
次に、Teamsコネクタ内のメッセージ取得系アクションを追加します。取得対象として、先ほど取得したチームID、チャネルID、メッセージIDなどを指定します。
取得した返信データは複数存在する可能性があるため、「Apply to each(それぞれに適用)」を使用して、返信ごとにExcelへ行追加する処理を設定します。
Excelへ転記するときのおすすめ項目設定
Teamsの返信内容をExcelに保存する場合は、後から検索や確認がしやすいように項目を分けて保存すると便利です。
例えば以下のような列を作成すると管理しやすくなります。
・投稿日時
・チーム名
・チャネル名
・投稿者名
・親メッセージ内容
・返信者名
・返信内容
親投稿と返信を別列で管理することで、どの投稿に対する返信なのかを後から確認できます。
返信が取得できない場合に確認するポイント
返信取得がうまく動作しない場合は、対象としているメッセージIDが正しいか確認する必要があります。
また、Teamsの投稿形式によっては返信ではなく新しいメッセージとして投稿されている場合があります。その場合はスレッド返信として取得することはできません。
さらに、Power Automateで利用しているアカウントに対象チームやチャネルを参照する権限があるかも確認しましょう。
別の方法としてMicrosoft Graph APIを利用する方法
より高度な取得を行いたい場合は、Microsoft Graph APIを利用してTeamsのチャネルメッセージや返信を取得する方法もあります。
Graph APIでは、チャネルメッセージの詳細情報や返信一覧を取得できるため、大量の投稿を定期的にExcelやデータベースへ保存する用途にも向いています。
ただし、API利用にはアプリ登録や権限設定が必要になるため、通常の業務利用ではPower Automate標準コネクタで対応できるか確認してから利用するとよいでしょう。
まとめ
Power AutomateでTeamsチャネルの返信までExcelへ転記したい場合、新規メッセージ取得トリガーだけでは返信は取得できません。
投稿メッセージのIDを取得し、そのIDを利用して返信一覧を取得する追加処理を組み込むことで、スレッド内の返信内容も保存できます。
Teamsの投稿と返信は別データとして管理されていることを理解し、親投稿と返信を分けて処理することで、正確なExcel転記フローを作成できます。


コメント