Skip to main content

Microsoft Teams

Microsoft Teams is a collaboration platform for chat, meetings, and teamwork, accessed programmatically through the Microsoft Graph API. This connector reads and writes Teams collaboration data — users, groups, teams, channels, chats, conversations, and usage reports — and can create and manage teams, channels, members, and messages.

Microsoft Teams icon

Power end-to-end data operations for your Microsoft Teams API with Nexla. Our bi-directional Microsoft Teams connector is purpose-built for Microsoft Teams, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Microsoft Teams or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Microsoft Teams workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Microsoft Teams data is exposed through the Microsoft Graph API, which uses OAuth 2.0 with a registered Microsoft Entra ID (Azure AD) application. This connector uses the three-legged (authorization code) flow, where a user signs in and consents to grant your application delegated access to Teams resources.

Before creating a Microsoft Teams credential in Nexla, register an application and obtain its OAuth 2.0 details:

  1. Sign in to the Microsoft Entra admin center (or the Azure portal) with an account that can register applications in your tenant.

  2. Go to Identity > Applications > App registrations, and click New registration. Give the application a name (for example, "Nexla Integration"), choose the supported account types for your organization, and register it.

  3. On the application's Overview page, copy the Application (client) ID. This is the Client ID you will enter in Nexla.

  4. Under Certificates & secrets, create a New client secret, set an expiration, and copy the secret Value immediately — it is shown only once and becomes your Client Secret.

  5. Under API permissions, add the delegated Microsoft Graph permissions your use case requires (for example, User.Read, Group.Read.All, Team.ReadBasic.All, Channel.ReadBasic.All, ChannelMessage.Send, or Chat.Read). Some permissions require administrator consent for the tenant.

  6. Under Authentication, add a redirect URI for Nexla's OAuth callback so the sign-in flow can return the authorization code.

The Microsoft Graph authorization and token endpoints follow the pattern https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize and https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token, and API requests are issued against the Microsoft Graph base URL (https://graph.microsoft.com/v1.0 for production, or the beta endpoint for preview features). For full details on permissions, consent, and available resources, see the Microsoft Graph authentication documentation and the Microsoft Teams API overview.

Authenticate

Credentials required

OAuth2 3-legged flow for delegated Teams access. Requires Azure AD app registration with Teams API permissions. User grants consent; connector exchanges code for access/refresh tokens.

FieldRequiredSecretDescription
Authorization URLNoNoThe URL endpoint where users authenticate and authorize access
Client IDYesYesA unique public identifier assigned to your application
Access ScopeNoNoA space-separated list of permissions your application requests
Token URLNoNoThe URL endpoint where authorization codes are exchanged for access tokens
Client SecretNoYesA private key used to authenticate your application when requesting tokens
Microsoft Graph Base URLYesNoBase URL for Microsoft Graph API endpoint. Use v1.0 for production or beta for preview features. Allowed values: Production (v1.0); Beta

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. In the Client ID field, enter the Application (client) ID from your Microsoft Entra ID application registration, and in the Client Secret field, enter the client secret value you generated for that application.

  4. Set the Microsoft Graph Base URL to the production endpoint (v1.0) unless you specifically need preview features, in which case select the beta endpoint. If your tenant requires non-default OAuth endpoints, provide the Authorization URL, Token URL, and Access Scope values; otherwise the standard Microsoft Graph values apply.

    The Client Secret is sensitive information and should be kept secure. Client secrets expire based on the period you set when creating them in Microsoft Entra ID — if a secret is lost or has expired, generate a new one in your application's Certificates & secrets settings.

  5. Complete the Microsoft sign-in and consent prompt so Nexla can exchange the authorization code for access and refresh tokens on your behalf.

  6. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Microsoft Teams connector tile, then select the credential that will be used to connect to Microsoft Graph, and click Next; or, create a new Microsoft Teams credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Microsoft Teams endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

[Rest API] List Users

Returns a paginated list of users in the Microsoft tenant.

This endpoint fetches data from the Microsoft Graph API. Returns a paginated list of users in the Microsoft tenant. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List Groups

Returns a paginated list of groups in the Microsoft tenant.

This endpoint fetches data from the Microsoft Graph API. Returns a paginated list of groups in the Microsoft tenant. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List Group Members

Returns a paginated list of members in a specific group.

This endpoint fetches data from the Microsoft Graph API. Returns a paginated list of members in a specific group. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List Group Owners

Returns a paginated list of owners in a specific group.

This endpoint fetches data from the Microsoft Graph API. Returns a paginated list of owners in a specific group. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List Group Conversations

Returns a paginated list of conversations in a specific group.

This endpoint fetches data from the Microsoft Graph API. Returns a paginated list of conversations in a specific group. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List Team Channels

Returns a list of channels in a specific team.

This endpoint fetches data from the Microsoft Graph API. Returns a list of channels in a specific team. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List Channel Members

Returns a paginated list of members in a specific team channel.

This endpoint fetches data from the Microsoft Graph API. Returns a paginated list of members in a specific team channel. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List Channel Tabs

Returns a list of tabs in a specific team channel.

This endpoint fetches data from the Microsoft Graph API. Returns a list of tabs in a specific team channel. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List Conversation Threads

Returns a paginated list of threads in a specific group conversation.

This endpoint fetches data from the Microsoft Graph API. Returns a paginated list of threads in a specific group conversation. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List Conversation Posts

Returns a paginated list of posts in a specific conversation thread.

This endpoint fetches data from the Microsoft Graph API. Returns a paginated list of posts in a specific conversation thread. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List Team Drives

Returns a list of drives associated with a team group.

This endpoint fetches data from the Microsoft Graph API. Returns a list of drives associated with a team group. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] Get Teams Device Usage Report

Returns a report of Teams device usage details for users over a specified time period.

This endpoint fetches data from the Microsoft Graph API. Returns a report of Teams device usage details for users over a specified time period. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] Get Search Suggestions

Returns a list of query suggestions based on a search query string sent to the Bing AutoSuggest API.

This endpoint fetches data from the Microsoft Graph API. Returns a list of query suggestions based on a search query string sent to the Bing AutoSuggest API. Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List all chats for the signed-in user

List all chats for the signed-in user

This endpoint fetches data from the Microsoft Graph API. List all chats for the signed-in user Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List messages in a 1:1 or group chat

List messages in a 1:1 or group chat

This endpoint fetches data from the Microsoft Graph API. List messages in a 1:1 or group chat Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

[Rest API] List replies in a channel message thread

List replies in a channel message thread

This endpoint fetches data from the Microsoft Graph API. List replies in a channel message thread Nexla automatically follows Microsoft Graph pagination (@odata.nextLink) to retrieve all available records. For details on response fields, required permissions, and query parameters, see the Microsoft Teams API overview.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Microsoft Teams data sources can also be manually configured to ingest data from any valid Microsoft Graph API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Microsoft Teams data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Microsoft Teams destination, and select the Send to Destination option from the menu. Select the Microsoft Teams connector from the list of available destination connectors, then select the credential that will be used to connect to Microsoft Graph, and click Next; or, create a new Microsoft Teams credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Microsoft Teams endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

[Rest API] Create a Microsoft 365 group (prerequisite for a team)

This endpoint template performs the following operation: Create a Microsoft 365 group (prerequisite for a team).

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Create a Microsoft 365 group (prerequisite for a team). The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Create a new team (with underlying Microsoft 365 group)

This endpoint template performs the following operation: Create a new team (with underlying Microsoft 365 group).

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Create a new team (with underlying Microsoft 365 group). The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Send a message in a 1:1 or group chat

This endpoint template performs the following operation: Send a message in a 1:1 or group chat.

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Send a message in a 1:1 or group chat. The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Create a webhook / change-notification subscription for Teams resources

This endpoint template performs the following operation: Create a webhook / change-notification subscription for Teams resources.

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Create a webhook / change-notification subscription for Teams resources. The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Create a channel within a team

This endpoint template performs the following operation: Create a channel within a team.

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Create a channel within a team. The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Send a message to a Teams channel

This endpoint template performs the following operation: Send a message to a Teams channel.

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Send a message to a Teams channel. The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Add a member to a team

This endpoint template performs the following operation: Add a member to a team.

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Add a member to a team. The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Update a team's settings (fun settings, member settings, guest settings)

This endpoint template performs the following operation: Update a team's settings (fun settings, member settings, guest settings).

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Update a team's settings (fun settings, member settings, guest settings). The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Remove a member from a team

This endpoint template performs the following operation: Remove a member from a team.

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Remove a member from a team. The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Create a new user in the directory

This endpoint template performs the following operation: Create a new user in the directory.

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Create a new user in the directory. The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Update a Microsoft 365 group (display name, description, visibility, etc.)

This endpoint template performs the following operation: Update a Microsoft 365 group (display name, description, visibility, etc.).

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Update a Microsoft 365 group (display name, description, visibility, etc.). The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Update channel display name, description, or membership type

This endpoint template performs the following operation: Update channel display name, description, or membership type.

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Update channel display name, description, or membership type. The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Delete a Microsoft 365 group

This endpoint template performs the following operation: Delete a Microsoft 365 group.

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Delete a Microsoft 365 group. The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

[Rest API] Delete a channel from a team

This endpoint template performs the following operation: Delete a channel from a team.

This endpoint sends each record from your Nexset to the Microsoft Graph API as a separate request. Delete a channel from a team. The request body must match the structure expected by the corresponding Microsoft Graph endpoint, and your registered application must be granted the required delegated permissions. For request body formats and required fields, see the Microsoft Teams API overview.

Manual configuration

Microsoft Teams destinations can also be manually configured to send data to any valid Microsoft Graph API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Microsoft Graph APIs expect JSON request bodies. Write operations require the corresponding delegated permissions to be granted to your registered application, and some operations (such as creating teams or subscriptions) may complete asynchronously on the Microsoft side.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Microsoft Teams endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Microsoft Teams endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.