You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Learn how to use the Meeting AI Insights API to fetch Teams meeting insights including conversation summaries, action items, and mentions.
4
4
ms.localizationpriority: high
5
-
ms.topic: conceptual
6
-
ms.owner: vichug
5
+
ms.topic: article
6
+
ms.owner: vtarasov
7
7
ms.author: surbhigupta
8
-
ms.date: 05/16/2025
8
+
ms.date: 12/08/2025
9
9
---
10
10
11
11
# Get AI-generated meeting summaries with Meeting AI Insights API
12
12
13
13
> [!IMPORTANT]
14
14
>
15
-
> * 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](/graph/versioning-and-support#beta-version).
16
-
> * 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](/graph/teams-licenses#license-requirements-for-teams-meeting-ai-insights-apis).
15
+
> * Meeting AI Insights API is part of the Microsoft 365 Copilot API namespace. You can only fetch insights on behalf of a Microsoft 365 Copilot licensed user. For more information, see [license requirements for Meeting Insights API](/graph/teams-licenses#license-requirements-for-teams-meeting-ai-insights-apis).
17
16
18
17
The Meeting AI Insights API enables you to programmatically access structured AI-generated insights from transcribed Microsoft Teams meetings. These insights include:
19
18
@@ -25,7 +24,7 @@ The API empowers you to deliver intelligent meeting experiences, such as surfaci
25
24
26
25
> [!NOTE]
27
26
>
28
-
> Meeting AI Insights API provides insights only for private scheduled meetings.
27
+
> Meeting AI Insights API provides insights for private scheduled meetings, town halls, webinars, and Meet Now sessions. AI Insights API doesn't yet support channel meetings.
29
28
30
29
## Use cases
31
30
@@ -39,134 +38,123 @@ Here are some use cases for fetching AI-generated insights using Meeting AI Insi
39
38
40
39
## Prerequisites
41
40
42
-
* You must [turn on the transcription or recording](https://support.microsoft.com/en-us/office/view-live-transcription-in-microsoft-teams-meetings-dc1a8f23-2e20-4684-885e-2152e06a4a8b) 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](/graph/api/onlinemeeting-update?view=graph-rest-1.0&preserve-view=true&tabs=http) or directly through the [meeting options](/microsoftteams/manage-meeting-recording-options#record-and-transcribe-automatically).
43
-
44
-
* 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](/copilot/microsoft-365/microsoft-365-copilot-licensing) and access to the meeting’s transcript file.
41
+
* You must [turn on the transcription or recording](https://support.microsoft.com/en-us/office/view-live-transcription-in-microsoft-teams-meetings-dc1a8f23-2e20-4684-885e-2152e06a4a8b) for the meeting to generate insights. Alternatively, you can set a meeting to autotranscribe or autorecord programmatically using the [update onlineMeeting API](/graph/api/onlinemeeting-update?view=graph-rest-1.0&preserve-view=true&tabs=http) or directly through the [meeting options](/microsoftteams/manage-meeting-recording-options#record-and-transcribe-automatically).
45
42
46
43
## Fetch meeting insights
47
44
48
45
To fetch the insights of a particular meeting, follow these steps:
49
46
50
-
1. If you don’t have the meeting identifier (`id`), call online meeting API with the `JoinWebUrl` property to retrieve the `id`. For more information, see [retrieve an online meeting by JoinWebUrl](/graph/api/onlinemeeting-get?view=graph-rest-1.0&preserve-view=true&tabs=http#example-3-retrieve-an-online-meeting-by-joinweburl).
47
+
1. If you don't have the meeting identifier (`id`), call online meeting API with the `JoinWebUrl` property to retrieve the `id`. For more information, see [retrieve an online meeting by JoinWebUrl](/graph/api/onlinemeeting-get?view=graph-rest-1.0&preserve-view=true&tabs=http#example-3-retrieve-an-online-meeting-by-joinweburl).
48
+
49
+
1. Each transcript event of the meeting creates an associated [AI insight object](/graph/api/resources/callaiinsight?preserve-view=true). Use the [List AI Insights API](/graph/api/onlinemeeting-list-aiinsights?preserve-view=true) 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:
51
50
52
-
1. Each transcript event of the meeting creates an associated [AI insight object](/graph/api/resources/callaiinsight?view=graph-rest-beta&preserve-view=true). Use the [List AI Insights API](/graph/api/onlinemeeting-list-aiinsights?view=graph-rest-beta&preserve-view=true) 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:
| `id` | A unique identifier for the generated AI insight object. |
84
-
| `callId` | A unique identifier for the call during which this insight is generated. |
85
-
| `contentCorrelationId` | A unique identifier that correlates the [transcript](/graph/api/resources/calltranscript?&view=graph-rest-beta&preserve-view=true) of the meeting from which the AI insight object is generated. |
86
-
| `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). |
87
-
| `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. |
88
-
89
-
1. Each AI insight object provides detailed meeting notes, action items, and participant-specific mentions, which can be accessed by calling [GET AI Insights API](/graph/api/callaiinsight-get?view=graph-rest-beta&preserve-view=true) for a specific insight object ID. Here's an example request and response:
90
-
91
-
**Request**
92
-
93
-
```http
94
-
GET /copilot/users/{userId}/onlineMeetings/{onlineMeetingId}/aiInsights/{aiInsightId}
|`id`| A unique identifier for the generated AI insight object. |
81
+
|`callId`| A unique identifier for the call during which this insight is generated. |
82
+
|`contentCorrelationId`| A unique identifier that correlates the [transcript](/graph/api/resources/calltranscript?preserve-view=true) of the meeting from which the AI insight object is generated. |
83
+
|`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). |
84
+
|`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. |
85
+
86
+
1. Each AI insight object provides detailed meeting notes, action items, and participant-specific mentions, which you can access by calling [GET AI Insights API](/graph/api/callaiinsight-get?preserve-view=true) for a specific insight object ID. Here's an example request and response:
"title": "Sample Testing and Staging Code Update",
110
+
"text": "MOD discussed the process of testing a sample, confirming that it will function after updating the staging code, and outlined the necessary steps for this update.",
111
+
"subpoints": [
112
+
{
113
+
"title": "Staging Code Modification",
114
+
"text": "MOD stated that the sample will work after changing the staging code, indicating that this is the primary requirement for successful testing.",
115
+
},
111
116
{
112
-
"title": "Introducing Project Objectives and Key Stakeholders",
113
-
"text": "The stakeholders present included representatives from each department involved in the project, ensuring alignment and clear communication channels from the start.",
114
-
"subpoints": [
115
-
{
116
-
"title": "Discussion on action items",
117
-
"text": "Action items were assigned to team members, and a follow-up meeting schedule was established."
118
-
}
119
-
]
120
-
}
117
+
"title": "Beta Environment Configuration",
118
+
"text": "MOD clarified that updates are needed only in the beta environment, specifically mentioning the need to replace or update the access token and configure related settings.",
119
+
},
120
+
{
121
+
"title": "Testing Process Steps",
122
+
"text": "MOD described the process of generating the beta, suggested that another person might need to participate, and encouraged further attempts if initial tests do not succeed.",
123
+
},
121
124
],
122
-
"actionItems": [
125
+
},
126
+
{
127
+
"title": "ReadMe File Integration Issue",
128
+
"text": "MOD identified an issue related to the ReadMe file, noting that it was properly created and centrally added, which is affecting the current process.",
129
+
"subpoints": [
123
130
{
124
-
"title": "Finalize Project Timeline",
125
-
"text": "Review and finalize the project timeline to ensure alignment with stakeholder expectations and resource availability.",
126
-
"ownerDisplayName": "Bella Smith",
131
+
"title": "ReadMe File Addition",
132
+
"text": "MOD explained that the ReadMe file was properly created and centrally added, which is contributing to the observed issue in the workflow."
"transcriptUtterance": "We need to get approval from Sarah Johnson before proceeding with the budget allocation."
145
-
},
146
-
]
147
-
}
148
-
}
149
-
```
150
-
151
-
| Property | Description |
152
-
| --- | --- |
153
-
| `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. |
154
-
| `actionItems` | Contains the action items generated from the meeting conversation. The action items include a summary of the action item and the assigned owner. |
155
-
| `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. |
135
+
},
136
+
],
137
+
}
138
+
```
139
+
140
+
| Property | Description |
141
+
| --- | --- |
142
+
|`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. |
143
+
|`actionItems`| Contains the action items generated from the meeting conversation. The action items include a summary of the action item and the assigned owner. |
144
+
|`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. |
156
145
157
146
## Limitations
158
147
159
-
* AI-generated insights are only available after a meeting ends. The API doesn't support accessing live notes during a meeting.
148
+
* AI-generated insights are available only after a meeting ends. The API doesn't support accessing live notes during a meeting.
160
149
* AI-generated insights might take up to four hours to be available after the call ends.
161
-
* Application-level permissions aren't supported.
162
150
163
151
## Code sample
164
152
165
-
| Sample name | Description | Node.js |
166
-
| --- | --- | --- |
167
-
| 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](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-meeting-ai-insights/nodejs) |
153
+
| Sample name | Description | Node.js | Python |
154
+
| --- | --- | --- | --- |
155
+
| Meeting AI insights bot | This sample app retrieves meeting summaries, action items, and mentions by using the Meeting AI Insights API and displays them in a dialog. |[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-meeting-ai-insights/nodejs)|[View](https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/bot-meeting-ai-insights/python)|
*[Working with the cloud communications API in Microsoft Graph](/graph/api/resources/communications-api-overview?view=graph-rest-beta&preserve-view=true)
0 commit comments