Upsert a Dataverse record using an alternate key to avoid GUID lookups

domain: dynamics-365 · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Define an alternate key on the Dataverse table via the customisation editor, selecting one or more fields that form a unique natural key (e.g. an external system ID)
  2. Issue a PATCH to <org>/api/data/v9.2/<EntitySet>(<keyfield>=<value>) — Dataverse performs an upsert: creates the record if absent, updates it if found
  3. For composite alternate keys, use the format (<field1>=<val1>,<field2>=<val2>) in the URL
  4. Set the 'If-Match: *' header on the PATCH to force an update-only operation (fails with 412 if the record does not exist); omit it for true upsert behaviour
  5. Check that alternate key fields are indexed; Dataverse triggers asynchronous index build on key creation, and upserts against a key that is still indexing can fail transiently

Known gotchas

Related routes

Upsert a Dataverse record by alternate key without needing the primary GUID
learn.microsoft.com · 6 steps · unrated
Upsert a Dynamics 365 Dataverse record using an alternate key instead of the primary GUID
learn.microsoft.com · 6 steps · unrated
Use Dynamics 365 Dataverse Web API to perform upsert operations using alternate keys defined on an entity
learn.microsoft.com/dynamics365 · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans