Try a Microsoft Build demo search app with LLM functions from Azure Marketplace partner Elastic
July 22, 2025Take your presentation skills to the next level with these 7 lesser-known PowerPoint features
July 22, 2025We are thrilled to announce the availability of the Teams Q&A Export API in Microsoft Graph Beta: Use the Microsoft Graph API to work with Microsoft Teams. It enables programmatic access to Q&A content across Microsoft Teams meetings, webinars, and town halls, addressing a key need for data portability and cross-platform interoperability of question & answer (Q&A) conversations messages for a tenant.
The new Export API, the API returns a just-in-time snapshot of all Q&A activity in JSON format. The API supports app-only access and does not support delegated permissions.
We encourage you to try out these APIs and reach out to us with your feedback. See Microsoft Graph REST API beta endpoint reference to learn more about the MS Graph beta program and best ways to provide feedback.
Pre-requisites to test the API:
- Testing instructions below require Bruno API platform setup
- Some steps require tenant admin approval
To test the API, follow the steps below:
- Register a new app in Azure Active Directory (Entra)
a. Go to Register an application – Microsoft Azure and register a new application.
b. Specify your custom callback URL.
- Note the Application (client) ID and Directory (tenant) ID. This information will be required in the following steps.
- Note the OAuth 2.0 endpoints. This information will be required in the following steps.
- Request API permissions:
a. In the API permissions tab, select Add a permission and select Microsoft Graph.
b. Select Application permissions to use app-only access, without a signed-in user.
c. Select EngagementMeetingConversation.Read.All.
- Share your app’s API permission URL with a tenant admin to get admin consent for your app to use these permissions.
- Create a new client secret under the Certificate & secrets tab. A refresh is recommended every 6 months as a security best practice. Note the Secret ID. This information will be required in the following steps.
- Set up Q&A messages GET request on Bruno:
a. Request type: GET
b. Request URL: https://graph.microsoft.com/beta/communications/getAllOnlineMeetingMessages?$expand=conversation
c. Set up Auth:
i. Select type as OAuth 2.0
ii. Input Access Token URL: This is the token endpoint noted in step 3.
iii. Input Client ID: This is the Application (client) ID noted in step 2.
iv. Input Client Secret: This is the Secret ID noted in step 7.
v. Input Scope: https://graph.microsoft.com/.default
d. Select Get Access Token
- Send request: If the request is submitted successfully, a 200 OK response will be returned along with a response body containing question and answer (Q&A) conversation messages.
- Get a list of reactions by setting up a List reactions GET Request: https://graph.microsoft.com/beta/communications/onlineMeetingConversations/{onlineMeetingEngagementConversationId}/messages/{engagementConversationMessageId}/reactions. If the request is submitted successfully, a 200 OK response will be returned along with a response body containing question and answer (Q&A) conversation message reactions.
We hope you like this new API capability, helping you get the most out of your Teams Q&A experience.