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.
Note
The APIs to fetch meeting transcripts and recordings are metered APIs. For more information, see payment models for meeting APIs.
You can now configure your app to fetch Microsoft Teams transcripts and recordings after the meeting or call ends. Your app can use Microsoft Graph REST APIs to access and fetch transcripts and recordings generated for the following instances:
- a scheduled online meeting
- an ad hoc call
Use cases
Here are some use cases for fetching meeting transcripts and recordings using Graph API.
| Use case | Description | How the APIs help |
|---|---|---|
| Fetch meeting transcripts and recordings automatically for scheduled instances like online meetings | As a sales manager, you need to obtain transcripts and recordings for capturing meaningful insights from multiple meetings across the Sales vertical. Keeping a tab on all meetings, and retrieving meeting transcripts and recordings manually from them to obtain useful information is time-consuming and inefficient. | Use Graph APIs in your app to fetch meeting transcripts and recordings automatically from all meetings relevant for your purpose. Your app receives meeting notifications, and gets the transcript and recording when it is generated after the meeting ends. This data can then be used to gain: • Aggregated insights and intelligence analysis • New leads and highlights • Meeting follow-ups and summaries |
| Fetch transcripts and recordings post-meeting for scheduled instances like online meetings | As an HR initiative, you're holding a brainstorming session to understand and improve employee health and productivity. Afetr it ends, you'd need to analyze the discussion to gather data points for planning improvements. Having to continually take notes to provide a post-meeting summary can impede the flow of thoughts, and you might not capture all valuable suggestions. | Using Graph APIs in your app to fetch transcripts and recordings post-meeting frees you and the participants to fully focus on the discussion. The content of the meeting transcript and recording is available for: • Engagement and sentiment analysis • Listing tasks or issues • Follow-up meetings and notifications |
| Create a personlized app for scheduled instances like online meetings | As a salesperson at a leading tech company, you must connect with clients and close deals. With numerous meetings scheduled through Teams and Outlook calendar, it's crucial to attend all calls and stay updated on discussions and latest updates. | Create an app with the following capabilities: • Notify you when a meeting is scheduled using Teams or Outlook calendar. • Enable your app to set AutoRecording=true for these meetings. • Add a bot as a meeting participant to display a banner indicating that the meeting is being recorded and that the content is used by your app for analysis. • Allow your app to access meeting recordings and transcripts. • Allow your app without requiring admin approval for the OnlineMeetingRecording.Read.All permissions, as obtaining admin approval for these permissions can be time consuming. Here's a sample app that showcases this use case scenario. |
| Fetch transcripts and recordings post-meeting for ad hoc instances | As a project manager, your role requires you to make spontaneous group or one-on-one calls, which can't be scheduled beforehand. Without a meeting invite, meeting IDs aren't generated, and hence transcripts and recordings can't be accessed. Taking down copious notes leaves much room to miss critical action items. | Use Graph APIs in your app to fetch transcripts and recordings post-meeting frees you and the participants to fully focus on the discussion. By using permissions CallTranscripts.Read.All and CallRecordings.Read.All, the call transcript is available for: • Capturing important action items • Listing to-dos or issues • Follow-up meetings and notifications |
| Fetch transcript and recordings post-call for PSTN calls | You have a call center where human assistants provide customer support using incoming or outgoing PSTN calls using Microsoft Teams. The assistants need to manually update external systems of record with notes from each call after the call ends. | Using Graph APIs in your app to fetch transcript and recordings post-call reduces the manual work required by each assistant to update records. Also it allows your app to trigger automations using call transcript. |
Get meeting and call transcripts and recordings
To fetch the transcript and recording for a particular meeting and call:
- Configure permissions on Microsoft Entra ID to access transcript and recording
- Get notified when the meeting transcripts and recordings are available
- Use Graph APIs to fetch transcript
- Use Graph APIs to fetch recording
Configure permissions on Microsoft Entra ID to access transcript and recording
Your app must have the required permissions for fetching transcripts and recordings. It can access and fetch transcripts and recordings for a Teams meeting using organization-wide application permissions or resource-specific consent (RSC) application permissions for a particular meeting.
Note
- New permissions for
adhocCalls(parallel toOnlineMeetings) are required for the above resources. - Subscribe to two separate, appropriately scoped resources (one for
onlineMeetingsand other foradhocCalls). These resources supply the URLs to use for fetching the data.
Use organization-wide application permissions
For online meetings and calls, you can configure your app to access meeting transcripts and recordings across the tenant. In this case, the meeting organizer doesn't need to install your app in the Teams meeting chat. When the admin authorizes the organization-wide application permissions, your app can read and access transcripts and recordings for all meetings in the tenant.
For more information about the organization-wide application permissions that can be granted to your app, see online meeting permissions.
Note
App-based permissions and user delegated permissions are allowed for ad hoc calls.
Use meeting-specific RSC application permissions
If you want your app to fetch transcripts and recordings only for the Teams meeting where it's installed, configure meeting-specific RSC permission for your app. Authorized users can install your app in the meeting chat. After the meeting ends, your app can make the API call to obtain the transcript and recording for that meeting.
For more information about the meeting-specific RSC permissions, see RSC permissions for a chat or meeting.
Note
RSC-based permissions for ad hoc calls aren't enabled.
Get notified when a transcript or recording is available
After you configure the permissions, configure your app to receive change notifications for transcripts and recordings when available or all relevant meetings and ad hoc calls.
For online meetings, notifications contain meeting ID and organizer ID that help in accessing transcript content and recording. Your app can fetch the transcript and recording for a meeting when it's generated after the meeting ends.
For ad hoc calls, meeting ID won't be available as these are spontaneous events (PSTN, 1:1, group calls). While there are no restrictions on notifications path for ad hoc calls, getAll APIs aren't available for ad hoc call instances as well (For example, listing of artifacts at call level).
The content of the transcript is available as .vtt file. The recording of the meeting is available as an .mp4 file.
You can use the following types of change notification for your app:
| Subscription Scope | Description | Supported resource paths |
|---|---|---|
| Tenant level | A transcript or recording is available for any online meeting or call for a tenant. | All transcripts in an organization: • For online meetings: communications/onlineMeetings/getAllTranscripts• For calls: communications/adhocCalls/getAllTranscripts All recordings in an organization: • For online meetings: communications/onlineMeetings/getAllRecordings • For calls: communications/adhocCalls/getAllRecordings |
| Meeting or Call level | A transcript or recording is available for a specific meeting or call. |
All transcripts for a specific meeting: communications/onlineMeetings/{onlineMeetingId}/transcripts All recordings for a specific meeting: communications/onlineMeetings/{onlineMeetingId}/recordings All transcripts for a specific ad hoc call: /communications/adhocCalls/{callId}/transcripts All recordings for a specific ad hoc call: /communications/adhocCalls/{callId}/recordings |
| User-scoped | A transcript or recording is available for any online meeting organized or ad hoc call initiated by a specific user. | A call transcript that becomes available in a meeting organized by a specific user or in a call where transcription is initiated by a specified user: • For online meetings: users/{userId}/onlineMeetings/getAllTranscripts • For ad hoc calls: users/{userId}/adhocCalls/getAllTranscriptsA call recording that becomes available in a meeting organized by a specific user or in a call where transcription is initiated by a specified user: • For online meetings: users/{userId}/onlineMeetings/getAllRecordings • For ad hoc calls: users/{userId}/adhocCalls/getAllRecordings |
| App-scoped | A transcript or recording is available for any meeting in which a specific teams-app is installed. Not applicable for ad hoc calls. | A call transcript that becomes available in a meeting where a particular Teams app is installed: • For online meetings: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllTrancripts A call recording that becomes available in a meeting where a particular Teams app is installed: • For online meetings: appCatalogs/teamsApps/{id}/installedToOnlineMeetings/getAllRecordings |
For more information about how your app can know when a transcript or recording is available after the online meeting or ad hoc call ends, see get notified when transcripts and recordings are available.
For more information about how your app can know when the meetings ends, see subscribe to change notifications and use Bot Framework to get meeting ID and organizer ID.
Important
- The process for calling Graph APIs to access and retrieve transcripts and recordings remains the same for both meeting-specific RSC application permissions and organization-wide application permissions.
- These APIs support private chat meetings, channel meetings, and ad hoc calls only in beta.
- For ad hoc calls:
- Subscribe to notifications to get access to the call ID.
- To obtain the call ID while the call is still ongoing, have the app get called through App-hosted/service-hosted Calls and use the
callChainId.
Get AI-generated meeting summaries for online meeting instances
Your app can directly fetch AI-generated meeting summaries, including conversation summaries, action items, and mentions using Meeting AI Insights API. For more information, see get meeting insights with Meeting AI Insights API.
Code samples
| Sample name | Description | Node.js | C# |
|---|---|---|---|
| Online meeting transcript bot | This sample app retrieves meeting transcripts using Microsoft Graph API and displays them in a dialog. | View | View |
| Online meeting transcripts recordings | This sample app retrieves Teams meeting transcripts and recordings using Graph APIs. | View | View |
| Ad hoc calls transcripts and recordings | This sample app retrieves meeting transcripts and recordings using Graph APIs for ad hoc calls, including PSTN, 1:1, and group calls. | View |
Next step
See also
Platform Docs