こんな感じでカテゴリ(ラベル)設定中のメールに対して、"じゃがいも"カテゴリや"美術館"カテゴリなど任意のカテゴリのメールを取得します。
一旦の完成イメージのフロー
クエリパラメータ
STEP1. メール取得
OutlookのHTTP要求の送信モジュールを使って情報を取得します。
URLにはGraph APIを指定します。
https://graph.microsoft.com/v1.0/me/mailFolders/Inbox/messages?$select=subject,receivedDateTime,categories&$top=10
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('xxxxxxx')/mailFolders('Inbox')/messages(subject,receivedDateTime,categories)",
"value": [
{
"@odata.etag": "W/\"xxxxxxxx\"",
"id": "xxxxxx",
"categories": [],
"receivedDateTime": "2025-05-22T06:07:39Z",
"subject": "結果確認メール(Automate)"
},
{
"@odata.etag": "W/\"xxxxxxxx\"",
"id": "xxxxxxxx",
"categories": [],
"receivedDateTime": "2025-05-22T06:07:19Z",
"subject": "Text Recognition results"
}
]
}
STEP2. カテゴリを文字列化する
json()
関数を使うことでカテゴリの情報を文字列として扱うことができます。
join(<ここに動的コンテンツを指定>,',')
という使い方になり、画像のように式を入れるフォームでBody Categories
を指定します。
join(items('For_each')?['categories'],',')
Tips: 文字列追加だと
条件分岐で"じゃがいも"というタグがあるメールの情報に対して処理をしたいときに、カテゴリの文字列変数から条件分岐をしようとして"文字列変数に追加"のモジュールを選んで実行していました。
...が、これだと変数に追加されていってしまいます。
じゃがいも返信来てない,じゃがいも美術館,じゃがいも返信来てない,Blue category返信来てない,Blue category返信来てない,Blue category返信来てない,Blue category返信来てない,Blue category / じゃがいもカテゴリ
全てのカテゴリ情報が連結されちゃうので"じゃがいも"のカテゴリではないメールにもじゃがいもカテゴリ判定になってしまっていました。