Source connector
Dataverse connector
Dataverse integration for databases, warehouses and BI tools
Business data platform behind Dynamics and Power Apps. Datrise captures Microsoft Dataverse entities such as tables, rows, columns, relationships, choice sets and change tracking, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.
The Microsoft Dataverse Web API (OData v4) authenticates with OAuth 2.0, incremental runs key on @odata.deltaLink (deltatoken, change tracking), and Dataverse caps calls at 6,000 requests per user per web server within a 5-minute sliding window, plus 1,200 seconds of combined execution time and 52 concurrent requests; exceeding any of the three returns HTTP 429 with a `Retry-After` header.
Of the 6 objects, 5 sync as upserts keyed on the primary key and 1 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_dataverse_tables`) with a schema derived from the Dataverse 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 Dataverse pipeline page, and join the waitlist to get the Dataverse connector with guided onboarding.
What Microsoft Dataverse 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 |
|---|---|---|
| tables | microsoft_dataverse_tables | Upsert by primary key, incremental on updated-at |
| rows | microsoft_dataverse_rows | Upsert by primary key, incremental on updated-at |
| columns | microsoft_dataverse_columns | Upsert by primary key, incremental on updated-at |
| relationships | microsoft_dataverse_relationships | Upsert by primary key, incremental on updated-at |
| choice sets | microsoft_dataverse_choice_sets | Upsert by primary key, incremental on updated-at |
| change tracking | microsoft_dataverse_change_tracking | Append-only, incremental by timestamp |
Microsoft Dataverse API: setup facts for the connector
Verified against the vendor documentation on 2026-09-03. Unknown values are left blank rather than guessed.
| API | Microsoft Dataverse Web API (OData v4) |
|---|---|
| Authentication | OAuth 2.0 — Microsoft Entra ID OAuth 2.0; server-to-server integrations authenticate as an application user (service principal) mapped to a Dataverse security role. |
| Pagination | cursor — `@odata.nextLink` in the response body drives paging, and the page size is requested with the `Prefer: odata.maxpagesize` header. |
| Rate limit | 6,000 requests per user per web server within a 5-minute sliding window, plus 1,200 seconds of combined execution time and 52 concurrent requests; exceeding any of the three returns HTTP 429 with a `Retry-After` header |
| Incremental cursor | @odata.deltaLink (deltatoken, change tracking) — Change tracking is enabled per table; the first request with `Prefer: odata.track-changes` returns every row plus an `@odata.deltaLink`, and later calls against that link return only what changed. |
| Webhooks | Not published |
| Bulk export | Yes — Azure Synapse Link for Dataverse (continuous export to a data lake) |
| Deletes detectable | Yes — The change-tracking delta response includes deleted-record entries, so deletes arrive on the same delta link as updates. |
What bites when replicating Microsoft Dataverse
- `$filter`, `$orderby`, `$expand` and `$top` are all unsupported alongside the `Prefer: odata.track-changes` header, so a delta query cannot be narrowed server-side and has to be filtered after the fact.
- The 6,000-request limit applies per web server and most environments have several, while a trial environment has exactly one — so throughput measured on a trial badly understates production.
- Batching with `ExecuteMultiple` sidesteps the request-count limit but burns the 1,200-second combined execution-time budget faster, which is the limit large batches actually trip.
- Change tracking has to be turned on per table in Dataverse before any delta query works, so adding a table to a sync is a platform configuration change, not just connector config.
Popular destinations for Microsoft Dataverse
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 Dataverse connector FAQ
- What Dataverse data does the connector extract?
- 6 objects: tables, rows, columns, relationships, choice sets and change tracking. Each lands in its own table with types preserved; history-style objects (1: change tracking) load as append-only streams.
- Is the Dataverse 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 Dataverse data?
- Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each Dataverse → 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 Dataverse pipeline with guided onboarding
Join the waitlist to get priority access for Microsoft Dataverse integrations with guided setup, schema-aware mapping, and production-grade incremental sync.