Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
- Meeting AI Insights API is available under the beta version in Microsoft Graph. For more information, see versioning, support, and breaking change policies for Microsoft Graph.
- Meeting AI Insights API is part of the Microsoft 365 Copilot API namespace. Insights can only be fetched on behalf of a Microsoft 365 Copilot licensed user. For more information, see license requirements for Meeting Insights API.
The Meeting AI Insights API enables you to programmatically access structured AI-generated insights from transcribed Microsoft Teams meetings. These insights include:
- Comprehensive conversation summaries
- Action items extracted from the discussion
- Utterances where participants are directly mentioned
The API empowers you to deliver intelligent meeting experiences, such as surfacing key takeaways or generating follow-ups, without the need to build or maintain your own AI infrastructure. Insights are generated after the meeting concludes and are accessible through Microsoft Graph API endpoints.
Note
Meeting AI Insights API provides insights only for private scheduled meetings.
Use cases
Here are some use cases for fetching AI-generated insights using Meeting AI Insights API:
Use case | Scenario | Integration | Impact |
---|---|---|---|
Autogenerate meeting summaries for CRM updates | A sales team conducts regular customer meetings over Teams. After each call, they need to log meeting summaries and follow-ups in their CRM. | After each meeting, you can have a backend service listen for meeting end events and use Microsoft Graph APIs to fetch post-meeting insights. The service extracts summaries and action items, and maps them to specific fields in the company's CRM records. Optionally, the integration can include a Teams message card confirming the update. | - Saves time for sales representatives by eliminating manual entry. - Ensures consistent capture of key details across all customer interactions. |
Capture post-meeting knowledge in a project management app | Product and engineering teams hold regular meetings to make design and feature decisions. Team members often forget to document what was discussed and agreed upon. | You can use a bot or a background job to query the Graph API for concluded meetings owned by product leads. The API fetches insights and uses natural language processing (NLP) to classify them, such as decisions, tasks, or risk items. These classifications are converted into tasks or notes in Azure DevOps, Jira, or Notion and assigned to the correct stakeholders using Graph user identities. | - Prevents information loss. - Automatically bridges the gap between conversation and task tracking. - Promotes alignment and accountability. |
Generate executive briefings for strategic meetings | Executives participate in multiple high-level meetings across functions such as finance, operations, or board reviews. They need quick, reliable summaries to stay up-to-date and take action. | You can create a digital assistant to call the Graph API after the designated executive meetings conclude to retrieve insights, prioritize key decisions and blockers, and format them into a concise daily briefing card. This card is posted to the executive's Teams chat or sent as a morning email summary. The integration can optionally highlight recurring themes using keyword clustering across meetings. | - Improves executive focus and decision velocity. - Reduces reliance on manual note-taking and follow-ups. Enables faster cross-functional awareness. |
Prerequisites
You must turn on the transcription or recording for the meeting for which the insights are to be generated. Alternatively, you can set a meeting to autotranscribe or autorecord programmatically using the update onlineMeeting API or directly through the meeting options.
The Meeting AI Insights API only works with delegated permissions and hence requires a token from a signed-in user to be passed in the call. The signed-in user must have a Microsoft 365 Copilot license and access to the meeting’s transcript file.
Fetch meeting insights
To fetch the insights of a particular meeting, follow these steps:
If you don’t have the meeting identifier (
id
), call online meeting API with theJoinWebUrl
property to retrieve theid
. For more information, see retrieve an online meeting by JoinWebUrl.Each transcript event of the meeting creates an associated AI insight object. Use the List AI Insights API to fetch all the AI insight objects related to the meeting and use the included metadata in the response to select the relevant AI insight object for your scenario. Here's an example request and response:
Request
GET /copilot/users/{userId}/onlineMeetings/{onlineMeetingId}/aiInsights
Response
HTTP/1.1 200 OK Content-Type: application/json { "@odata.context": "https://graph.microsoft.com/beta/$metadata#copilot/users('000000000-0000-0000-0000-000000000000')/onlineMeetings('00000...')/aiInsights", "@odata.count": 1, "value": [ { "id": "VjEj...", "callId": "af630fe0-04d3-4559-8cf9-91fe45e36296", "contentCorrelationId": "bc842d7a-2f6e-4b18-a1c7-73ef91d5c8e3", "createdDateTime": "2025-05-09T08:17:10.7261294Z", "endDateTime": "2025-05-09T08:17:10.7261294Z" } ] }
Property Description id
A unique identifier for the generated AI insight object. callId
A unique identifier for the call during which this insight is generated. contentCorrelationId
A unique identifier that correlates the transcript of the meeting from which the AI insight object is generated. createdDateTime
The date and time at which the corresponding transcript was created. The timestamp type represents the date and time information using the ISO 8601 format and is always in Coordinated Universal Time (UTC). endDateTime
The date and time at which the corresponding transcript ends. The timestamp type represents the date and time information using the ISO 8601 format and is always in UTC. Each AI insight object provides detailed meeting notes, action items, and participant-specific mentions, which can be accessed by calling GET AI Insights API for a specific insight object ID. Here's an example request and response:
Request
GET /copilot/users/{userId}/onlineMeetings/{onlineMeetingId}/aiInsights/{aiInsightId}
Response
HTTP/1.1 200 OK Content-Type: application/json { "@odata.context": "https://graph.microsoft.com/beta/$metadata#copilot/users('00000000-0000-0000-0000-000000000000')/onlineMeetings('000000...')/aiInsights/$entity", "id": "Z2HWbT...", "callId": "af630fe0-04d3-4559-8cf9-91fe45e36296", "contentCorrelationId": "bc842d7a-2f6e-4b18-a1c7-73ef91d5c8e3", "createdDateTime": "2025-05-15T08:17:10.7261294Z", "endDateTime": "2025-05-15T08:32:10.7261294Z", "meetingNotes": [ { "title": "Introducing Project Objectives and Key Stakeholders", "text": "The stakeholders present included representatives from each department involved in the project, ensuring alignment and clear communication channels from the start.", "subpoints": [ { "title": "Discussion on action items", "text": "Action items were assigned to team members, and a follow-up meeting schedule was established." } ] } ], "actionItems": [ { "title": "Finalize Project Timeline", "text": "Review and finalize the project timeline to ensure alignment with stakeholder expectations and resource availability.", "ownerDisplayName": "Bella Smith", }, ], "viewpoint": { "mentionEvents": [ { "speaker": { "application": null, "device": null, "user": { "@odata.type": "#Microsoft.Teams.GraphSvc.teamworkUserIdentity", "id": "9a7608d3-53e4-4a92-804f-ef43f1e5f5b5", "displayName": "John Smith", "userIdentityType": "aadUser", "tenantId": "d1aeb56e-5a25-4d91-a4f6-0f5e6a50d887" } }, "eventDateTime": "2024-05-21T09:00:00", "transcriptUtterance": "We need to get approval from Sarah Johnson before proceeding with the budget allocation." }, ] } }
Property Description meetingNotes
Contains detailed notes of the meeting discussion as generated by Microsoft Teams Copilot. The notes include a title, summary, and detailed subpoints of the discussion. actionItems
Contains the action items generated from the meeting conversation. The action items include a summary of the action item and the assigned owner. viewpoint.mentionEvents
Contains participant-specific information from the conversation, including mentions with the timestamps in the meeting when a user is mentioned, the speaker, and the utterance details.
Limitations
- AI-generated insights are only available after a meeting ends. The API doesn't support accessing live notes during a meeting.
- AI-generated insights might take up to four hours to be available after the call ends.
- Application-level permissions aren't supported.
Code sample
Sample name | Description | Node.js |
---|---|---|
Meeting AI insights bot | This sample app retrieves meeting summaries, action items, and mentions using Meeting AI Insights API and displays them in a dialog. | View |
See also
Platform Docs