Microsoft Teams
This page contains the setup guide and reference information for Microsoft Teams.
Features
| Feature | Supported? |
|---|---|
| Full Refresh Sync | Yes |
| Incremental Sync | No |
| SSL connection | Yes |
| Namespaces | No |
Prerequisites
- An Azure account that has an active subscription
- Application (client) ID
- Directory (tenant) ID
- Client secrets
The Microsoft Graph API uses OAuth for authentication. Microsoft Graph exposes granular permissions that control the access that apps have to resources, like users, groups, and mail. When a user signs in to your app they, or, in some cases, an administrator, are given a chance to consent to these permissions. If the user consents, your app is given access to the resources and APIs that it has requested. For apps that don't take a signed-in user, permissions can be pre-consented to by an administrator when the app is installed.
Microsoft Graph has two types of permissions:
-
Delegated permissions are used by apps that have a signed-in user present. For these apps, either the user or an administrator consents to the permissions that the app requests, and the app can act as the signed-in user when making calls to Microsoft Graph. Some delegated permissions can be consented by non-administrative users, but some higher-privileged permissions require administrator consent.
-
Application permissions are used by apps that run without a signed-in user present; for example, apps that run as background services or daemons. Application permissions can only be consented by an administrator. This source requires Application permissions.
Setup guide
Step 1: Obtain Microsoft Teams crendentials
Follow these instructions or the below steps for creating an app in the Azure portal. This process will produce the client_id, client_secret, and tenant_id needed to set up the source in Daspire.
-
Login to Azure Portal.
-
Select Microsoft Entra ID from list Azure services, or search for it in the search bar.

-
On the left side nav bar, click App registrations, and click click the New registration tab.

-
Register an application. Enter a name for your app, and in Supported account types, select Accounts in this organizational directory only. Cick the Register button.

-
You will be directed to your App's Overview page. From there, copy the Application (client) ID and Directory (tenant) ID. You will use them later for authentication in Daspire.

-
Click Add a certificate or secret, which will open the Certificates & secrets page.

-
Click + New client secret. In the opened pop up, provide a description for the client secret and select the expirary duration that suits your need. Then click Add.
-
Copy the client secret Value. You will use it later for authentication in Daspire.

-
On the left side nav bar, click API permissions, then Add a permission.

-
Select Microsoft Graph, then select Application permissions.

-
Select the following permissions:
-
Channels
- Channel.ReadBasic.All
-
ChannelMembers
- ChannelMember.Read.All
- ChannelMember.ReadWrite.All
-
ChannelMessage
- ChannelMessage.Read.All
-
Chat
- Chat.Read.All
- Chat.ReadBasic.All
- Chat.ReadWrite.All
-
ChatMember
- ChatMember.Read.All
- ChatMember.ReadWrite.All
-
ChatMessage
- ChatMessage.Read.All
-
Files
- Files.Read.All
- Files.ReadWrite.All
-
Groups
- Group.Read.All
- Group.ReadWrite.All
-
GroupMembers
- GroupMember.Read.All
- GroupMember.ReadWrite.All
-
TeamsActivity
- TeamsActivity.Read.All
-
TeamMember
- TeamMember.Read.All
- TeamMember.ReadWrite.All
-
TeamTabs
- TeamsTab.Read.All
- TeamsTab.ReadWrite.All
- TeamsTab.ReadWriteForTeam.All
-
Team
- Team.ReadBasic.All
-
TeamworkDevice
- TeamworkDevice.Read.All
- TeamworkDevice.ReadWrite.All
-
Users
- User.Read.All
- User.ReadWrite.All
- Once you're done, click Add permissions.

Step 2: Set up Microsoft Teams in Daspire
-
Select Microsoft Teams from the Source list.
-
Enter a Source Name.
-
Enter Application (client) ID, Directory (tenant) ID, and Client secrets you obtained in Step 1.
-
Click Save & Test.
Supported streams
This source is capable of syncing the following streams:
- channels
- channel_members
- channel_tabs
- conversations
- conversation_threads
- conversation_posts
- groups
- group_members
- group_owners
- team_drives
- team_device_usage_report
- users
Data type mapping
| Integration Type | Daspire Type |
|---|---|
string | string |
number | number |
array | array |
object | object |
Troubleshooting
-
Rate limit: This integration is restricted by normal Microsoft Graph requests limitation.
-
Max number of tables that can be synced at a time is 6,000. We advise you to adjust your settings if it fails to fetch schema due to max number of tables reached.