Skip to content
JTS

Loading advanced system settings…

Bulk operations in D365 CE (Dataverse): a technical guide with operations, decisions and examples

Knowledge article · 21 Dec 2025

Source
LinkedIn
Status
Published

Content

When to use CreateMultiple, UpdateMultiple, UpsertMultiple, ExecuteMultiple, $batch or BulkDelete, and how to design batch size, parallelism, retries and idempotency.

Summary of the article published on LinkedIn (in Spanish). “View original” opens the full text, with Web API and .NET SDK examples.

The problem

Migrations, integrations, reprocessing and clean-ups all end up as bulk operations in Dataverse. With one Create/Update per record you hit latency, service protection limits, timeouts and storms of async jobs.

What to use when

  • CreateMultiple / UpdateMultiple / UpsertMultiple: the best throughput for many rows of the same table. On standard tables they are transactional (one failure rolls everything back); on elastic tables they allow partial success.
  • ExecuteMultiple: mixes operations and tables, each request in its own transaction. Ideal when you expect a share of failures.
  • Web API $batch: if you are already working in plain HTTP.
  • BulkDelete: asynchronous mass deletion for standard tables (retention, GDPR, clean-ups).

Designing it without surprises

  • Check the table supports the Multiple messages and have a fallback.
  • Configurable batch size (100–1000 on standard tables, 100 on elastic): start conservative and measure.
  • Respect the recommended degree of parallelism returned by Dataverse and disable server affinity.
  • Retries with backoff on 429 and 5xx, with per-batch logging.
  • Decide whether to run business logic or bypass it with BypassBusinessLogicExecution (requires a privilege).
  • Idempotency with UpsertMultiple and alternate keys.

The golden rule

Bulk operations run from outside (integrations, Azure Functions…), never from inside a plug-in. Plug-ins stay light and, when they receive Multiple messages, process the Targets collection.

General

Published
21 Dec 2025
Source
LinkedIn