Enable change tracking on the target Dataverse table in the customisation settings before the first sync
Issue an initial GET to the entity collection with header 'Prefer: odata.track-changes'; the response includes an @odata.deltaLink at the bottom of the last page
Store the deltaLink (it contains a deltatoken parameter with a timestamp and version); on subsequent sync runs, GET the deltaLink URL directly to retrieve only changed and deleted records
Deleted records appear in the delta response as objects containing @odata.context with 'reason: deleted' — handle these by soft-deleting or archiving in your target system
The delta link expires after 7 days; if your sync job misses a cycle beyond that window, discard the token and perform a full resync
Known gotchas
The @odata.deltaLink is returned only on the last page of a paginated response; if you stop reading before the final page, you will not capture the token
Delta tokens are not transferable between environments (production vs sandbox) or between different API versions — always generate tokens against the same org URL and API version you will use for incremental sync
Not all Dataverse tables support change tracking; attempting to use odata.track-changes on a table without it enabled returns an error rather than silently falling back to a full result set
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp