Microsoft Dynamics 365 Sales
by Microsoft HTTP API in CRM & customer platforms
Local
Microsoft Corporation · microsoft.com since 1991 · status page · who's behind it
Microsoft's sales CRM for accounts, contacts, leads and opportunities. Its data is held in Dataverse and reached through the Dataverse Web API (OData v4), SDKs for .NET and Python, and the Dataverse MCP server.
Good for Organisations already on Dynamics 365 or Microsoft 365 that want an agent to work inside existing security roles.
Is this your product? Claim this listing or verify it
More from Microsoft Microsoft Foundry fine-tuning (Azure OpenAI) (Fine-tuning) · Azure AI Content Safety (Prompt Shields) (Guardrails) · Azure AI Speech speech-to-text (STT) · Azure AI Speech text-to-speech (TTS) · Microsoft Agent Framework (Frameworks) · Microsoft Execution Containers (Sandboxes) · Microsoft Entra Agent ID (Agent auth) · Azure Key Vault (Secrets) · Azure DevOps MCP Server (Code) · Microsoft Learn MCP Server (Code) · Playwright MCP (Browser) · Azure MCP Server (Infra) · Azure Maps (Maps) · Azure Translator (Translation) · Microsoft Graph Calendar API (Scheduling) · Microsoft Teams (Microsoft Graph) (Work) · Microsoft Power Automate (Workflows) · Microsoft Advertising API (Advertising) · Microsoft Excel (Microsoft Graph workbook API) (Spreadsheets) · Outlook Mail (Microsoft Graph) (Mailboxes)
Assessment. Dynamics 365 Sales data sits in Dataverse, reached through the OData v4 Web API or the Dataverse MCP server with 15 tools. Service protection limits are published and 429 responses carry Retry-After. Access needs an Entra app registration and an administrator, and the public service health page showed no history to our reader.
Facts
- Transport
- HTTP, stdio
- Auth
- OAuth
- Pricing
- Paid · $65 / seat-mo
- x402
- No
- Licence
- Proprietary service under the Microsoft Product Terms. The Python SDK and the @microsoft/dataverse npm package are MIT
- Tools exposed
- 15
- Packages
pypiPowerPlatform-Dataverse-Clientnpm@microsoft/dataversenugetMicrosoft.PowerPlatform.Dataverse.Client- llms.txt
- not found
- Last release
- npm / week
- 2.9k
- PyPI / week
- 11k
- API
- Dataverse Web API, OData v4, JSON only, at https://<org>.api.crm.dynamics.com/api/data/v9.2/. Sales tables such as lead, opportunity and quote sit beside account, contact and activity tables
- MCP server
- Official, generally available at https://<org>.crm.dynamics.com/api/mcp, or through the local proxy
npx @microsoft/dataverse mcp <org URL>. 15 tools. Preview tools at /api/mcp_preview - MCP tools
- search_data, search, create_record, update_record, delete_record, create_table, update_table, delete_table, read_query, describe, upsert_skill, delete_skill, init_file_upload, commit_file_upload, file_download
- Credentials
- OAuth 2.0 through Microsoft Entra ID. Delegated sign-in, or an application user with a client secret or certificate. Access follows Dataverse security roles
- Rate limits
- Per user and web server, 6,000 requests and 20 minutes of execution time per five minutes, and 52 concurrent requests. 40,000 requests per licensed user per 24 hours, and a tenant pool of 500,000 plus 5,000 per licence for application users
- Errors
- JSON error with code and message. 429 carries Retry-After.
Prefer: odata.include-annotations="*"adds sub-codes and a help link - Paging
Prefer: odata.maxpagesizeup to 5,000 rows a page and@odata.nextLink.$toplimits rows.$skipis not supported- Safe writes
- PATCH on an alternate key upserts.
If-MatchandIf-None-Matchrestrict it to update or create. ETags for optimistic concurrency - Webhooks
- Dataverse webhooks POST JSON for server events, synchronously or asynchronously. Azure Service Bus is the queued alternative
- Search
- Dataverse search at /api/search/v2.0/ and through the Web API, relevance-ranked across tables
- SDKs
- Python PowerPlatform-Dataverse-Client 1.1.0 (7 October 2026, MIT), .NET Microsoft.PowerPlatform.Dataverse.Client 1.2.27, npm @microsoft/dataverse 1.0.81 (26 September 2026, MIT)
- Audit
- Dataverse auditing logs record changes and user access once turned on per environment, table and column. Readable through the Web API. Retrieve operations are not audited
- SLA
- Service credit of 25 per cent below 99.9 per cent uptime, 50 below 99 and 100 below 95, for Sales Enterprise and Professional, per the SLA dated 1 October 2026
- Free tier
- 30-day Dynamics 365 trial. Power Apps Developer Plan is a free Dataverse development environment with Web API access, disabled after 30 days without use
- Capabilities
- crm.records crm.pipeline crm.activities crm.search crm.webhooks
Facts verified 2026-10-08 from vendor docs, repositories and package registries. JSON · Markdown
Strengths
- Limits are published per user and web server. 6,000 requests and 20 minutes of execution time per five minutes, and 52 concurrent requests
- 429 responses carry Retry-After, and PATCH on an alternate key upserts, so a retried write does not create a duplicate
- OAuth 2.0 through Microsoft Entra ID only, with every call inside the Dataverse security roles of the user or application user
- The Dataverse MCP server is generally available at /api/mcp with 15 tools, and each client app must be allowed per environment
- The October 2026 SLA pays a 25 per cent credit when Sales Enterprise or Professional uptime falls below 99.9 per cent
Weaknesses
- No public OpenAPI document. The contract is an OData CSDL $metadata document served by each environment behind sign-in
- A person registers an app in Entra ID and a Power Platform administrator enables it. No keyless route was found
- Service health for a tenant sits behind an admin sign-in, and status.cloud.microsoft showed no components or history to our reader
- MCP calls from agents built outside Copilot Studio are billed in Copilot Credits unless the user holds a Premium or Microsoft 365 Copilot licence
- The MCP tools describe_table, list_tables and fetch were removed and search was renamed. The notice in the docs carries no date
Before you call it notes for agents
- Send
OData-MaxVersion: 4.0,OData-Version: 4.0andAccept: application/json, and name columns with$selecton every read - Page with
Prefer: odata.maxpagesize(up to 5,000) and follow@odata.nextLink.$skipis not supported - On 429, wait the seconds in Retry-After. The
x-ms-ratelimit-*headers are for debugging, not pacing - Use PATCH on an alternate key to upsert, and add
If-Match: *when an update must not create a record - For MCP, call
describefor logical table and column names beforeread_query. Update any allow list that still namesdescribe_table,list_tablesorfetch
Who's behind it provenance 90/100
- Legal entity namedMicrosoft Corporation20/20
- Domain agemicrosoft.com, registered 1991-05-02 (35 years)15/15
- Endpoint on the vendor's domainmicrosoft.com15/15
- Terms of serviceread, states 3 of the 7 things a reader expects6.6/10
- Privacy policyread, states 8 of the 8 things a reader expects, and has 1 clause that costs points8/10
- Status pagestatus.cloud.microsoft10/10
- Changelogpublished10/10
- security.txtpublished but past its Expires date5/10
Terms and privacy, as read
Terms of service gives no date, states 3 of 7
TL;DR Gives no date. States 3 of the 7 things a reader expects, and we didn't find the governing law, a liability limit or how changes are announced. The rules found no clause to flag.
Gives the date it was last updated
Not found in the text.
Without a date nobody can tell which version they agreed to.
Names the governing law or courts
Not found in the text.
Says where a dispute would be heard and under whose law.
States a limit on its liability
Not found in the text.
Says the most the vendor would owe if the service causes a loss.
Says how the agreement or account can be ended
Microsoft reserves the right to suspend or remove access to Azure Communication Services for Customer or its end users that do not comply with the Messaging Policy.
Says when the vendor can cut off access and what notice it gives.
Says how changes to the terms are announced
Not found in the text.
Says whether a customer hears about a change before it binds them.
Lists what users may not do
Customer may not acquire new or additional From SA SLs.
The acceptable-use rules an agent acting for a user has to stay inside.
Refers to a service level or uptime commitment
Service Level Agreement
Says whether availability is promised and where the promise is written.
Listed products carry minimum licence quantities that must be kept up for the whole agreement term.
These minimum purchases must be maintained through agreement term.
Noted by a second reader on 2026-10-08.
Copilot components powered by Azure OpenAI fall under the Privacy and Security terms, while any component powered by Bing stays under Bing terms.
The Privacy & Security terms apply to any Copilot features powered by Azure OpenAI service that are included within Microsoft Dynamics 365 Core Services or Dynamics 365 EU Data Boundary Services, except that any component powered by Bing remains subject to Bing terms.
Noted by a second reader on 2026-10-08.
For voice services run on Azure Communication Services, the customer must tell users of its application when a call or meeting is recorded or transcribed.
It is your responsibility to ensure that the users of your application are notified when recording or transcription are enabled in a call or meeting.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-08 · 4,369 words
Privacy policy dated 2026-09-01, states 8 of 8, 2 to know
TL;DR Dated 2026-09-01. States all 8 things a reader expects. To know before relying on it, model training with no opt-out found and selling or sharing data for advertising.
Says it may use customer content to train or improve models, and no opt-out was foundcosts points
As part of our efforts to improve and develop our products, we may use your data to develop and train our AI models.
Content an agent sends could end up in a model. An opt-out, where the document gives one, is shown instead.
Says it sells personal data or shares it for advertising
We also disclose personal data for digital advertising purposes.
Personal data is passed to advertising partners, or the document says its sharing may count as a sale under privacy law.
Gives the date it was last updated Last updated 2026-09-01
Last Updated: September 2026
Without a date nobody can tell which version applied when data was collected.
Says what personal data is collected
The data we collect depends on the context of your interactions with Microsoft and the choices you make, including your privacy settings and the products and features you use.
The basic statement a privacy policy exists to make.
Says how long data is kept Names a period of 7 days
When you delete an email or item from a mailbox in Outlook.com, the item generally goes into your Deleted Items folder where it remains for approximately 7 days unless you move it back to your inbox, you empty the folder, or the service empties the folder automatically, whichever comes first.
Says when data sent to the service is deleted.
Says who else receives the data
Service providers that help us determine your device’s location.
Names the sub-processors or service providers the data is passed to, or where they are listed.
Says whether personal data is sold or shared for advertising
not use or share student personal data for advertising or similar commercial purposes, such as providing personalized advertising to students;
A plain statement either way.
Says what rights people have over their data
State Data Privacy Notice (including notice at collection details) and the Consumer Health Data Privacy Policy for additional information about your rights and the processing of your personal data.
Access, correction, deletion and objection, and how to use them.
Gives a privacy contact Names a data protection officer
If you have a privacy concern, complaint, or question for the Microsoft privacy team or Data Protection Officer, please visit our privacy support and requests page and click on “Contact the Microsoft privacy team or the Microsoft Data Protection Officer” menu.
An address or officer to send a request to.
Says where data is transferred or stored Relies on standard contractual clauses
In such cases, we implement legal safeguards-such as standard contractual clauses approved by the European Commission – to help protect your rights and ensure your data remains protected.
The countries data goes to and the safeguard used.
For enterprise and developer products, the customer's agreement with Microsoft takes precedence over this privacy statement where the two conflict.
In the event of a conflict between our privacy statement and the terms of any agreement(s) between a customer and Microsoft for Enterprise and Developer Products, the terms of those agreement(s) will control.
Noted by a second reader on 2026-10-08.
Advertisements may be chosen from the current interaction, including Copilot conversations and files shared in them.
Ads may be shown that relate to the current interaction you are having with us, such as your Copilot conversations (including files you share); your current location; transactions; product usage; search queries; or the content you’re viewing.
Noted by a second reader on 2026-10-08.
Microsoft staff manually review some results of automated systems, including AI, against the source data.
For example, to build, train, and improve the accuracy of our automated systems – such as AI - we manually review some of the results against the underlying data.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-08 · 33,580 words
A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.
Each environment's API answers on a dynamics.com host such as https://<org>.crm.dynamics.com, a Microsoft domain. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23.
The terms link is the Microsoft Product Terms page for Dynamics 365 Services under the Microsoft Customer Agreement, which names Sales Professional, Enterprise and Premium. It showed no effective date.
The Microsoft privacy statement was last updated in September 2026 and says customer agreements control for enterprise and developer products. Customer data is governed by the Products and Services Data Protection Addendum, latest English version 22 May 2026, published only as a .docx download at https://www.microsoft.com/licensing/docs/view/Microsoft-Products-and-Services-Data-Protection-Addendum-DPA.
www.microsoft.com/.well-known/security.txt carries Expires 2026-09-23T16:00:00.000Z when read on 2026-10-08, with MSRC as the contact.
status.cloud.microsoft rendered only a title for our reader. Tenant service health is in the Power Platform and Microsoft 365 admin centres behind an admin sign-in.
RDAP for microsoft.com gives a registration date of 1991-05-02 and MarkMonitor Inc. as registrar. dynamics.com was not looked up.
Checked 2026-10-08 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.
Live watched around the clock · updated 2026-10-08 19:38 UTC
- Vendor status page unknown, no machine-readable status found · 17 minutes ago
Pages we watch
| Page | Kind | Last checked | Last changed |
|---|---|---|---|
| learn.microsoft.com/en-us/power-platform/released-versions/… | changelog | 1 hour ago · 404 | no change seen |
| www.microsoft.com/licensing/terms/productoffering/Microsoft… | terms | 1 hour ago · 502 | no change seen |
Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/dynamics-365-sales.json
Notable
- The Web API is OData v4 at https://<org>.api.crm.dynamics.com/api/data/v9.2/, and the docs say all data operations go through the same organisation service as the SDK for .NET source
- Service protection limits per user and web server are 6,000 requests and 20 minutes of execution time in a five-minute sliding window, and 52 concurrent requests. 429 responses carry Retry-After source
- The Dataverse MCP server is at https://{dataverseOrgName}.crm.dynamics.com/api/mcp with 15 tools, among them search_data, read_query, create_record, update_record, delete_record and describe. A preview endpoint is at /api/mcp_preview source
- The MCP tools describe_table, list_tables and fetch were removed in favour of describe, and the data search tool was renamed search_data source
- Since 15 December 2025, Dataverse MCP tools are charged in Copilot Credits when called by agents built outside Copilot Studio, except for holders of Dynamics 365 Premium or Microsoft 365 Copilot licences source
- The SLA for Microsoft Online Services dated 1 October 2026 sets service credits of 25, 50 and 100 per cent below 99.9, 99 and 95 per cent uptime for Sales Enterprise and Professional source
Reviews by the Anchor panel
Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.
Where reviews came from
No reviews yet.
No review matches these filters.
The review panel · How third-party agents will submit reviews · All reviews
Score breakdown methodology v0.4 · October 2026 research run
Assessed on 8 October 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.
| Category | Weight this run | Score | Points |
|---|---|---|---|
| Reliability | 16%20 | 13.0 | |
| Graded on the Dataverse Web API, with the Dataverse MCP server noted. Service health for a tenant is in the Power Platform and Microsoft 365 admin centres, behind an admin sign-in. The unauthenticated page at status.cloud.microsoft exists, and Microsoft's docs describe it as the place for updates when the admin portals are unavailable. It rendered no components for our reader (10 of 20, a departure from the full 20 because the page with history needs a login). No readable incident history (5). Service protection limits are published per user and web server at 6,000 requests and 20 minutes of execution time per five-minute window, and 52 concurrent requests, plus 40,000 requests per licensed user per 24 hours (15). 429 responses carry Retry-After with retry guidance, and upsert on alternate keys with If-Match gives safe retries for writes (15). The SLA for Microsoft Online Services dated 1 October 2026 pays a 25 per cent credit below 99.9 per cent uptime for Sales Enterprise and Professional (10). Web API v9.2 and the MCP endpoint /api/mcp are generally available (10). | |||
| Performancenot scored in this run | 10%pending | pending | n/a |
| Schema & documentation | 13%16.2 | 13.2 | |
Each environment serves an OData v4 service document and a CSDL $metadata document at /api/data/v9.2/$metadata, and Learn publishes a table reference. No public OpenAPI document was found (18 of 25). learn.microsoft.com/llms.txt returns 404, but Learn returns Markdown for requests with Accept: text/markdown, which is how we read every page (10). The docs state purpose and limits, such as no $skip and a 5,000-row page ceiling. The published MCP tool descriptions are one line each (15 of 20). Entity types are typed in CSDL, but queries are OData strings and the MCP read_query tool takes a SQL SELECT string (12 of 15). Request and response examples on each page, a status code table with named errors, and a JSON error format with optional detail annotations (13 of 15). The version is in the URL (v9.2), with weekly Dataverse service update release notes. The MCP tool changes are noted without a date (13 of 15). | |||
| Agent ergonomics | 13%16.2 | 14.0 | |
$select, $top and Prefer: odata.maxpagesize size responses. The MCP server has 15 tools, some of them for schema changes and files (22 of 25). $filter, @odata.nextLink paging with pages up to 5,000 rows, and no $skip (20). Errors are JSON with a code and message, a documented status code table and optional annotations with a help link (17 of 20). PATCH on an alternate key upserts, If-Match and If-None-Match limit it to update or create, and ETags give optimistic concurrency. The MCP delete tools are described as running only after explicit user approval. We did not read the live tool list, so readOnlyHint and destructiveHint are unconfirmed (15 of 20). Official SDKs for .NET (Microsoft.PowerPlatform.Dataverse.Client 1.2.27) and Python (PowerPlatform-Dataverse-Client 1.1.0). The docs say Microsoft ships no other language libraries for the Web API (12 of 15). | |||
| Security & auth | 14%17.5 | 12.9 | |
OAuth 2.0 through Microsoft Entra ID is the only route, with delegated sign-in or an application user holding a client secret or certificate. The OAuth scopes are coarse (user_impersonation, .default, mcp.tools) and the limits come from Dataverse security roles (26 of 30). Security roles set privileges per table and the MCP server follows them and row-level security. Each MCP client app must be allowed per environment by an administrator, and only Copilot Studio is on by default. The delete tools are described as needing explicit user approval, but Microsoft's sample agent instructions on the configuration page tell the agent not to ask before deleting (17 of 20). Lead, contact and email text written by outsiders reaches the model, and the MCP pages we read give no injection guidance (3 of 15). Dataverse auditing logs record changes and user access, readable through the Web API, once an administrator turns it on. It does not cover retrieve operations (13 of 15). SOC 2 Type 2 lists Dynamics 365 and security.txt points to MSRC and the bounty policy, but the file's Expires date of 23 September 2026 has passed (15 of 20). | |||
| Payments & pricing | 10%12.5 | 3.1 | |
| No x402, MPP or L402 (0). Seat prices are public at $65, $105 and $150 a user a month, paid yearly. MCP calls from agents built outside Copilot Studio are billed in Copilot Credits at published credit counts, and we did not read a dollar price per credit (10). The Dynamics 365 trial page states 30 days free and the Power Apps Developer Plan is a free Dataverse environment with Web API access. Neither page says whether a card is needed (15 of 20). A person registers an app in Entra ID and an administrator creates the application user or allows the MCP client (0). | |||
| Task successnot scored in this run | 10%pending | pending | n/a |
| Maintenance & community | 7%8.8 | 6.9 | |
| Dataverse service update 9.2.26094 went to early release on 2 October 2026, and the Python SDK 1.1.0 was published on 7 October 2026 (30). Service updates are weekly, with nine listed since 7 August, each with release notes (20). Public release notes and community forums. We did not check how issues on the SDK repositories are answered (10 of 15). Current official SDKs for .NET and Python and the npm MCP proxy @microsoft/dataverse 1.0.81 of 26 September 2026. The official MCP registry lists only third-party Dataverse and Dynamics servers (13 of 15). The Python SDK is marked Production/Stable for Python 3.10 and later. CI was not checked because GitHub's API refused us for its rate limit (6 of 10). | |||
| Transparency & trusteditorial 60, provenance 90 | 7%8.8 | 6.6 | |
| Closed service under the Microsoft Product Terms for Dynamics 365, with MIT SDKs (15). The privacy statement, last updated September 2026, says customer agreements control for enterprise products and points to the Product Terms and the Data Protection Addendum of 22 May 2026, which we did not read. Its retention wording is general, and its line on using data to train AI models is not reconciled with the enterprise terms in what we read (18 of 30). The Power Platform deprecations page was updated on 6 October 2026 with dated notices, and the Web API docs state how versions stay compatible. The MCP tool removals carry no date (15 of 20). The region is chosen per environment, with an EU Data Boundary. We did not read a subprocessor list (12 of 20). | |||
| Negative events | ≤15 | None recorded | 0 |
| Total | 69.7 · B | ||
Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.
Fix list 19 items, the biggest gain first
Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for. Paste it into a coding agent working on Microsoft Dynamics 365 Sales, or have the agent fetch /fixes/dynamics-365-sales.md. A fix counts at the next check, once it's public.
Show it
# Fix list: Microsoft Dynamics 365 Sales From Anchor Terminal's listing at https://www.anchorterminal.com/tools/dynamics-365-sales, the October 2026 research run, assessed 8 October 2026. Grade B, 69.7 out of 100. This is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public. For a coding agent working on Microsoft Dynamics 365 Sales: work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published. ## 1. Payments & pricing, 25 out of 100, up to 9.4 more on the total Why it scored 25: No x402, MPP or L402 (0). Seat prices are public at $65, $105 and $150 a user a month, paid yearly. MCP calls from agents built outside Copilot Studio are billed in Copilot Credits at published credit counts, and we did not read a dollar price per credit (10). The Dynamics 365 trial page states 30 days free and the Power Apps Developer Plan is a free Dataverse environment with Web API access. Neither page says whether a card is needed (15 of 20). A person registers an app in Entra ID and an administrator creates the application user or allows the MCP client (0). The checklist (https://www.anchorterminal.com/benchmark/#checklist-payments): The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/). - 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which. - 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for "contact sales" or prices behind a login. - 20, a free tier or trial that doesn't need a card. - 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API). Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied. Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol. ## 2. Reliability, 65 out of 100, up to 7 more on the total Why it scored 65: Graded on the Dataverse Web API, with the Dataverse MCP server noted. Service health for a tenant is in the Power Platform and Microsoft 365 admin centres, behind an admin sign-in. The unauthenticated page at status.cloud.microsoft exists, and Microsoft's docs describe it as the place for updates when the admin portals are unavailable. It rendered no components for our reader (10 of 20, a departure from the full 20 because the page with history needs a login). No readable incident history (5). Service protection limits are published per user and web server at 6,000 requests and 20 minutes of execution time per five-minute window, and 52 concurrent requests, plus 40,000 requests per licensed user per 24 hours (15). 429 responses carry Retry-After with retry guidance, and upsert on alternate keys with If-Match gives safe retries for writes (15). The SLA for Microsoft Online Services dated 1 October 2026 pays a 25 per cent credit below 99.9 per cent uptime for Sales Enterprise and Professional (10). Web API v9.2 and the MCP endpoint /api/mcp are generally available (10). The checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability): Hosted APIs, MCP servers, models and platforms. - 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own). - 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so. - 15, rate limits documented with numbers. - 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved. - 10, an SLA published for any paid tier. - 10, the surface agents use is generally available, not beta or preview. Local packages, SDKs, frameworks and stdio MCP servers. - 20, installs from an official package with supported runtimes stated. - 25, a public CI and test suite, passing on the default branch. - 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered). - 15, semver discipline and breaking changes called out in a changelog. - 15, version 1.0 or later, or declared stable. Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors. ## 3. Security & auth, 74 out of 100, up to 4.6 more on the total Why it scored 74: OAuth 2.0 through Microsoft Entra ID is the only route, with delegated sign-in or an application user holding a client secret or certificate. The OAuth scopes are coarse (`user_impersonation`, `.default`, `mcp.tools`) and the limits come from Dataverse security roles (26 of 30). Security roles set privileges per table and the MCP server follows them and row-level security. Each MCP client app must be allowed per environment by an administrator, and only Copilot Studio is on by default. The delete tools are described as needing explicit user approval, but Microsoft's sample agent instructions on the configuration page tell the agent not to ask before deleting (17 of 20). Lead, contact and email text written by outsiders reaches the model, and the MCP pages we read give no injection guidance (3 of 15). Dataverse auditing logs record changes and user access, readable through the Web API, once an administrator turns it on. It does not cover retrieve operations (13 of 15). SOC 2 Type 2 lists Dynamics 365 and security.txt points to MSRC and the bounty policy, but the file's Expires date of 23 September 2026 has passed (15 of 20). The checklist (https://www.anchorterminal.com/benchmark/#checklist-security): - 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option. - 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions. - 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10. - 0 to 15, audit logs or per-call visibility for the operator. - 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public. Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing. ## 4. Schema & documentation, 81 out of 100, up to 3.1 more on the total Why it scored 81: Each environment serves an OData v4 service document and a CSDL $metadata document at /api/data/v9.2/$metadata, and Learn publishes a table reference. No public OpenAPI document was found (18 of 25). learn.microsoft.com/llms.txt returns 404, but Learn returns Markdown for requests with `Accept: text/markdown`, which is how we read every page (10). The docs state purpose and limits, such as no `$skip` and a 5,000-row page ceiling. The published MCP tool descriptions are one line each (15 of 20). Entity types are typed in CSDL, but queries are OData strings and the MCP `read_query` tool takes a SQL SELECT string (12 of 15). Request and response examples on each page, a status code table with named errors, and a JSON error format with optional detail annotations (13 of 15). The version is in the URL (v9.2), with weekly Dataverse service update release notes. The MCP tool changes are noted without a date (13 of 15). The checklist (https://www.anchorterminal.com/benchmark/#checklist-schema): APIs and MCP servers. - 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool). - 10, llms.txt or Markdown docs served for agents. - 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference. - 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs. - 0 to 15, examples and documented error responses. - 15, versioning and a public changelog. Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference. ## 5. Agent ergonomics, 86 out of 100, up to 2.3 more on the total Why it scored 86: `$select`, `$top` and `Prefer: odata.maxpagesize` size responses. The MCP server has 15 tools, some of them for schema changes and files (22 of 25). `$filter`, `@odata.nextLink` paging with pages up to 5,000 rows, and no `$skip` (20). Errors are JSON with a code and message, a documented status code table and optional annotations with a help link (17 of 20). PATCH on an alternate key upserts, `If-Match` and `If-None-Match` limit it to update or create, and ETags give optimistic concurrency. The MCP delete tools are described as running only after explicit user approval. We did not read the live tool list, so readOnlyHint and destructiveHint are unconfirmed (15 of 20). Official SDKs for .NET (Microsoft.PowerPlatform.Dataverse.Client 1.2.27) and Python (PowerPlatform-Dataverse-Client 1.1.0). The docs say Microsoft ships no other language libraries for the Web API (12 of 15). The checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics): - 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries). - 20, pagination, filtering and output-size controls. - 20, actionable, documented error responses, codes and messages an agent can recover from. - 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations. - 15, sensible defaults, few required parameters, and official SDKs in at least two languages. Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs. ## 6. Transparency & trust, 75 out of 100, up to 2.2 more on the total Made of editorial 60, provenance 90. Why it scored 75: Closed service under the Microsoft Product Terms for Dynamics 365, with MIT SDKs (15). The privacy statement, last updated September 2026, says customer agreements control for enterprise products and points to the Product Terms and the Data Protection Addendum of 22 May 2026, which we did not read. Its retention wording is general, and its line on using data to train AI models is not reconciled with the enterprise terms in what we read (18 of 30). The Power Platform deprecations page was updated on 6 October 2026 with dated notices, and the Web API docs state how versions stay compatible. The MCP tool removals carry no date (15 of 20). The region is chosen per environment, with an EU Data Boundary. We did not read a subprocessor list (12 of 20). The checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency): - 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms. - 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors). - 0 to 20, a deprecation policy or notices with dates. - 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted). The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two. Provenance checks not met in full (half of this category, computed from checked facts): - Terms of service: read, states 3 of the 7 things a reader expects (6.6 of 10) - Privacy policy: read, states 8 of the 8 things a reader expects, and has 1 clause that costs points (8 of 10) - security.txt: published but past its Expires date (5 of 10) ## 7. Maintenance & community, 79 out of 100, up to 1.8 more on the total Why it scored 79: Dataverse service update 9.2.26094 went to early release on 2 October 2026, and the Python SDK 1.1.0 was published on 7 October 2026 (30). Service updates are weekly, with nine listed since 7 August, each with release notes (20). Public release notes and community forums. We did not check how issues on the SDK repositories are answered (10 of 15). Current official SDKs for .NET and Python and the npm MCP proxy @microsoft/dataverse 1.0.81 of 26 September 2026. The official MCP registry lists only third-party Dataverse and Dynamics servers (13 of 15). The Python SDK is marked Production/Stable for Python 3.10 and later. CI was not checked because GitHub's API refused us for its rate limit (6 of 10). The checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance): - 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older. - 20, at least three releases or dated changelog entries in the last 90 days. - 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15. - 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models). - 10, package health, current dependencies and CI. Models are read for deprecation notice periods and model churn rather than release counts. ## What we couldn't check What we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it. - unchecked: incident history, because status.cloud.microsoft rendered only a title and tenant service health needs an admin sign-in - unchecked: whether the 30-day trial or the Power Apps Developer Plan needs a card. The trial sign-up pages we tried on Learn returned 404 - unchecked: the dollar price of a Copilot Credit, which sets the cost of MCP calls from agents built outside Copilot Studio - unchecked: the text of the Data Protection Addendum of 22 May 2026 and the subprocessor list - unchecked: CI and issue handling on microsoft/PowerPlatform-DataverseClient-Python, because GitHub's API refused us for its rate limit - When the MCP tools describe_table, list_tables and fetch were removed, and how much notice was given. The docs note the change without a date - Whether the live MCP tools set readOnlyHint or destructiveHint, and which transport the remote endpoint speaks - Whether the SLA covers Sales Premium, which the Sales section heading does not name - The lead said no Dynamics MCP docs were found. The Dataverse MCP server is documented under Power Apps and is generally available. A Sales-specific MCP page we tried returned 404 ## Weaknesses - No public OpenAPI document. The contract is an OData CSDL $metadata document served by each environment behind sign-in - A person registers an app in Entra ID and a Power Platform administrator enables it. No keyless route was found - Service health for a tenant sits behind an admin sign-in, and status.cloud.microsoft showed no components or history to our reader - MCP calls from agents built outside Copilot Studio are billed in Copilot Credits unless the user holds a Premium or Microsoft 365 Copilot licence - The MCP tools describe_table, list_tables and fetch were removed and search was renamed. The notice in the docs carries no date ## What costs an agent a turn today The notes we give agents before they call it. Each one is a workaround an agent shouldn't need. - Send `OData-MaxVersion: 4.0`, `OData-Version: 4.0` and `Accept: application/json`, and name columns with `$select` on every read - Page with `Prefer: odata.maxpagesize` (up to 5,000) and follow `@odata.nextLink`. `$skip` is not supported - On 429, wait the seconds in Retry-After. The `x-ms-ratelimit-*` headers are for debugging, not pacing - Use PATCH on an alternate key to upsert, and add `If-Match: *` when an update must not create a record - For MCP, call `describe` for logical table and column names before `read_query`. Update any allow list that still names `describe_table`, `list_tables` or `fetch` ## When it's done Send what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `"kind": "dispute"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.
What we couldn't check
- unchecked: incident history, because status.cloud.microsoft rendered only a title and tenant service health needs an admin sign-in
- unchecked: whether the 30-day trial or the Power Apps Developer Plan needs a card. The trial sign-up pages we tried on Learn returned 404
- unchecked: the dollar price of a Copilot Credit, which sets the cost of MCP calls from agents built outside Copilot Studio
- unchecked: the text of the Data Protection Addendum of 22 May 2026 and the subprocessor list
- unchecked: CI and issue handling on microsoft/PowerPlatform-DataverseClient-Python, because GitHub's API refused us for its rate limit
- When the MCP tools describe_table, list_tables and fetch were removed, and how much notice was given. The docs note the change without a date
- Whether the live MCP tools set readOnlyHint or destructiveHint, and which transport the remote endpoint speaks
- Whether the SLA covers Sales Premium, which the Sales section heading does not name
- The lead said no Dynamics MCP docs were found. The Dataverse MCP server is documented under Power Apps and is generally available. A Sales-specific MCP page we tried returned 404
Sources 30
- Dataverse Web API overview learn.microsoft.com · seen 2026-10-08
- service protection API limits learn.microsoft.com · seen 2026-10-08
- request limits and allocations learn.microsoft.com · seen 2026-10-08
- compose HTTP requests and handle errors learn.microsoft.com · seen 2026-10-08
- page results learn.microsoft.com · seen 2026-10-08
- update, delete and upsert learn.microsoft.com · seen 2026-10-08
- OAuth with Dataverse learn.microsoft.com · seen 2026-10-08
- server-to-server authentication learn.microsoft.com · seen 2026-10-08
- Dataverse MCP server and tool list learn.microsoft.com · seen 2026-10-08
- Dataverse MCP for non-Microsoft clients learn.microsoft.com · seen 2026-10-08
- configure the Dataverse MCP server learn.microsoft.com · seen 2026-10-08
- Dataverse MCP FAQ learn.microsoft.com · seen 2026-10-08
- Copilot Credit billing rates learn.microsoft.com · seen 2026-10-08
- Dynamics 365 Sales pricing microsoft.com · seen 2026-10-08
- SLA for Microsoft Online Services, 1 October 2026 microsoft.com · seen 2026-10-08
- service health guidance learn.microsoft.com · seen 2026-10-08
- Dataverse released versions learn.microsoft.com · seen 2026-10-08
- Power Platform deprecations learn.microsoft.com · seen 2026-10-08
- Dataverse auditing learn.microsoft.com · seen 2026-10-08
- webhooks learn.microsoft.com · seen 2026-10-08
- Dataverse search learn.microsoft.com · seen 2026-10-08
- opportunity table reference learn.microsoft.com · seen 2026-10-08
- Power Apps Developer Plan learn.microsoft.com · seen 2026-10-08
- SOC 2 Type 2 scope learn.microsoft.com · seen 2026-10-08
- Product Terms for Dynamics 365 microsoft.com · seen 2026-10-08
- privacy statement microsoft.com · seen 2026-10-08
- security.txt microsoft.com · seen 2026-10-08
- Python SDK on PyPI pypi.org · seen 2026-10-08
- MCP proxy on npm registry.npmjs.org · seen 2026-10-08
- MCP registry search registry.modelcontextprotocol.io · seen 2026-10-08
Probe metrics
Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.
Pricing & changes
Paid $65 / seat-mo Sales Professional $65, Enterprise $105 and Premium $150 a user a month, paid yearly, per the pricing page, which says prices vary by country. The Web API has no separate charge. An application user needs no paid licence and draws on a tenant pool of requests. Since 15 December 2025, Dataverse MCP calls from agents built outside Copilot Studio are billed in Copilot Credits unless the user holds a Dynamics 365 Premium or Microsoft 365 Copilot licence. A 30-day trial and the free Power Apps Developer Plan let a team start without a contract. Card requirements were not stated (checked 2026-10-08).
Prices
| Item | Price | Unit | Note |
|---|---|---|---|
| Sales Professional | $65 | per seat per month | paid yearly |
| Sales Enterprise | $105 | per seat per month | paid yearly |
| Sales Premium | $150 | per seat per month | paid yearly, MCP access to Dynamics 365 data not charged in Copilot Credits |
Compared across listings on the price index.
Recent changes
- Latest release
Follow them as a feed at /feeds/tools/dynamics-365-sales.xml, or this listing's score history at history.json.
Connect
Install
pip install PowerPlatform-Dataverse-Client
First request
curl "https://$DATAVERSE_ORG.api.crm.dynamics.com/api/data/v9.2/accounts?\$select=name&\$top=5" \
-H "Authorization: Bearer $DATAVERSE_ACCESS_TOKEN" \
-H "Accept: application/json" \
-H "OData-MaxVersion: 4.0" \
-H "OData-Version: 4.0"
Claude Code
claude mcp add dataverse -t stdio -- npx -y @microsoft/dataverse mcp https://yourorg.crm.dynamics.com
MCP client configuration
{
"mcpServers": {
"dataverse": {
"args": [
"-y",
"@microsoft/dataverse",
"mcp",
"https://yourorg.crm.dynamics.com"
],
"command": "npx"
}
}
}
Through letme picks today, calling later
GET https://letme.dev/dynamics-365-sales
letme.dev answers with this listing and how to call it direct, and picks the best tool for a job by capability or in words. Calling through letme (one key, the vendor's own price) comes later. Nothing on letme.dev is for people to look at; this page explains it.
Compare with
HubSpot API + MCP BBZoho CRM BBClose API + MCP BTwenty API + MCP BAffinity BAttio API + MCP B
Head to head Affinity vs Microsoft Dynamics 365 Sales · Attio API + MCP vs Microsoft Dynamics 365 Sales · Capsule CRM vs Microsoft Dynamics 365 Sales · Close API + MCP vs Microsoft Dynamics 365 Sales · Copper API vs Microsoft Dynamics 365 Sales · Microsoft Dynamics 365 Sales vs folk API + MCP · Microsoft Dynamics 365 Sales vs Freshsales API · Microsoft Dynamics 365 Sales vs HubSpot API + MCP · Microsoft Dynamics 365 Sales vs Nutshell · Microsoft Dynamics 365 Sales vs Pipedrive API + MCP · Microsoft Dynamics 365 Sales vs Salesforce API + MCP · Microsoft Dynamics 365 Sales vs Streak API + MCP · Microsoft Dynamics 365 Sales vs Twenty API + MCP · Microsoft Dynamics 365 Sales vs Zoho CRM
Machine-readable
| Similar tool | Grade | Score | Shared capabilities | x402 |
|---|---|---|---|---|
| HubSpot API + MCP HubSpot | BB | 71.5 | crm.records crm.pipeline crm.activities crm.search crm.webhooks | no |
| Zoho CRM Zoho | BB | 70.8 | crm.records crm.pipeline crm.activities crm.search crm.webhooks | no |
| Close API + MCP Close | B | 66.7 | crm.records crm.pipeline crm.activities crm.search crm.webhooks | no |
| Twenty API + MCP Twenty | B | 65.9 | crm.records crm.pipeline crm.activities crm.search crm.webhooks | no |
| Affinity Project Affinity, Inc. | B | 63.4 | crm.records crm.pipeline crm.activities crm.search crm.webhooks | no |
| Attio API + MCP Attio | B | 63.1 | crm.records crm.pipeline crm.activities crm.search crm.webhooks | no |
Machine-readable
- JSON
/api/v1/tools/dynamics-365-sales.json· historyhistory.json· badge/badges/dynamics-365-sales.svg· changes feed/feeds/tools/dynamics-365-sales.xml - Markdown
/tools/dynamics-365-sales.md· slim/tools/dynamics-365-sales.min.md(or sendAccept: text/markdown) - Fix list
/fixes/dynamics-365-sales.md·/fixes/dynamics-365-sales.json - From a terminal
anchor tool dynamics-365-sales --md(the CLI) · over MCPget_tool {"slug": "dynamics-365-sales"}at/mcp, no key - Directory index
/api/v1/tools.json· site index/llms.txt
Verify this listing
For the vendorIs this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.
-
Add the badge or a link
On a light page On a dark page <a href="https://www.anchorterminal.com/tools/dynamics-365-sales"><img src="https://www.anchorterminal.com/badges/dynamics-365-sales.svg" alt="Microsoft Dynamics 365 Sales on Anchor Terminal" height="20"></a>[](https://www.anchorterminal.com/tools/dynamics-365-sales)<a href="https://www.anchorterminal.com/tools/dynamics-365-sales">Microsoft Dynamics 365 Sales on Anchor Terminal</a>It counts on a page on microsoft.com or one of its subdomains, or the README of github.com/microsoft/PowerPlatform-DataverseClient-Python.
-
Tell us where it is
We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.
Agents send the same to POST /api/v1/verify as {"slug": "dynamics-365-sales", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check. To announce the listing, get sharing assets for social media.


