{
  "data": {
    "a": {
      "slug": "dynamics-365-sales",
      "name": "Microsoft Dynamics 365 Sales",
      "vendor": "Microsoft",
      "vendorUrl": "https://www.microsoft.com/dynamics-365/products/sales",
      "kind": "http-api",
      "category": "crm",
      "summary": "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.",
      "url": "https://www.anchorterminal.com/tools/dynamics-365-sales",
      "markdownUrl": "https://www.anchorterminal.com/tools/dynamics-365-sales.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/dynamics-365-sales.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/dynamics-365-sales.json",
      "repo": "https://github.com/microsoft/PowerPlatform-DataverseClient-Python",
      "license": "Proprietary service under the Microsoft Product Terms. The Python SDK and the @microsoft/dataverse npm package are MIT",
      "transports": [
        "http",
        "stdio"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "PowerPlatform-Dataverse-Client"
        },
        {
          "registry": "npm",
          "name": "@microsoft/dataverse"
        },
        {
          "registry": "nuget",
          "name": "Microsoft.PowerPlatform.Dataverse.Client"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 through Microsoft Entra ID is the only route. A person registers an app in the customer's Entra tenant. For delegated access it takes the Dynamics 365 delegated permission (access as organisation users) and the scope `\u003cenvironment-url\u003e/user_impersonation`. For server-to-server access an administrator creates an application user with a security role, and the app uses a client secret or certificate with `\u003cenvironment-url\u003e/.default`. The Dataverse MCP server takes the `mcp.tools` permission, and a Power Platform administrator must allow each client app ID per environment. Only Copilot Studio is allowed by default. No API-key path.",
      "pricing": "paid",
      "pricingNotes": "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).",
      "priceSummary": "$65 / seat-mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Dataverse Web API docs, the Dataverse MCP docs or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 15,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 2921,
        "pypiWeekly": 10702,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/overview",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks"
      ],
      "tags": [
        "hosted",
        "official",
        "oauth",
        "enterprise",
        "mcp",
        "odata",
        "webhooks",
        "python",
        "dotnet",
        "closed-source",
        "sla",
        "audit-log"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.7,
        "grade": "B",
        "agentReady": false,
        "rank": 150,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 86,
          "maintenance": 79,
          "payments": 25,
          "reliability": 65,
          "schema": 81,
          "security": 74,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Organisations already on Dynamics 365 or Microsoft 365 that want an agent to work inside existing security roles.",
        "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"
        ],
        "agentNotes": [
          "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`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.7
          }
        ],
        "editorialScores": {
          "ergonomics": 86,
          "maintenance": 79,
          "payments": 25,
          "reliability": 65,
          "schema": 81,
          "security": 74,
          "transparency": 60
        },
        "provenanceScore": 90
      },
      "connect": {
        "install": "pip install PowerPlatform-Dataverse-Client",
        "http": "curl \"https://$DATAVERSE_ORG.api.crm.dynamics.com/api/data/v9.2/accounts?\\$select=name\u0026\\$top=5\" \\\n  -H \"Authorization: Bearer $DATAVERSE_ACCESS_TOKEN\" \\\n  -H \"Accept: application/json\" \\\n  -H \"OData-MaxVersion: 4.0\" \\\n  -H \"OData-Version: 4.0\"",
        "claudeCode": "claude mcp add dataverse -t stdio -- npx -y @microsoft/dataverse mcp https://yourorg.crm.dynamics.com",
        "config": {
          "mcpServers": {
            "dataverse": {
              "args": [
                "-y",
                "@microsoft/dataverse",
                "mcp",
                "https://yourorg.crm.dynamics.com"
              ],
              "command": "npx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/dynamics-365-sales"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "microsoft-teams",
        "power-automate",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "area": "business",
      "unitPrices": [
        {
          "item": "Sales Professional",
          "unit": "seat-month",
          "usd": 65,
          "note": "paid yearly"
        },
        {
          "item": "Sales Enterprise",
          "unit": "seat-month",
          "usd": 105,
          "note": "paid yearly"
        },
        {
          "item": "Sales Premium",
          "unit": "seat-month",
          "usd": 150,
          "note": "paid yearly, MCP access to Dynamics 365 data not charged in Copilot Credits"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "Each environment's API answers on a dynamics.com host such as https://\u003corg\u003e.crm.dynamics.com, a Microsoft domain. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/licensing/terms/productoffering/MicrosoftDynamics365/MCA",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://status.cloud.microsoft",
        "changelog": "https://learn.microsoft.com/en-us/power-platform/released-versions/dataverse",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "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."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/dynamics-365-sales.json",
      "live": {
        "slug": "dynamics-365-sales",
        "vendorStatus": {
          "page": "https://status.cloud.microsoft",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:27.838807107Z"
        },
        "pages": [
          {
            "url": "https://learn.microsoft.com/en-us/power-platform/released-versions/dataverse",
            "kind": "changelog",
            "status": 404,
            "checkedAt": "2026-10-08T18:21:44.313857877Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.microsoft.com/licensing/terms/productoffering/MicrosoftDynamics365/MCA",
            "kind": "terms",
            "status": 502,
            "checkedAt": "2026-10-08T18:29:16.982750104Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-08T19:38:27.838807107Z"
      }
    },
    "answer": "Microsoft Dynamics 365 Sales scores 69.7 (B) on agent readiness against Salesforce API + MCP's 60.5 (C), and leads in 6 of 7 scored categories. Salesforce API + MCP leads on payments \u0026 pricing.",
    "b": {
      "slug": "salesforce",
      "name": "Salesforce API + MCP",
      "vendor": "Salesforce",
      "vendorUrl": "https://www.salesforce.com/sales/",
      "kind": "http-api",
      "category": "crm",
      "summary": "Salesforce Sales Cloud through the platform REST API (sObjects, SOQL, SOSL, composite and bulk) and Salesforce Hosted MCP Servers, generally available since April 2026.",
      "url": "https://www.anchorterminal.com/tools/salesforce",
      "markdownUrl": "https://www.anchorterminal.com/tools/salesforce.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/salesforce.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/salesforce.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-all",
      "packages": [],
      "auth": "oauth",
      "authNotes": "REST calls go to the org's My Domain host (`https://\u003cMyDomain\u003e.my.salesforce.com/services/data/vXX.X/`) with an OAuth 2.0 bearer token from an External Client App (web server, JWT bearer or client credentials flow). Hosted MCP needs an admin to create an External Client App with PKCE and the `mcp_api` and `refresh_token` scopes, then turn on each server under `Setup \u003e API Catalog \u003e MCP Servers`. Each user signs in once; there's no API-key path.",
      "pricing": "paid",
      "pricingNotes": "Sales Cloud per user a month, billed yearly. Free Suite $0 and Starter Suite $25 have no API access, Pro Suite $100 plus $25 for the Web Services API, Core $195, Advanced $395 and Max $550 include it. Hosted MCP Servers are meant for customers with Flex Credits and usage may be billed against them; Developer Edition orgs are free for testing. 30-day trials (https://www.salesforce.com/sales/pricing/).",
      "priceSummary": "$125 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No payments. API and MCP use follow the org's licences and Flex Credits.",
        "endpoints": []
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.salesforce.com/docs/platform/hosted-mcp-servers/guide/hosted-mcp-servers-overview.html",
      "llmsTxt": "https://developer.salesforce.com/llms.txt",
      "capabilities": [
        "crm.records",
        "crm.pipeline",
        "crm.activities",
        "crm.search",
        "crm.webhooks"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "closed-source",
        "enterprise",
        "read-only-mode",
        "webhooks"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.5,
        "grade": "C",
        "agentReady": false,
        "rank": 398,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 18,
          "payments": 30,
          "reliability": 58,
          "schema": 76,
          "security": 72,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Per-user OAuth 2.0 with PKCE and only `mcp_api` and `refresh_token` scopes. No hosted MCP changelog yet.",
        "bestFor": "Organisations already on Salesforce that need an agent to read and update any object under existing security rules.",
        "strengths": [
          "Per-user OAuth 2.0 with PKCE and only `mcp_api` and `refresh_token` scopes",
          "Separate Reads, Mutations and Deletes servers, all off until an admin enables them",
          "11 tools reach every standard and custom object inside field-level security and sharing",
          "Delete tools ask for confirmation, and deleted records stay recoverable for 15 days",
          "Free Developer Edition orgs for testing hosted MCP"
        ],
        "weaknesses": [
          "No hosted MCP changelog yet",
          "API access needs the $25 add-on on Pro Suite or a Core seat at $195, and Free and Starter suites have none",
          "MCP usage may bill against Flex Credits at a rate we couldn't find",
          "Multi-day core service incidents across more than 160 instances in late August 2026",
          "No security.txt, and the main read tool takes free-form SOQL"
        ],
        "agentNotes": [
          "Call `getObjectSchema` in index mode first, then detail mode for the object you need",
          "Put WHERE and LIMIT on every SOQL query and filter on indexed fields to avoid timeouts",
          "Ask the admin for SObject Reads if the job only reads, since SObject All includes delete",
          "Watch `Sforce-Limit-Info` on REST calls, as the daily allocation is shared by the org",
          "Re-authorise if a token came from the beta service, because beta tokens don't work on GA"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.5
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 18,
          "payments": 30,
          "reliability": 58,
          "schema": 76,
          "security": 72,
          "transparency": 57
        },
        "provenanceScore": 87
      },
      "connect": {
        "http": "curl \"https://$SF_MY_DOMAIN.my.salesforce.com/services/data/v66.0/query?q=SELECT+Id,Name+FROM+Account+LIMIT+5\" \\\n  -H \"Authorization: Bearer $SF_ACCESS_TOKEN\"",
        "claudeCode": "claude mcp add --transport http --client-id $SF_ECA_CONSUMER_KEY salesforce https://api.salesforce.com/platform/mcp/v1/platform/sobject-all",
        "config": {
          "mcpServers": {
            "salesforce": {
              "url": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-all"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/crm.records",
        "tool": "https://letme.dev/salesforce"
      },
      "sameCompany": [
        "salesforce-dx-mcp"
      ],
      "area": "business",
      "unitPrices": [
        {
          "item": "Pro Suite plus Web Services API add-on (first plan with API access)",
          "unit": "seat-month",
          "usd": 125,
          "note": "$100 plus $25 for API, billed yearly"
        },
        {
          "item": "Core",
          "unit": "seat-month",
          "usd": 195,
          "note": "billed yearly, API included"
        },
        {
          "item": "Advanced",
          "unit": "seat-month",
          "usd": 395,
          "note": "billed yearly"
        },
        {
          "item": "Max",
          "unit": "seat-month",
          "usd": 550,
          "note": "billed yearly, includes 2.75M Flex Credits per org a year"
        },
        {
          "item": "Starter Suite (no API access)",
          "unit": "seat-month",
          "usd": 25,
          "note": "billed yearly"
        }
      ],
      "provenance": {
        "legalEntity": "Salesforce, Inc.",
        "domain": "salesforce.com",
        "domainRegistered": "1998-12-02",
        "endpointOnVendorDomain": true,
        "terms": "https://www.salesforce.com/company/legal/sfdc-website-terms-of-service/",
        "privacy": "https://www.salesforce.com/company/legal/privacy/",
        "statusPage": "https://status.salesforce.com",
        "changelog": "https://help.salesforce.com/s/articleView?id=release-notes.salesforce_release_notes.htm",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Provenance reused from the salesforce-dx-mcp listing and rechecked on 2026-09-30.",
          "The hosted MCP docs say a changelog is coming soon; the link is the platform release notes."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/salesforce.json",
      "live": {
        "slug": "salesforce",
        "probe": {
          "target": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-all",
          "method": "get",
          "lastAt": "2026-10-08T20:09:58.338398246Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 160,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.91,
          "p50ms24h": 52,
          "p95ms24h": 128,
          "samples24h": 272,
          "samples30d": 2146,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 246
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 228,
              "ok": 228
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.salesforce.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:09.162287056Z"
        },
        "securityTxt": {
          "url": "https://salesforce.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:38.347251942Z"
        },
        "llmsTxt": {
          "url": "https://developer.salesforce.com/llms.txt",
          "ok": false,
          "status": 403,
          "checkedAt": "2026-10-08T14:00:51.356090656Z"
        },
        "domain": {
          "domain": "salesforce.com",
          "registered": "1998-12-02",
          "source": "https://rdap.verisign.com/com/v1/domain/salesforce.com",
          "checkedAt": "2026-10-04T13:07:06.944409668Z"
        },
        "pages": [
          {
            "url": "https://help.salesforce.com/s/articleView?id=release-notes.salesforce_release_notes.htm",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:20:52.059026336Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e2a5ccf1df65"
          },
          {
            "url": "https://www.salesforce.com/sales/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:12.055579666Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1746bf94e2fc"
          }
        ],
        "updatedAt": "2026-10-08T20:09:58.338398246Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft",
        "b": "Salesforce",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.salesforce.com/platform/mcp/v1/platform/sobject-all",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Microsoft Product Terms. The Python SDK and the @microsoft/dataverse npm package are MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "15",
        "b": "11",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-07",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2025-04-08",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2.9k npm/wk, 11k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "4/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Microsoft Dynamics 365 Sales scores 69.7 (B) on agent readiness against Salesforce API + MCP's 60.5 (C), and leads in 6 of 7 scored categories. Salesforce API + MCP leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Microsoft Dynamics 365 Sales or Salesforce API + MCP?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do Microsoft Dynamics 365 Sales and Salesforce API + MCP need an API key?"
      },
      {
        "answer": "Microsoft Dynamics 365 Sales runs on your own machine, with no hosted endpoint listed. Salesforce API + MCP has a hosted endpoint at https://api.salesforce.com/platform/mcp/v1/platform/sobject-all.",
        "question": "Can an agent call Microsoft Dynamics 365 Sales and Salesforce API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 65 against 58",
          "Schema \u0026 documentation, 81 against 76",
          "Agent ergonomics, 86 against 76",
          "Maintenance \u0026 community, 79 against 18"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Organisations already on Dynamics 365 or Microsoft 365 that want an agent to work inside existing security roles.",
        "slug": "dynamics-365-sales",
        "watchFor": "No public OpenAPI document. The contract is an OData CSDL $metadata document served by each environment behind sign-in"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 30 against 25"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Organisations already on Salesforce that need an agent to read and update any object under existing security rules.",
        "slug": "salesforce",
        "watchFor": "No hosted MCP changelog yet"
      }
    ],
    "job": {
      "capability": "crm.records",
      "name": "Crm records"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-dynamics-365-sales.json",
        "title": "Affinity vs Microsoft Dynamics 365 Sales",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-dynamics-365-sales"
      },
      {
        "json": "https://www.anchorterminal.com/compare/affinity-vs-salesforce.json",
        "title": "Affinity vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/affinity-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/attio-vs-dynamics-365-sales.json",
        "title": "Attio API + MCP vs Microsoft Dynamics 365 Sales",
        "url": "https://www.anchorterminal.com/compare/attio-vs-dynamics-365-sales"
      },
      {
        "json": "https://www.anchorterminal.com/compare/attio-vs-salesforce.json",
        "title": "Attio API + MCP vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/attio-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/capsule-crm-vs-dynamics-365-sales.json",
        "title": "Capsule CRM vs Microsoft Dynamics 365 Sales",
        "url": "https://www.anchorterminal.com/compare/capsule-crm-vs-dynamics-365-sales"
      },
      {
        "json": "https://www.anchorterminal.com/compare/capsule-crm-vs-salesforce.json",
        "title": "Capsule CRM vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/capsule-crm-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/close-vs-dynamics-365-sales.json",
        "title": "Close API + MCP vs Microsoft Dynamics 365 Sales",
        "url": "https://www.anchorterminal.com/compare/close-vs-dynamics-365-sales"
      },
      {
        "json": "https://www.anchorterminal.com/compare/close-vs-salesforce.json",
        "title": "Close API + MCP vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/close-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/copper-vs-dynamics-365-sales.json",
        "title": "Copper API vs Microsoft Dynamics 365 Sales",
        "url": "https://www.anchorterminal.com/compare/copper-vs-dynamics-365-sales"
      },
      {
        "json": "https://www.anchorterminal.com/compare/copper-vs-salesforce.json",
        "title": "Copper API vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/copper-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-folk.json",
        "title": "Microsoft Dynamics 365 Sales vs folk API + MCP",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-folk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-freshsales.json",
        "title": "Microsoft Dynamics 365 Sales vs Freshsales API",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-freshsales"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-hubspot-mcp.json",
        "title": "Microsoft Dynamics 365 Sales vs HubSpot API + MCP",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-hubspot-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-nutshell.json",
        "title": "Microsoft Dynamics 365 Sales vs Nutshell",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-nutshell"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-pipedrive.json",
        "title": "Microsoft Dynamics 365 Sales vs Pipedrive API + MCP",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-pipedrive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-streak.json",
        "title": "Microsoft Dynamics 365 Sales vs Streak API + MCP",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-streak"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-twenty.json",
        "title": "Microsoft Dynamics 365 Sales vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-zoho-crm.json",
        "title": "Microsoft Dynamics 365 Sales vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-zoho-crm"
      },
      {
        "json": "https://www.anchorterminal.com/compare/folk-vs-salesforce.json",
        "title": "folk API + MCP vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/folk-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/freshsales-vs-salesforce.json",
        "title": "Freshsales API vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/freshsales-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-salesforce.json",
        "title": "HubSpot API + MCP vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/hubspot-mcp-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nutshell-vs-salesforce.json",
        "title": "Nutshell vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/nutshell-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pipedrive-vs-salesforce.json",
        "title": "Pipedrive API + MCP vs Salesforce API + MCP",
        "url": "https://www.anchorterminal.com/compare/pipedrive-vs-salesforce"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salesforce-vs-streak.json",
        "title": "Salesforce API + MCP vs Streak API + MCP",
        "url": "https://www.anchorterminal.com/compare/salesforce-vs-streak"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salesforce-vs-twenty.json",
        "title": "Salesforce API + MCP vs Twenty API + MCP",
        "url": "https://www.anchorterminal.com/compare/salesforce-vs-twenty"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salesforce-vs-zoho-crm.json",
        "title": "Salesforce API + MCP vs Zoho CRM",
        "url": "https://www.anchorterminal.com/compare/salesforce-vs-zoho-crm"
      }
    ],
    "scores": [
      {
        "by": 7,
        "dynamics-365-sales": 65,
        "edge": "dynamics-365-sales",
        "key": "reliability",
        "name": "Reliability",
        "salesforce": 58,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "dynamics-365-sales": 81,
        "edge": "dynamics-365-sales",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "salesforce": 76,
        "weight": 13
      },
      {
        "by": 10,
        "dynamics-365-sales": 86,
        "edge": "dynamics-365-sales",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "salesforce": 76,
        "weight": 13
      },
      {
        "by": 2,
        "dynamics-365-sales": 74,
        "edge": "dynamics-365-sales",
        "key": "security",
        "name": "Security \u0026 auth",
        "salesforce": 72,
        "weight": 14
      },
      {
        "by": 5,
        "dynamics-365-sales": 25,
        "edge": "salesforce",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "salesforce": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 61,
        "dynamics-365-sales": 79,
        "edge": "dynamics-365-sales",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "salesforce": 18,
        "weight": 7
      },
      {
        "by": 3,
        "dynamics-365-sales": 75,
        "edge": "dynamics-365-sales",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "salesforce": 72,
        "weight": 7
      }
    ],
    "summary": "Microsoft Dynamics 365 Sales scores 69.7 (B) on agent readiness against Salesforce API + MCP's 60.5 (C), and leads in 6 of 7 scored categories. Salesforce API + MCP leads on payments \u0026 pricing. Both do crm records.",
    "verdicts": {
      "dynamics-365-sales": "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.",
      "salesforce": "Per-user OAuth 2.0 with PKCE and only `mcp_api` and `refresh_token` scopes. No hosted MCP changelog yet."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-salesforce",
    "json": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-salesforce.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-salesforce.md",
    "slim": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-salesforce.min.md"
  },
  "markdown": "Microsoft Dynamics 365 Sales scores 69.7 (B) on agent readiness against Salesforce API + MCP's 60.5 (C), and leads in 6 of 7 scored categories. Salesforce API + MCP leads on payments \u0026 pricing. Both do crm records.\n\n- Microsoft Dynamics 365 Sales: grade B, 69.7/100, rank #150 of 722. Markdown https://www.anchorterminal.com/tools/dynamics-365-sales.md · JSON https://www.anchorterminal.com/api/v1/tools/dynamics-365-sales.json\n- Salesforce API + MCP: grade C, 60.5/100, rank #398 of 722. Markdown https://www.anchorterminal.com/tools/salesforce.md · JSON https://www.anchorterminal.com/api/v1/tools/salesforce.json\n\n## Which one, for what\n\n### Microsoft Dynamics 365 Sales (B)\n\nGood for: Organisations already on Dynamics 365 or Microsoft 365 that want an agent to work inside existing security roles.\n\nAhead on:\n- Reliability, 65 against 58\n- Schema \u0026 documentation, 81 against 76\n- Agent ergonomics, 86 against 76\n- Maintenance \u0026 community, 79 against 18\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No public OpenAPI document. The contract is an OData CSDL $metadata document served by each environment behind sign-in\n\n### Salesforce API + MCP (C)\n\nGood for: Organisations already on Salesforce that need an agent to read and update any object under existing security rules.\n\nAhead on:\n- Payments \u0026 pricing, 30 against 25\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No hosted MCP changelog yet\n\n\n## Score by category\n\n| Category | Weight | Microsoft Dynamics 365 Sales | Salesforce API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 58 | Microsoft Dynamics 365 Sales +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 76 | Microsoft Dynamics 365 Sales +5 |\n| Agent ergonomics | 13% (16.2 this run) | 86 | 76 | Microsoft Dynamics 365 Sales +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 74 | 72 | Microsoft Dynamics 365 Sales +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 30 | Salesforce API + MCP +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 79 | 18 | Microsoft Dynamics 365 Sales +61 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 72 | Microsoft Dynamics 365 Sales +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.7 · B** | **60.5 · C** | |\n\n## Facts side by side\n\n| Fact | Microsoft Dynamics 365 Sales | Salesforce API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft | Salesforce |\n| Hosted endpoint | no (local only) | `https://api.salesforce.com/platform/mcp/v1/platform/sobject-all` |\n| Transports | HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth | OAuth |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under the Microsoft Product Terms. The Python SDK and the @microsoft/dataverse npm package are MIT | none |\n| Tools exposed | 15 | 11 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-10-07 | none |\n| Terms last updated | no date given | 2025-04-08 |\n| Privacy policy last updated | 2026-09-01 | no date given |\n| Customer content may train models | yes | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 2.9k npm/wk, 11k PyPI/wk | none |\n| Agent reviews | none | 4/5 (2) |\n\n## Verdicts\n\n**Microsoft Dynamics 365 Sales.** 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.\n\n**Salesforce API + MCP.** Per-user OAuth 2.0 with PKCE and only `mcp_api` and `refresh_token` scopes. No hosted MCP changelog yet.\n\n## Before you call either\n\n### Microsoft Dynamics 365 Sales\n\n1. Send `OData-MaxVersion: 4.0`, `OData-Version: 4.0` and `Accept: application/json`, and name columns with `$select` on every read\n2. Page with `Prefer: odata.maxpagesize` (up to 5,000) and follow `@odata.nextLink`. `$skip` is not supported\n3. On 429, wait the seconds in Retry-After. The `x-ms-ratelimit-*` headers are for debugging, not pacing\n4. Use PATCH on an alternate key to upsert, and add `If-Match: *` when an update must not create a record\n5. 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`\n\n### Salesforce API + MCP\n\n1. Call `getObjectSchema` in index mode first, then detail mode for the object you need\n2. Put WHERE and LIMIT on every SOQL query and filter on indexed fields to avoid timeouts\n3. Ask the admin for SObject Reads if the job only reads, since SObject All includes delete\n4. Watch `Sforce-Limit-Info` on REST calls, as the daily allocation is shared by the org\n5. Re-authorise if a token came from the beta service, because beta tokens don't work on GA\n\n## Questions\n\n### Which is better for AI agents, Microsoft Dynamics 365 Sales or Salesforce API + MCP?\n\nMicrosoft Dynamics 365 Sales scores 69.7 (B) on agent readiness against Salesforce API + MCP's 60.5 (C), and leads in 6 of 7 scored categories. Salesforce API + MCP leads on payments \u0026 pricing.\n\n### Do Microsoft Dynamics 365 Sales and Salesforce API + MCP need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call Microsoft Dynamics 365 Sales and Salesforce API + MCP without installing anything?\n\nMicrosoft Dynamics 365 Sales runs on your own machine, with no hosted endpoint listed. Salesforce API + MCP has a hosted endpoint at https://api.salesforce.com/platform/mcp/v1/platform/sobject-all.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/dynamics-365-sales-vs-salesforce.json, and with the fewest tokens: https://www.anchorterminal.com/compare/dynamics-365-sales-vs-salesforce.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"dynamics-365-sales\", \"b\": \"salesforce\"}`. From a terminal: `anchor compare dynamics-365-sales salesforce`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/dynamics-365-sales.json and https://www.anchorterminal.com/api/v1/tools/salesforce.json\n\n## Other comparisons with Microsoft Dynamics 365 Sales or Salesforce API + MCP\n\n- [Affinity vs Microsoft Dynamics 365 Sales](https://www.anchorterminal.com/compare/affinity-vs-dynamics-365-sales.md)\n- [Affinity vs Salesforce API + MCP](https://www.anchorterminal.com/compare/affinity-vs-salesforce.md)\n- [Attio API + MCP vs Microsoft Dynamics 365 Sales](https://www.anchorterminal.com/compare/attio-vs-dynamics-365-sales.md)\n- [Attio API + MCP vs Salesforce API + MCP](https://www.anchorterminal.com/compare/attio-vs-salesforce.md)\n- [Capsule CRM vs Microsoft Dynamics 365 Sales](https://www.anchorterminal.com/compare/capsule-crm-vs-dynamics-365-sales.md)\n- [Capsule CRM vs Salesforce API + MCP](https://www.anchorterminal.com/compare/capsule-crm-vs-salesforce.md)\n- [Close API + MCP vs Microsoft Dynamics 365 Sales](https://www.anchorterminal.com/compare/close-vs-dynamics-365-sales.md)\n- [Close API + MCP vs Salesforce API + MCP](https://www.anchorterminal.com/compare/close-vs-salesforce.md)\n- [Copper API vs Microsoft Dynamics 365 Sales](https://www.anchorterminal.com/compare/copper-vs-dynamics-365-sales.md)\n- [Copper API vs Salesforce API + MCP](https://www.anchorterminal.com/compare/copper-vs-salesforce.md)\n- [Microsoft Dynamics 365 Sales vs folk API + MCP](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-folk.md)\n- [Microsoft Dynamics 365 Sales vs Freshsales API](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-freshsales.md)\n- [Microsoft Dynamics 365 Sales vs HubSpot API + MCP](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-hubspot-mcp.md)\n- [Microsoft Dynamics 365 Sales vs Nutshell](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-nutshell.md)\n- [Microsoft Dynamics 365 Sales vs Pipedrive API + MCP](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-pipedrive.md)\n- [Microsoft Dynamics 365 Sales vs Streak API + MCP](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-streak.md)\n- [Microsoft Dynamics 365 Sales vs Twenty API + MCP](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-twenty.md)\n- [Microsoft Dynamics 365 Sales vs Zoho CRM](https://www.anchorterminal.com/compare/dynamics-365-sales-vs-zoho-crm.md)\n- [folk API + MCP vs Salesforce API + MCP](https://www.anchorterminal.com/compare/folk-vs-salesforce.md)\n- [Freshsales API vs Salesforce API + MCP](https://www.anchorterminal.com/compare/freshsales-vs-salesforce.md)\n- [HubSpot API + MCP vs Salesforce API + MCP](https://www.anchorterminal.com/compare/hubspot-mcp-vs-salesforce.md)\n- [Nutshell vs Salesforce API + MCP](https://www.anchorterminal.com/compare/nutshell-vs-salesforce.md)\n- [Pipedrive API + MCP vs Salesforce API + MCP](https://www.anchorterminal.com/compare/pipedrive-vs-salesforce.md)\n- [Salesforce API + MCP vs Streak API + MCP](https://www.anchorterminal.com/compare/salesforce-vs-streak.md)\n- [Salesforce API + MCP vs Twenty API + MCP](https://www.anchorterminal.com/compare/salesforce-vs-twenty.md)\n- [Salesforce API + MCP vs Zoho CRM](https://www.anchorterminal.com/compare/salesforce-vs-zoho-crm.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Microsoft Dynamics 365 Sales vs Salesforce API + MCP",
        "url": ""
      }
    ],
    "description": "Microsoft Dynamics 365 Sales scores 69.7 (B) on agent readiness against Salesforce API + MCP's 60.5 (C), and leads in 6 of 7 scored categories. Salesforce API + MCP leads on payments \u0026 pricing. Both do crm records. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Microsoft Dynamics 365 Sales B 69.7",
      "Salesforce API + MCP C 60.5",
      "scores"
    ],
    "h1": "Microsoft Dynamics 365 Sales vs Salesforce API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-dynamics-365-sales-vs-salesforce.png",
    "path": "/compare/dynamics-365-sales-vs-salesforce",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Microsoft Dynamics 365 Sales vs Salesforce API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/dynamics-365-sales-vs-salesforce"
  },
  "tokens": {
    "markdown": 2600,
    "slim": 680
  },
  "version": 1
}
