IntegrationsIntermediate

How to connect Outlook to AI with Power Automate to summarize emails

Build a Power Automate flow that sends each new Outlook email to an AI model and posts a one-line summary to a folder or chat.

10 minIntermediate

Outlook lives inside Microsoft 365, so the native way to add AI is Power Automate. In this guide you build a flow that triggers on new mail, calls an AI model over HTTP, and writes a short summary so you can triage a busy inbox at a glance. You can later route summaries to Teams, a SharePoint list, or a folder.

  • A Microsoft 365 account with Power Automate access
  • An OpenAI or Azure OpenAI API key
  • Permission to use the HTTP action (premium connector) or the AI Builder license
  • About 12 minutes

Step 1: Create an automated cloud flow

Go to make.powerautomate.com, choose Create, then Automated cloud flow. Search the trigger for When a new email arrives (V3) under Office 365 Outlook and select it. Set the folder to Inbox and add a filter such as Only with Attachments off and Importance Any.

Power Automate - Trigger
Trigger: When a new email arrives (V3)
Folder: Inbox
Include Attachments: No
Importance: Any
Office 365 Outlook trigger fires on every new inbox message.

Step 2: Call the AI model with an HTTP action

Add an HTTP action. Set the method to POST and the URL to the chat completions endpoint. In the headers add your Authorization bearer key and Content-Type. In the body, build the request and reference the email body dynamic content where shown.

HTTP action body
{
  "model": "gpt-5-mini",
  "messages": [
    {
      "role": "system",
      "content": "Summarize the email in one sentence and list any action items."
    },
    {
      "role": "user",
      "content": "@{triggerOutputs()?['body/body']}"
    }
  ]
}
The HTTP action is premium
The generic HTTP connector needs a premium Power Automate plan. If you only have a standard license, use AI Builder's Create text with GPT action instead, which is included in many Microsoft 365 plans.

Step 3: Parse the AI response

Add a Parse JSON action and feed it the Body from the HTTP step. Use a schema so you can reference the summary text cleanly. The text you want is inside choices, the first item, message, content.

Reference the summary
body('Parse_JSON')?['choices']?[0]?['message']?['content']

Step 4: Post the summary somewhere useful

Add a final action. Two good options: Post message in a chat or channel (Teams) so summaries arrive in a dedicated channel, or Update the email Categories so the subject line shows a tag. Map the summary text from step 3 into the message body.

Power Automate - Post to Teams
Agent
New email from finance@acme.com: Q2 invoice is overdue, needs approval by Friday. Action: approve PO 4471.
Agent
New email from hr@acme.com: Reminder to complete annual training. Action: finish module by month end.
Each new email becomes a one-line Teams card you can scan.

Result: instead of opening 40 emails to see what matters, you skim a Teams channel of one-line summaries with action items already pulled out, and you only open the three that actually need you.

Watch related tutorials

Tags
#outlook#power-automate#ai#summarize