πŸ” Automatically Summarize Microsoft Teams Meetings with Azure OpenAI + Power Automate

 Absolutely! Below is your final solution rewritten as a professional blog post, with Azure OpenAI URL and API key omitted or hidden for security.


πŸ” Automatically Summarize Microsoft Teams Meetings with Azure OpenAI + Power Automate

Author: Kirolos – Power Platform & AI Automation Engineer
Published: [Insert Date]


πŸš€ Overview

Tired of manually documenting meeting notes from Microsoft Teams? In this post, I’ll walk you through a real-world solution to automatically summarize Teams meetings using the transcript (.vtt) file, Azure OpenAI (GPT-4.1), and Power Automate.

This solution will:

  • Monitor for uploaded .vtt transcript files from Teams

  • Clean and prepare the content using Power Automate

  • Send it to Azure OpenAI for summarization

  • Deliver a clean, actionable meeting summary via email


πŸ”§ Use Case

  • Environment: Microsoft 365, SharePoint, Azure OpenAI, Power Automate

  • Goal: Summarize Teams meeting transcript files automatically and send summaries to stakeholders


🧩 Full Flow Breakdown (Step by Step)


πŸ”Ή Step 1: Trigger – When a File is Created

Trigger: When a file is created (properties only)

  • Site Address: Your SharePoint site

  • Library: Where .vtt transcripts are uploaded

Optional Filter: Only run when the uploaded file ends with .vtt

@endswith(triggerOutputs()?['body/{FilenameWithExtension}'], '.vtt')

πŸ”Ή Step 2: Get File Content

Action: Get file content

  • Use the Identifier from the trigger to fetch the actual content of the .vtt file.


πŸ”Ή Step 3: Clean the Transcript

Action: Compose

  • Name: Clean_VTT_Content

  • Expression:

base64ToString(body('Get_file_content')?['$content'])

This expression decodes the file content from base64 into readable text.


πŸ”Ή Step 4: Create the System Prompt

Action: Compose

  • Name: System_Message

  • Text:

You are a professional AI meeting assistant. Summarize the transcript clearly with:
1. Main Discussion Points
2. Key Takeaways
3. Action Plan (mention names if available)

πŸ”Ή Step 5: Send Request to Azure OpenAI

Action: HTTP

  • Method: POST

  • URI:
    (Use your Azure OpenAI endpoint here)
    Example: https://<your-resource>.openai.azure.com/...

  • Headers:

{
  "Content-Type": "application/json",
  "api-key": "<your-Azure-OpenAI-key>"
}
  • Body:

{
  "messages": [
    {
      "role": "system",
      "content": [
        {
          "type": "text",
          "text": "@{outputs('System_Message')}"
        }
      ]
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "@{outputs('Clean_VTT_Content')}"
        }
      ]
    }
  ],
  "temperature": 1,
  "top_p": 1,
  "max_tokens": 800
}

⚠️ Use the Expression tab to insert the dynamic outputs() values – do not wrap them in quotes.


πŸ”Ή Step 6: Parse the Response

Action: Parse JSON

  • Use the Body output from the HTTP request

  • Schema:

{
  "type": "object",
  "properties": {
    "choices": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "message": {
            "type": "object",
            "properties": {
              "content": {
                "type": "string"
              }
            }
          }
        }
      }
    }
  }
}

πŸ”Ή Step 7: Compose Final Summary Text

Action: Compose

  • Expression:

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

πŸ”Ή Step 8: Send Plain-Text Summary Email

Action: Send an email (V2)

Field Value
To: Target user or group
Subject: Meeting Summary – @{triggerOutputs()?['body/{FilenameWithExtension}']}
Body:
πŸ“ Meeting Summary

Transcript File: @{triggerOutputs()?['body/{FilenameWithExtension}']}

Summary:
-----------------------------------------
@{outputs('Compose')}
-----------------------------------------

Generated using Azure OpenAI (GPT-4.1)

🟒 Make sure “Is HTML” = No


πŸ“˜ Bonus: How to Enable Transcripts in Microsoft Teams

To use this automation, Teams transcripts must be turned on and downloaded.
Here’s the official Microsoft guide:

πŸ‘‰ View live transcription in Microsoft Teams meetings


✅ Summary

With this flow, every .vtt transcript uploaded from a Teams meeting is automatically:

  • Cleaned and decoded

  • Sent to GPT-4.1 via Azure OpenAI

  • Summarized professionally with:

    • Main Discussion Points

    • Key Takeaways

    • Action Plan

  • Emailed to the team in plain text format


Comments

Popular posts from this blog

Bridging the Impossible: Connecting Jira On-Prem to Power Automate & Copilot Studio — The Solution Nobody Built Until Now"

How I Automated My Entire SharePoint Tenant with 150 MCP Tools and Claude Desktop

The Impossible Bridge II: One Server, Two AIs, Every SharePoint List I Built the SharePoint Integration Microsoft Hasn't The First SharePoint MCP That Talks to Copilot and Claude