Data Studio — User Guide
Overview
Data Studio syncs records between two Dataverse environments. It previews all planned changes before writing anything, giving you full control over what gets created, updated, or deleted.
Prerequisites
- At least two active connections — one source, one target
- Your account must have read access on the source and write access on the target for the chosen table
- Target environment must have the same table (entity) definition
Getting Started
- Select Data Studio from the sidebar
- The plugin connects to the current environment as the default source
Workflow
1. Configure the Sync
| Setting | Description |
|---|---|
| Source | Environment to read records from |
| Target | Environment to write records to |
| Table | Dataverse entity (table) to sync |
| Key fields | Fields used to match source records to target records (e.g. a unique name field) |
| Sync fields | Fields whose values will be copied |
| Row limit | Maximum number of source records to fetch |
| FetchXML filter | (Optional) Filter the source records |
2. Preview Changes
Click Preview Changes to compare source and target records without writing anything.
The results table shows each record with one of these statuses:
| Status | Meaning |
|---|---|
| ✓ Create | Record exists in source only — will be created in target |
| ↻ Update | Record exists in both — source and target values differ |
| ✗ Delete | Record exists in target only (mirror mode) — will be deleted |
| — Identical | Values match — no action needed |
Expand any row to see field-by-field differences.
3. Select Records
- Use the checkboxes to select which records to include
- Select All / Deselect All buttons are available
4. Choose a Sync Mode
| Mode | What it does |
|---|---|
| Upsert | Creates new records and updates existing ones |
| Create only | Creates new records only — never updates |
| Update only | Updates existing records only — never creates |
| Delete only | Deletes records in target that no longer exist in source |
| Mirror | Full sync: creates, updates, and deletes to match source exactly |
5. Execute
Click Execute Sync and confirm the dialog.
- A progress overlay shows real-time status per record
- The log section at the bottom records each success and failure with timestamps and error messages
Tips
| Tip | Detail |
|---|---|
| Always preview first | Never skip the preview step — review the planned changes before executing |
| Use unique key fields | Choose fields with guaranteed unique values to avoid incorrect matches |
| Limit rows for large tables | Set a row limit to test with a small batch before syncing everything |
| Mirror mode is destructive | Mirror mode will delete target records not present in source — use with care |
Troubleshooting
| Problem | Resolution |
|---|---|
| "No records found" in preview | Check the FetchXML filter and ensure the source table has data |
| Record fails to create | Verify required fields are included in the sync field list |
| Upsert creates duplicates | Ensure key fields uniquely identify each record |
| 403 on target writes | Confirm your account has Create/Write privileges on the target table |