Automating Meeting Notes with Microsoft Graph API and Azure OpenAI in Power Platform – Part 2

In Part 1 of this blog series, we explored how to set up Entra ID apps for both custom connectors (signed-in users) and daemon apps (sign-in on behalf of users). We also explored various Microsoft Graph API endpoints required to retrieve meeting transcription content.

In this post, we’ll explore how to retrieve transcription content using Microsoft Graph API endpoints. We’ll cover two approaches: a Custom Connector in Power Apps or Power Automate for signed-in users and an HTTP Connector in Power Automate to fetch data on behalf of a signed-in user.

Setting Up a Custom Connector:

The custom connector acts as a bridge between Power Apps or Power Automate and the Microsoft Graph API, enabling communication. I have already built the custom connector with all necessary actions to generate meeting transcripts using the Microsoft Graph API. You can download it from the link provided. After importing the solution into your environment, navigate to the Security tab in the custom connector and copy the Redirect URL.

Next, navigate to the Authentication section under the Manage blade of the Entra ID app registration and add the copied Redirect URL, as shown below

Configuring Authentication:

In the Security tab of the custom connector, enter the details from the Entra ID app registration, as configured in Part 1 of this blog series. Refer to the section Entra ID App registration for Signed In user (Delegated Access) – Custom Connector for retrieving these details:

  • Make sure OAuth 2.0 is selected as the authentication type.
  • Enter Entra ID (Azure AD) credentials:
  • Save and test authentication.

Defining the API Request:

1. Fetching User Events

To retrieve a user’s upcoming or past Teams meetings within a specified date range, use the following API request:

Endpoint:

GET https://graph.microsoft.com/v1.0/me/events?$select=id,subject,organizer,attendees,start,end,location,onlineMeeting&$orderby=start/dateTime desc&$top=3&$filter=start/dateTime ge '2025-02-03' and end/dateTime le '2025-03-07'

This request fetches the latest three events, including their ID, subject, organizer, attendees, start and end times, location, and online meeting details, filtered by a specific date range. This could changed based on your requirement

2. Retrieving a Meeting ID Using Join URL

If you have a meeting join URL from the above request and need to find its corresponding Meeting ID, use this API call:

Endpoint:

GET https://graph.microsoft.com/v1.0/me/onlineMeetings?$filter=JoinWebUrl eq {OnlineJoinURL}

This allows you to extract the unique identifier (meetingId) for a Teams meeting, which is required for fetching transcripts.

3. Retrieving Available Meeting Transcripts

Once you have the meetingId, you can list all available transcripts for that meeting using:

Endpoint:

GET https://graph.microsoft.com/v1.0/me/onlineMeetings/{meetingId}/transcripts

This response will include transcript details such as their unique transcriptId.

4. Fetching Meeting Transcript Content

To retrieve the actual transcript content in text/VTT (Web Video Text Tracks) format, use:

Endpoint:

GET https://graph.microsoft.com/v1.0/me/onlineMeetings/{meetingId}/transcripts/{transcriptId}/content?$format=text/vtt

This will return the full meeting transcript, which can be further processed for AI-driven summarization or note generation.

Testing the Custom Connector:

Authenticate and run a test request from the custom connector test interface after creating the connection. Verify that the transcription content is retrieved by testing all the different actions.

Using an HTTP Connector in Power Automate to get the Meeting transcriptions:

To obtain the transcription using Application permissions or on behalf of the user, use the details from the Entra ID app registration as configured in Part 1 of this blog series on the HTTP connector. This section covers from Part 1 Entra ID App registration for on-behalf-of signed-in users (Application Access) has the Client Id, Secret, Tenant Id for retrieving meeting transcriptions via the different Microsoft Graph API endpoints. Find below screenshot for getting the meeting transcriptions directly using the transcript URL

Enhancing Meeting Transcriptions with Azure OpenAI LLM

Azure Open AI models converts raw transcripts into structured, easy-to-read meeting notes, highlighting key discussion points, decisions, and action items. I have deployed gpt-4o-mini model in Azure OpenAI. API endpoint and Key for the model can be obtained from the Azure AI Foundary portal once after the model is deployed. Find the below the screenshot for calling the OpenAI LLM model using the HTTP Connector

You can also build a custom connector

Request Body:

{
  "model": "gpt-4o-mini",
  "messages": [
    {
      "role": "user",
      "content": "Create a short meeting summary and action items in bullet points from the following transcript:@{body('GETMeetingTranscript')}"
    }
  ]
}

Reference:

Storing and Sharing the AI-Generated Notes

You can also save the AI-generated summary in for an end-end solution:

  • SharePoint List.
  • Dataverse

Workflow Summary

  1. Retrieve transcription using Graph API (via Custom Connector or HTTP Connector).
  2. Send transcription to Azure OpenAI for summarization.
  3. Store or share the AI-generated meeting notes.

The Power Automate flow solution which uses the different custom connector actions to generate the meeting notes can be downloaded from

Summary:

This solution utilizes a Power Automate flow with Graph API to retrieve Teams meeting transcripts and Azure AI LLM to generate meeting notes based on delegated and application permission. While this is a basic implementation, it can be expanded into a comprehensive solution by integrating with Power Apps for a user-friendly interface, enabling access to meeting summaries and insights with minimal investment. By combining Power Automate, Graph API, and Azure OpenAI organizations can automate meeting documentation, enhancing productivity.

Do you like this article?

Subscribe to my blog with your email address using the widget on the right side or on the bottom of this page to have new articles sent directly to your inbox the moment I publish them.

Original Post https://ashiqf.com/2025/03/09/automating-meeting-notes-with-microsoft-graph-api-and-azure-openai-in-power-platform-part-2/

0 Votes: 0 Upvotes, 0 Downvotes (0 Points)

Leave a reply

Join Us
  • X Network2.1K
  • LinkedIn3.8k
  • Bluesky0.5K
Support The Site
Events
March 2025
MTWTFSS
      1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31       
« Feb   Apr »
Follow
Sign In/Sign Up Sidebar Search
Popular Now
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...