📬

Power Automateのフローを作るのにCopilotに訊いてみた

2023/11/21に公開

メール本文の形式を条件判断で利用したくて教えてもらったお話

……と言いつつ、すみません、タイトル詐欺です。たぶんタイトルから期待している内容とはかけ離れたものになっていると思います。訊き方が下手だったので、思っていた回答を引き出せなかった感じになりました。

Copilotで調べ物

トリガーに利用するメールの本文が、HTMLかテキストかによって処理を変えたいことがあったので、「これどうやるの?」と、Copilotに訊いてみました。
Copilot

回答がこれなのですが。

調べる方法は直接的には提供されていませんが、~(中略)~
HTMLタグを含むかどうかを確認することで、メールがHTML形式かテキスト形式かを判断することができます。

と、あるのが気になりまして……。HTMLタグで判断するの? と。

メールの形式を確実に知るためには、メールのヘッダー情報などを直接確認する必要がありますが、Power Automateではそのような機能は提供されていません。

……え、そうなの? 本当に?


確認

疑問に思ったので調べてみました。[1]
といっても、フローの実行履歴から出力を確認しただけですが。

  • Office 365 Outlook
新しいメールが届いたとき (V3)
{
    "headers": {
        "Cache-Control": "no-store, no-cache",
        "Pragma": "no-cache",
        "Transfer-Encoding": "chunked",
        "Location": "",
        "Retry-After": "3600",
        "Vary": "Accept-Encoding",
        "Set-Cookie": "",
        "Strict-Transport-Security": "",
        "x-ms-request-id": "",
        "X-Content-Type-Options": "",
        "X-Frame-Options": "",
        "x-ms-environment-id": "",
        "Timing-Allow-Origin": "*",
        "x-ms-apihub-cached-response": "true",
        "x-ms-apihub-obo": "false",
        "Date": "",
        "Content-Type": "application/json; charset=utf-8",
        "Expires": "-1"
    },
    "body": {
        "id": "",
        "receivedDateTime": "",
        "hasAttachments": false,
        "internetMessageId": "<>",
        "subject": "",
        "bodyPreview": "",
        "importance": "normal",
        "conversationId": "",
        "isRead": false,
        "isHtml": false,
        "body": "",
        "from": "",
        "toRecipients": "",
        "attachments": []
    }
}

bodyに、"isHtml": false,と思いっきり書いてあります。
HTML形式: true
テキスト形式: false
これ、100%正確に判断できると思うのですが、違うのでしょうか?

Outlook.comコネクタも確認してみました。

  • Outlook.com
新しいメールが届いたとき (V2)
{
    "headers": {
        "Cache-Control": "no-store, no-cache",
        "Pragma": "no-cache",
        "Transfer-Encoding": "chunked",
        "Location": "",
        "Retry-After": "3600",
        "Vary": "Accept-Encoding",
        "Set-Cookie": "",
        "Strict-Transport-Security": "",
        "x-ms-request-id": "",
        "X-Content-Type-Options": "",
        "X-Frame-Options": "",
        "Timing-Allow-Origin": "*",
        "x-ms-apihub-cached-response": "true",
        "x-ms-apihub-obo": "false",
        "Date": "",
        "Content-Type": "application/json; charset=utf-8",
        "Expires": "-1"
    },
    "body": {
        "Id": "",
        "DateTimeReceived": "",
        "HasAttachment": false,
        "InternetMessageId": "<>",
        "Subject": "",
        "BodyPreview": "",
        "Importance": 1,
        "ConversationId": "",
        "IsRead": true,
        "IsHtml": false,
        "Body": "",
        "From": "",
        "To": "",
        "Attachments": []
    }
}

同じですね。っていうか、こんなの見なくても、HTML思いっきり用意されていますね。

  • HTMLです
    HTMLです

あとがき

個人的には、広告てんこ盛りの記事や、一定時間経つと全画面広告、戻るときに全画面広告、記事の間に広告……なサイトをはしごするくらいならこれで解決出来たら良いなあと期待しているので、今後も使ってみようと思います。
あと、あまり詳しくないことを調べている時でも、回答に疑問を持ったら自分で調べる習慣を身につけると、こうしてネタになるかなあと感じました。

ちなみにこの回答については、GPT-4使わんで普通に検索したらすぐに出てくる内容でした。

脚注
  1. 1.のサイトがファイアウォールに引っかかったのでその場では見なかったのですが、あとでこのサイトを見にいくと、回答と違う内容になっていてちゃんとしていたので、なぜこの文章になったのか謎です。 ↩︎

Discussion