{"id":16028,"date":"2023-10-31T11:35:53","date_gmt":"2023-10-31T18:35:53","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=16028"},"modified":"2023-11-02T07:36:26","modified_gmt":"2023-11-02T14:36:26","slug":"microsoft-graph-apis-for-microsoft-teams-meeting-transcripts-now-generally-available","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/microsoft-graph-apis-for-microsoft-teams-meeting-transcripts-now-generally-available\/","title":{"rendered":"Microsoft Graph APIs for Microsoft Teams meeting transcripts now generally available"},"content":{"rendered":"<p>We are thrilled to announce that the Microsoft Graph APIs for retrieving Microsoft Teams meeting transcripts are now generally available. These APIs enable app developers to retrieve meeting transcripts programmatically for scheduled regular (non-channel) meetings. Now developers can build apps that fetch the transcript content for meetings and apply AI on top of that to power scenarios like:<\/p>\n<ul>\n<li><strong>AI meeting summary: <\/strong>Provide users with insights like AI-generated notes, action items, topics discussed, and questions asked.<\/li>\n<li><strong>Speaker insights:<\/strong> Sentiment and engagement analysis of users based on transcript.<\/li>\n<li><strong>Smart follow-ups: <\/strong>Analyze previous calls to generate insights about what to discuss in the next iterations.<\/li>\n<li><strong>Training and onboarding: <\/strong>Reduce ramp up time for new employees by sharing snippets of successful practices from previous meetings.<\/li>\n<\/ul>\n<p>Apps in industries like sales enablement, HR\/interviewing, and meeting management would especially benefit from using these APIs for the above scenarios to supercharge their users\u2019 meeting productivity.<\/p>\n<h2>How to use Microsoft Graph APIs to fetch meeting transcripts<\/h2>\n<p>To use the Microsoft Graph APIs for meeting transcripts, you need to have a Microsoft Teams meeting with <a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoftteams\/meeting-transcription-captions\">transcription enabled<\/a>. During the meeting, the organizer\/participant needs to go to meeting controls and turn on Start transcription, or Start recording, as described in <a href=\"https:\/\/support.microsoft.com\/en-au\/office\/view-live-transcription-in-microsoft-teams-meetings-dc1a8f23-2e20-4684-885e-2152e06a4a8b\">View live transcription in Microsoft Teams meetings. <\/a><\/p>\n<p>The new <a href=\"https:\/\/learn.microsoft.com\/graph\/api\/resources\/calltranscript?view=graph-rest-1.0\"><code>callTranscript<\/code><\/a> resource type represents the transcript associated with an <a href=\"https:\/\/learn.microsoft.com\/graph\/api\/resources\/onlinemeeting?view=graph-rest-1.0\">online meeting<\/a>.<\/p>\n<p>You can list all the transcripts associated with an online meeting by using the <a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/onlinemeeting-list-transcripts?view=graph-rest-1.0&amp;tabs=http\">List transcripts<\/a> API. When you have the <code>callTranscript<\/code> ID, you can call the following API to fetch the transcript content:<\/p>\n<ul>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/calltranscript-get?view=graph-rest-1.0&amp;tabs=http\">Get transcript content: <\/a>The transcript content is available in <em>.vtt<\/em> format. The following example shows how the <em>.vtt<\/em> format for transcript appears. It contains details like utterance, start and end time, text, speaker, and language.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/calltranscript-get?view=graph-rest-1.0&amp;tabs=http\"><img decoding=\"async\" class=\"alignnone wp-image-16030\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/10\/a-black-screen-with-white-text-description-automa.png\" alt=\"Screenshot of get transcript content response example\" width=\"1361\" height=\"628\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/10\/a-black-screen-with-white-text-description-automa.png 1361w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/10\/a-black-screen-with-white-text-description-automa-300x138.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/10\/a-black-screen-with-white-text-description-automa-1024x472.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2023\/10\/a-black-screen-with-white-text-description-automa-768x354.png 768w\" sizes=\"(max-width: 1361px) 100vw, 1361px\" \/><\/a><\/p>\n<h2>Change notifications<\/h2>\n<p>We also support APIs to subscribe to <a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/teams-changenotifications-callrecording-and-calltranscript\">change notifications<\/a> for when a transcript content is available. You can subscribe to change notifications for transcripts at two levels:<\/p>\n<ul>\n<li><strong>Tenant level<\/strong>: To get change notifications for any transcript that\u2019s available for any online meeting in a tenant, subscribe to\u00a0<code><em>communications\/onlineMeetings\/getAllTranscripts<\/em><\/code><\/li>\n<li><strong>Meeting level:<\/strong> To get change notifications for any transcript that\u2019s available for a particular online meeting, subscribe to <code><em>communications\/onlineMeetings\/{onlineMeetingId}\/transcripts<\/em><\/code><\/li>\n<\/ul>\n<p>We will also add support for change notifications at user (organizer) level and app context level in the coming months.<\/p>\n<p>For more information about how to get started with these APIs, see <a href=\"https:\/\/learn.microsoft.com\/en-us\/microsoftteams\/platform\/graph-api\/meeting-transcripts\/overview-transcripts\">Get meeting transcripts and recordings.<\/a><\/p>\n<h2>Billing requirements for meeting transcript APIs<\/h2>\n<p>The API to get the transcript content is metered. For details about pricing, see the <a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/microsoft-teams-recording-and-transcript-apis-billing-in-public-preview\/\">Microsoft Teams Recording and Transcript APIs billing in public preview <\/a>blog post and <a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/teams-licenses#payment-requirements-for-meeting-apis\">Payment requirements for meeting APIs<\/a><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/microsoft-teams-recording-and-transcript-apis-billing-in-public-preview\/\">.<\/a><\/p>\n<h2>Related APIs<\/h2>\n<p>Related APIs that complement the transcript APIs when building applications for Teams meeting scenarios are also available. For details, see the following links:<\/p>\n<ul>\n<li>APIs to fetch meeting recording (preview): <a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/resources\/callrecording?view=graph-rest-beta\">callRecording resource type &#8211; Microsoft Graph beta | Microsoft Learn<\/a><\/li>\n<li>APIs to list all transcripts and recordings for all meetings where a user is the organizer (preview):\n<ul>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/onlinemeeting-getalltranscripts?view=graph-rest-beta&amp;tabs=http\">onlineMeeting: getAllTranscripts &#8211; Microsoft Graph beta | Microsoft Learn<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/onlinemeeting-getallrecordings?view=graph-rest-beta&amp;tabs=http\">onlineMeeting: getAllRecordings &#8211; Microsoft Graph beta | Microsoft Learn<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>For more information about Microsoft Teams APIs, see <a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/resources\/teams-api-overview?view=graph-rest-beta\">Use the Microsoft Graph API to work with Microsoft Teams &#8211; Microsoft Graph beta | Microsoft Learn<\/a><\/p>\n<p>Follow us on <a href=\"https:\/\/twitter.com\/Microsoft365Dev\">X (Twitter) \/ (@Microsoft365Dev)<\/a> for the latest news and announcements.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Use Microsoft Graph APIs to build apps that fetch the transcript content for meetings and apply AI to power scenarios on top of that.<\/p>\n","protected":false},"author":127426,"featured_media":16065,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3,128],"tags":[146,260],"class_list":["post-16028","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-graph","category-microsoft-teams","tag-microsoft-graph-api","tag-teams-recording-and-transcript"],"acf":[],"blog_post_summary":"<p>Use Microsoft Graph APIs to build apps that fetch the transcript content for meetings and apply AI to power scenarios on top of that.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/16028","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/127426"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=16028"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/16028\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/16065"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=16028"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=16028"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=16028"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}