Vendors / CRM and sales

Microsoft Dynamics 365 Sales

Sales uses Dataverse Web API for role-scoped records and writes. Enabled table change tracking provides deletion identities and delta links, with a default seven-day token window that must be checked for the actual environment.

Overall controlB7.5*/10
Assessment checked 2026-10-16Public documentation · No live account test

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

OVERALL CONTROL / 0.6-customer-control

Grades and scoring

Overall B / 7.5*/10, with 13 of 16 applicable scoring inputs verified. Missing evidence discounts the supported score (unknown answers remain unknown).

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Data access and planned exit carry the most weight. Known commercial barriers cap access; an unpublished price applies a bounded discount. Post-cancellation retrieval is a separate disclosure. Open each dimension to inspect its inputs and sources.

B6.6*/10

Data access

25% of the overall score before applicability adjustment.

Scored answers and evidence

Read interface 7.5/10

Structured APIs across the declared product scope

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Sales data resides in Dataverse tables accessible through the authorized Web API.

Dynamics Sales developer guide ↗
Dataverse developer resources · Checked 2026-10-16

Answer-to-score anchors ↗

Bulk delivery 8.8/10

Batched or iterable API requests

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Standard-table pages can return up to 5,000 rows with opaque nextLink continuation.

Dataverse Web API paging ↗
Page size and nextLink · Checked 2026-10-16

Answer-to-score anchors ↗

Query expressiveness 8.8/10

Documented structured API filters

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

OData query options retrieve selected table records; tracked change requests have additional query restrictions.

Dataverse Web API query overview ↗
Query options · Checked 2026-10-16

Answer-to-score anchors ↗

Access cost barrier -

-

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

The complete fixed access entitlement and API fees relative to the lowest paid plan are not established by the reviewed technical documentation.

Dataverse OAuth authentication ↗
Dataverse OAuth authentication · Checked 2026-10-16

Answer-to-score anchors ↗
A8.8*/10

Third-party accessibility

20% of the overall score before applicability adjustment.

Scored answers and evidence

Third-party eligibility 10.0/10

Customer authorization without discretionary provider approval

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Customer authorization and application-user roles govern the app route, without a provider-selected partner credential.

Dataverse OAuth authentication ↗
Server-to-server authentication · Checked 2026-10-16

Answer-to-score anchors ↗

Downstream permission -

-

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Applicable downstream processing, redistribution and AI-use conditions remain unestablished for the declared route.

Dataverse OAuth authentication ↗
Dataverse OAuth authentication · Checked 2026-10-16

Answer-to-score anchors ↗
A8.5/10

External action

15% of the overall score before applicability adjustment.

Scored answers and evidence

Write interface 7.5/10

Create and update across business domains

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Web API documents record creation and update/delete for tables permitted by the caller’s roles.

Dataverse update and delete ↗
PATCH and DELETE · Checked 2026-10-16

Dataverse Web API create ↗
Create a table row using POST · Checked 2026-10-16

Answer-to-score anchors ↗

Custom application path 10.0/10

Customer applications using fixed APIs without provider selection

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Customer-authored applications use OAuth-authorized Web API calls.

Dataverse OAuth authentication ↗
Authenticate custom applications · Checked 2026-10-16

Answer-to-score anchors ↗
B7.9/10

Continuity

15% of the overall score before applicability adjustment.

Scored answers and evidence

Refresh mechanism 7.5/10

Documented updated-since filters or webhooks

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Explicitly enabled tables provide delta links for recurring change queries.

Dataverse change tracking and external synchronization ↗
Retrieve changes using Web API · Checked 2026-10-16

Answer-to-score anchors ↗

Limit visibility 10.0/10

Published numeric quotas and recovery instructions

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Published service-protection request, concurrency and execution-time limits include Retry-After recovery guidance.

Dataverse service protection limits ↗
Service protection limits and retry · Checked 2026-10-16

Answer-to-score anchors ↗

CDC and deletion capture 7.5/10

Updates and deletion identities documented for the stated resources

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

The tracked response identifies removed records as well as changed rows; table enablement and organization read permissions apply.

Dataverse change tracking and external synchronization ↗
Deleted entities and required privileges · Checked 2026-10-16

Answer-to-score anchors ↗

Replay and gap recovery 7.5/10

Replay/change queries within a documented retention window

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Delta tokens expire after the configured window, seven days by default. Starting again retrieves current rows rather than all historical deletions.

Dataverse change tracking and external synchronization ↗
ExpireChangeTrackingInDays and expired version stamps · Checked 2026-10-16

Answer-to-score anchors ↗
B7.5/10

Data exit

20% of the overall score before applicability adjustment.

Scored answers and evidence

Export custody 7.5/10

Customer-held structured files or API records

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Authorized clients receive structured records that can be stored outside Dataverse.

Dataverse Web API query overview ↗
Query results · Checked 2026-10-16

Answer-to-score anchors ↗

Post-cancellation access Disclosure

-

Disclosure only; does not reduce planned-exit credit.

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

The reviewed extraction documentation does not establish contractual retrieval rights after cancellation or license termination.

Dataverse OAuth authentication ↗
Dataverse OAuth authentication · Checked 2026-10-16

Answer-to-score anchors ↗

Planned migration fidelity 7.5/10

Portable structured records on documented routes; whole-product completeness unverified

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Selected Sales records are portable; full solution assets and independent environment restore are unverified.

Dynamics Sales developer guide ↗
Dataverse scope · Checked 2026-10-16

Answer-to-score anchors ↗
D2.1*/10

Business logic and customization

5% of the overall score before applicability adjustment.

Scored answers and evidence

Logic authoring 2.5/10

External integration code; native business logic portability not established

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

External code can operate on authorized records; native workflow portability is not established here.

Dataverse OAuth authentication ↗
Custom application access · Checked 2026-10-16

Answer-to-score anchors ↗

Rights to custom logic -

-

Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Ownership, reusable export and independent execution rights for native workflow artifacts remain unestablished.

Dataverse OAuth authentication ↗
Dataverse OAuth authentication · Checked 2026-10-16

Answer-to-score anchors ↗

Scores are out of 10. * Incomplete evidence discounts verified capabilities (unknown answers stay unknown). Planned migration drives data exit. Scoring method ↗

CUSTOMER CHOICE

Third-party accessibility

A customer authorizes an Entra application for Dataverse access. App-only authentication requires an application user and security roles; a token does not grant every Sales table.

Third-party eligibilityCustomer authorization without discretionary provider approvalSource & scope ↗
Access cost barrier-Source & scope ↗
Downstream permission-Source & scope ↗

Confirm who can connect, who owns the credentials and which uses are permitted. Customer consent and provider approval can be separate requirements; the selected plan and contract still matter.

READ / INTEGRATE

API and export routes

OData filters and opaque next links support standard-table extraction. Change tracking uses its own request contract; filters, orderby, expand and top cannot be combined with tracked change requests.

Access routeAuthenticationCredential ownerProvider approvalAccess requirementLast checked
Customer-authorized Dataverse application userOAuth client credentialsCustomerNocustomer authorization2026-10-16

Availability depends on your product, plan and agreement. See the documentation below for the requirements of each route.

ECONOMIC ACCESS

Cost, authentication and limits

Technical documentation does not establish the complete eligible Sales plan or fixed API charge. Dataverse request entitlements and capacity are separate from a generic claim that an API is included.

Check API entitlement, credential ownership and rate limits for the route you intend to use. Include review fees, customer-plan upgrades and ongoing access charges in the total.

ACT FROM OUTSIDE

External action

Web API supports record create, update and delete within role and table permissions. Use ETags and conditional updates where concurrent edits matter.

Validate the supported operation, acting identity and permission scope (read access does not imply write permission). Ambiguous retries and revoked credentials also affect whether an external workflow can run safely.

KEEP ACCESS USEFUL

Continuity

Eligible tables can return delta links and deleted-entity identities. The documented default expiry is seven days; an expired token requires a new baseline and cannot recover all old deletion history.

CDC, deletions and recovery

QuestionAnswer / applicable routeEvidence
Can ongoing extraction identify updates and deleted records on the declared route?Updates and deletion identities documented for the stated resourcesDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

The tracked response identifies removed records as well as changed rows; table enablement and organization read permissions apply.

Dataverse change tracking and external synchronization ↗Deleted entities and required privilegesChecked 2026-10-16
How can extraction recover after missed events or an interrupted consumer?Replay/change queries within a documented retention windowDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Delta tokens expire after the configured window, seven days by default. Starting again retrieves current rows rather than all historical deletions.

Dataverse change tracking and external synchronization ↗ExpireChangeTrackingInDays and expired version stampsChecked 2026-10-16

Useful ongoing access includes corrections and deletions, not only the first export. A failed request, changed filter or lost resource permission should not be interpreted as a deleted record.

LEAVE WITH YOUR DATA

Data exit and portability

Customer clients can retain structured table records. That does not establish complete email files, solution packages, workflow ownership or an independently restorable Sales environment.

Test the output against the destination’s required fields and history. Check stable identifiers, relationships, attachments and extraction time; a sample file proves only the coverage of that sample.

BUILD / INSPECT / REUSE

Business logic and customization

External applications can use the declared Web API. Native Sales automation portability remains unresolved (record access alone does not transfer solution artifacts).

Custom API access, ownership of workflows and the right to export their definitions are separate questions. A custom-app capability alone does not establish that business rules can move to another system.

AGREEMENTS / API DOCS / PROGRAM REQUIREMENTS

Documented conditions

Answers below come from public provider materials. Every answer retains its source check date, scope (a partner agreement does not describe every customer route). Customer contracts and live behavior still need verification.

QuestionAnswer / applicable routeEvidence
What structured read interface is documented?Structured APIs across the declared product scopeDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Sales data resides in Dataverse tables accessible through the authorized Web API.

Dynamics Sales developer guide ↗Dataverse developer resourcesChecked 2026-10-16
How can customers retrieve data in bulk?Batched or iterable API requestsDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Standard-table pages can return up to 5,000 rows with opaque nextLink continuation.

Dataverse Web API paging ↗Page size and nextLinkChecked 2026-10-16
What queries can a customer issue outside the provider UI?Documented structured API filtersDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

OData query options retrieve selected table records; tracked change requests have additional query restrictions.

Dataverse Web API query overview ↗Query optionsChecked 2026-10-16
Who decides whether a chosen third party may connect?Customer authorization without discretionary provider approvalDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Customer authorization and application-user roles govern the app route, without a provider-selected partner credential.

Dataverse OAuth authentication ↗Server-to-server authenticationChecked 2026-10-16
What extra commercial condition applies to the routes supplying the assessed read capability, relative to the lowest paid plan?-Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

The complete fixed access entitlement and API fees relative to the lowest paid plan are not established by the reviewed technical documentation.

Dataverse OAuth authentication ↗Dataverse OAuth authenticationChecked 2026-10-16
What permission is needed for the documented downstream use?-Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Applicable downstream processing, redistribution and AI-use conditions remain unestablished for the declared route.

Dataverse OAuth authentication ↗Dataverse OAuth authenticationChecked 2026-10-16
Which external write operations are documented?Create and update across business domainsDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Web API documents record creation and update/delete for tables permitted by the caller’s roles.

Dataverse update and delete ↗PATCH and DELETEChecked 2026-10-16
Dataverse Web API create ↗Create a table row using POSTChecked 2026-10-16
How can customers connect an application they build or choose?Customer applications using fixed APIs without provider selectionDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Customer-authored applications use OAuth-authorized Web API calls.

Dataverse OAuth authentication ↗Authenticate custom applicationsChecked 2026-10-16
What mechanism supports repeatable extraction of changes?Documented updated-since filters or webhooksDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Explicitly enabled tables provide delta links for recurring change queries.

Dataverse change tracking and external synchronization ↗Retrieve changes using Web APIChecked 2026-10-16
How are integration limits disclosed?Published numeric quotas and recovery instructionsDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Published service-protection request, concurrency and execution-time limits include Retry-After recovery guidance.

Dataverse service protection limits ↗Service protection limits and retryChecked 2026-10-16
Where can a usable data copy be delivered?Customer-held structured files or API recordsDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Authorized clients receive structured records that can be stored outside Dataverse.

Dataverse Web API query overview ↗Query resultsChecked 2026-10-16
What retrieval rights are documented at cancellation?-Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

The reviewed extraction documentation does not establish contractual retrieval rights after cancellation or license termination.

Dataverse OAuth authentication ↗Dataverse OAuth authenticationChecked 2026-10-16
How can customers define their own business logic?External integration code; native business logic portability not establishedDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

External code can operate on authorized records; native workflow portability is not established here.

Dataverse OAuth authentication ↗Custom application accessChecked 2026-10-16
What rights or portability are documented for custom workflow artifacts?-Dynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Ownership, reusable export and independent execution rights for native workflow artifacts remain unestablished.

Dataverse OAuth authentication ↗Dataverse OAuth authenticationChecked 2026-10-16
What usable data or native definitions can leave before cancellation?Portable structured records on documented routes; whole-product completeness unverifiedDynamics 365 Sales standard Dataverse tables, customer-authorized Web API application and explicitly enabled table change tracking; elastic tables, Finance OData and complete Sales solution migration are excluded.

Selected Sales records are portable; full solution assets and independent environment restore are unverified.

Dynamics Sales developer guide ↗Dataverse scopeChecked 2026-10-16

SOURCES / SCOPE / HISTORY

Sources and open questions

This review is based on the documentation below. Live account behavior and customer-specific agreements haven’t been tested.

Still to confirm

  • Access cost barrier: The complete fixed access entitlement and API fees relative to the lowest paid plan are not established by the reviewed technical documentation.
  • Downstream permission: Applicable downstream processing, redistribution and AI-use conditions remain unestablished for the declared route.
  • Post-cancellation access: The reviewed extraction documentation does not establish contractual retrieval rights after cancellation or license termination.
  • Rights to custom logic: Ownership, reusable export and independent execution rights for native workflow artifacts remain unestablished.

Documentation

Assessment checked 2026-10-16. Each answer retains its source and applicable route; the check date does not establish live account behavior.