Reference · built on requestConnectorCRM & sales

Dynamics 365 Sales

Leads, opportunities, quotes, orders, and invoices from Dynamics 365 Sales through the Dataverse Web API.

About

Dynamics 365 Sales runs on Microsoft Dataverse. Its tables follow the sales cycle from lead to invoice: lead, opportunity, quote, salesorder, and invoice, their line-item tables, and the competitor, product catalog, and goal tables around them. The Dataverse Web API implements OData v4, so each table is reachable under your organization's /api/data/v9.2/ path, and a registered webhook posts a RemoteExecutionContext when a message such as Create or Update runs.

Fibric reads through that API and listens to those webhooks. An operator proposes a lead qualification, an opportunity close, or a quote revision, and a person approves it before the action runs.

This is a reference listing. It documents what Fibric would read from Dynamics 365 Sales and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • lead, opportunity, quote, salesorder, and invoice tables, with quotedetail, salesorderdetail, and invoicedetail line items, through the Dataverse Web API
  • opportunityclose activities carrying revenue, close date, reason, and competitor
  • product, price list, and competitor tables from the product catalog
  • Webhook posts for a chosen table and message, filtered by attribute, registered as synchronous or asynchronous steps
  • OData v4 queries across any table the application user's security role allows
  • Remaining headroom from the x-ms-ratelimit-burst-remaining-xrm-requests and x-ms-ratelimit-time-remaining-xrm-requests response headers

Proposed actions

  • Target capability: propose qualifying a lead through the QualifyLead action, which creates the account, contact, or opportunity
  • Target capability: propose closing an opportunity as won or lost, writing the opportunityclose activity with reason and revenue
  • Target capability: propose a quote or quote line change; fields marked read-only on the form can still be set, so each change is shown first
  • Target capability: propose marking a sales order fulfilled, one order at a time

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Qualify leads on one consistent rule

    New lead rows are read with source and contact fields. The operator drafts a first touch and, when your rule is met, proposes QualifyLead for a person to run.

    With Lead Response

  • Turn an accepted quote into an order

    A quote the customer accepts becomes a sales order. The operator checks lines, price list, and ship-to addresses before proposing the conversion for approval.

    With Quote to Order

  • Hold new quotes behind unpaid invoices

    Invoices past due are matched to open opportunities on the same account. The operator proposes a hold on the next quote until a person clears it.

    With Credit Hold

  • Learn from lost opportunities

    Each opportunityclose row carries the reason and the competitor. The operator compiles a weekly summary by reason and owner and proposes fields to correct.

    With Win-Loss Record

Requirements

  • A Dynamics 365 Sales environment and an Entra ID app registration with a client secret or an uploaded certificate
  • An application user in Dataverse bound to that registration, with a security role scoped to the tables in use
  • Webhook steps registered for the tables and messages you want, if you prefer push over polling
  • An endpoint that answers webhook POSTs within 60 seconds with a 2xx status
Authentication
OAuth 2.0 against Microsoft Entra ID: an app registration with a client secret or certificate, bound to a Dataverse application user that holds a custom security role, requesting the <environment-url>/.default scope.

Limits

  • Service protection limits per user and web server: 6,000 requests, 20 minutes of execution time, and 52 concurrent requests in a 5-minute sliding window
  • A 429 carries Retry-After in seconds; the connector waits that long before sending again
  • Webhook payloads over 256 KB drop ParentContext, InputParameters, and entity images, flagged by the x-ms-dynamics-msg-size-exceeded header
  • A webhook is retried once, and only after a 502, 503, or 504; a synchronous webhook failure rolls back the data operation

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Dynamics 365 Sales ↗

Questions and answers

Which API does the connector use?
The Dataverse Web API, an OData v4 endpoint under your organization's /api/data/v9.2/ path. Sales tables such as lead, opportunity, quote, salesorder, and invoice are read and written there. Named operations like QualifyLead run as Web API actions.
Does the connector need a licensed user?
No. It connects as an application user bound to an Entra ID app registration, using a client secret or certificate. Microsoft documents this path so that an integration does not consume a paid user license.
What throttling applies?
Dataverse enforces per-user limits over a 5-minute window: 6,000 requests, 1,200 seconds of execution time, and 52 concurrent requests per web server. Exceeding them returns 429 with a Retry-After header, which the connector honors.
Ask about Dynamics 365 Sales

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.