Source connector
Microsoft Teams connector
Microsoft Teams integration for databases, warehouses and BI tools
Team chat, channels, and meeting activity. Datrise captures Microsoft Teams entities such as teams, channels, messages, users, meetings and call records, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.
The Microsoft Graph API (Teams resources, v1.0) authenticates with OAuth 2.0, incremental runs key on lastModifiedDateTime (delta query on /users/{id}/chats/getAllMessages/delta only).
Of the 6 objects, 4 sync as upserts keyed on the primary key and 2 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `microsoft_teams_teams`) with a schema derived from the Microsoft Teams API rather than a flattened CSV, in any of the 43 supported destinations.
Datrise is in early access: pick a destination below to open the Microsoft Teams pipeline page, and join the waitlist to get the Microsoft Teams connector with guided onboarding.
What Microsoft Teams data Datrise extracts
Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.
| Object | Landing table | Sync mode |
|---|---|---|
| teams | microsoft_teams_teams | Upsert by primary key, incremental on updated-at |
| channels | microsoft_teams_channels | Upsert by primary key, incremental on updated-at |
| messages | microsoft_teams_messages | Append-only, incremental by timestamp |
| users | microsoft_teams_users | Upsert by primary key, incremental on updated-at |
| meetings | microsoft_teams_meetings | Upsert by primary key, incremental on updated-at |
| call records | microsoft_teams_call_records | Append-only, incremental by timestamp |
Microsoft Teams API: setup facts for the connector
Verified against the vendor documentation on 2026-09-02. Unknown values are left blank rather than guessed.
| API | Microsoft Graph API (Teams resources, v1.0) |
|---|---|
| Authentication | OAuth 2.0 — Authenticates via OAuth 2.0 against the Microsoft identity platform (Azure AD app registration) using delegated or application permissions such as `ChannelMessage.Read.All` or `Chat.Read.All`. |
| Pagination | token — `@odata.nextLink` carries an opaque `$skiptoken` for paging and `@odata.deltaLink` carries a `$deltatoken` to resume incremental sync; channel message list pages default to 20 messages via `$top`, extendable to 50. |
| Rate limit | Not published |
| Incremental cursor | lastModifiedDateTime (delta query on /users/{id}/chats/getAllMessages/delta only) — Channel messages inside a Team (`GET /teams/{id}/channels/{id}/messages`) support only `$top`/`$expand` in v1.0, not `$filter` or delta, so channel history needs full re-pulls; only a user's own chats support delta, and only within the last 8 months. |
| Webhooks | Yes — Microsoft Graph change notifications (subscriptions) — supported for a subset of Teams resources such as chatMessage in channels/chats and team/channel membership |
| Bulk export | Yes — Microsoft Graph Data Connect (bulk Microsoft 365 data extraction that is not subject to standard Graph throttling limits) |
| Deletes detectable | Yes — chatMessage objects carry a `deletedDateTime` property when soft-deleted; delta queries surface these as updates in the collection rather than removing the item outright. |
What bites when replicating Microsoft Teams
- Channel messages listed via `GET /teams/{id}/channels/{id}/messages` support only `$top` (default 20, max 50) and `$expand=replies` — no `$filter` or delta — so incremental sync of channel history needs full re-pulls.
- Delta queries are documented only for a user's own chats (`/users/{id}/chats/getAllMessages/delta`, application permission `Chat.Read.All`) and return messages from the last 8 months only.
- No Teams-specific numeric throttling limit is published in Graph's service-specific throttling-limits reference — Teams messaging is dynamically throttled and returns HTTP 429 with a `Retry-After` header instead of a fixed rate.
- Polling any Teams resource for changes is capped at once per day under Microsoft's API Terms of Use; more frequent change detection must use a `subscription` (webhook) instead of repeated GETs.
Popular destinations for Microsoft Teams
Choose a destination below to open the ready pipeline page.
- AAirtable
Relational spreadsheet destination for ops and go-to-market teams.
View pipeline - AAmazon Athena
Serverless SQL over S3 data lake tables.
View pipeline - AAmazon DynamoDB
Serverless key-value and document store on AWS.
View pipeline - AAmazon QuickSight
AWS serverless BI with SPICE and embedded analytics.
View pipeline - AAmazon Redshift
AWS petabyte-scale warehouse with Spectrum.
View pipeline - AAmazon S3 Data Lake
Object storage landing zone for parquet and snapshots.
View pipeline - AApache Superset
Open-source BI for SQL exploration, charts, and dashboard publishing.
View pipeline - AAzure Data Lake Storage
ADLS Gen2 object storage for analytics workloads.
View pipeline - AAzure Synapse
Microsoft analytics workspace with SQL pools.
View pipeline
Microsoft Teams connector FAQ
- What Microsoft Teams data does the connector extract?
- 6 objects: teams, channels, messages, users, meetings and call records. Each lands in its own table with types preserved; history-style objects (2: messages and call records) load as append-only streams.
- Is the Microsoft Teams integration incremental?
- Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
- Where can I load Microsoft Teams data?
- Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each Microsoft Teams → destination pair has its own page with the object-to-table mapping.
Related sources
Other sources in the same category, each with its own connector page.
Early access
Launch your Microsoft Teams pipeline with guided onboarding
Join the waitlist to get priority access for Microsoft Teams integrations with guided setup, schema-aware mapping, and production-grade incremental sync.