All connectors
Implemented
CRM, sales & customer success
Dynamics 365 Sales logo

Dynamics 365 Sales

Read and write Dynamics 365 Sales accounts, contacts, leads, opportunities, quotes, orders, invoices and activities through the Dataverse Web API, plus any table and metadata.

Connect the Dynamics 365 sales pipeline and order-to-cash records with ERP, marketing and service systems.

Source actions

29

Destination actions

23

Data types

16

Validation status

Implemented · fixture tested.

Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.

What you can map

accounts
  • Create account
    Destination
    Not retried automatically

    Creates a account and returns the new row.

  • Get account
    Source

    One account by ID.

  • List accounts
    Source
    Incremental

    Accounts with all columns (or selected columns), formatted values and custom columns.

  • Update account
    Destination
    Duplicate protected

    Updates mapped columns of an existing account (If-Match: * prevents an accidental create).

attributes
  • List columns
    Source

    Column metadata for a table: logical name, type, custom flag, requirement level and create/update validity.

contacts
  • Create contact
    Destination
    Not retried automatically

    Creates a contact and returns the new row.

  • Get contact
    Source

    One contact by ID.

  • List contacts
    Source
    Incremental

    Contacts with all columns (or selected columns), formatted values and custom columns.

  • Update contact
    Destination
    Duplicate protected

    Updates mapped columns of an existing contact (If-Match: * prevents an accidental create).

entity definitions
  • List tables
    Source

    Table metadata: logical name, entity set name, primary key and custom flag.

invoices
  • Create invoice
    Destination
    Not retried automatically

    Creates a invoice and returns the new row.

  • Get invoice
    Source

    One invoice by ID.

  • List invoices
    Source
    Incremental

    Invoices with all columns (or selected columns), formatted values and custom columns.

  • Update invoice
    Destination
    Duplicate protected

    Updates mapped columns of an existing invoice (If-Match: * prevents an accidental create).

leads
  • Create lead
    Destination
    Not retried automatically

    Creates a lead and returns the new row.

  • Get lead
    Source

    One lead by ID.

  • List leads
    Source
    Incremental

    Leads with all columns (or selected columns), formatted values and custom columns.

  • Update lead
    Destination
    Duplicate protected

    Updates mapped columns of an existing lead (If-Match: * prevents an accidental create).

opportunities
  • Create opportunity
    Destination
    Not retried automatically

    Creates a opportunity and returns the new row.

  • Get opportunity
    Source

    One opportunity by ID.

  • List opportunities
    Source
    Incremental

    Opportunities with all columns (or selected columns), formatted values and custom columns.

  • Update opportunity
    Destination
    Duplicate protected

    Updates mapped columns of an existing opportunity (If-Match: * prevents an accidental create).

opportunity products
  • Create opportunity product
    Destination
    Not retried automatically

    Creates a opportunity product and returns the new row.

  • Get opportunity product
    Source

    One opportunity product by ID.

  • List opportunity products
    Source
    Incremental

    Opportunity products with all columns (or selected columns), formatted values and custom columns.

  • Update opportunity product
    Destination
    Duplicate protected

    Updates mapped columns of an existing opportunity product (If-Match: * prevents an accidental create).

phone calls
  • Create phone call
    Destination
    Not retried automatically

    Creates a phone call and returns the new row.

  • Get phone call
    Source

    One phone call by ID.

  • List phone calls
    Source
    Incremental

    Phone calls with all columns (or selected columns), formatted values and custom columns.

  • Update phone call
    Destination
    Duplicate protected

    Updates mapped columns of an existing phone call (If-Match: * prevents an accidental create).

products
  • Get product
    Source

    One product by ID.

  • List products
    Source
    Incremental

    Products with all columns (or selected columns), formatted values and custom columns.

quotes
  • Create quote
    Destination
    Not retried automatically

    Creates a quote and returns the new row.

  • Get quote
    Source

    One quote by ID.

  • List quotes
    Source
    Incremental

    Quotes with all columns (or selected columns), formatted values and custom columns.

  • Update quote
    Destination
    Duplicate protected

    Updates mapped columns of an existing quote (If-Match: * prevents an accidental create).

records
  • Create table row
    Destination
    Not retried automatically

    Creates a row in any table.

  • Get table row
    Source

    One row of any table by ID.

  • List table rows
    Source
    Incremental

    Rows of any table by entity set name, including custom tables.

  • Update table row
    Destination
    Duplicate protected

    Updates columns of an existing row in any table (If-Match: * prevents create).

  • Upsert table row by alternate key
    Destination
    Duplicate protected

    Creates or updates a row addressed by an alternate key, for example accounts(accountnumber='A-100'). Alternate key columns are not sent in the body.

sales orders
  • Create order
    Destination
    Not retried automatically

    Creates a order and returns the new row.

  • Get order
    Source

    One order by ID.

  • List orders
    Source
    Incremental

    Orders with all columns (or selected columns), formatted values and custom columns.

  • Update order
    Destination
    Duplicate protected

    Updates mapped columns of an existing order (If-Match: * prevents an accidental create).

system users
  • Get user
    Source

    One user by ID.

  • List users
    Source
    Incremental

    Users with all columns (or selected columns), formatted values and custom columns.

tasks
  • Create task
    Destination
    Not retried automatically

    Creates a task and returns the new row.

  • Get task
    Source

    One task by ID.

  • List tasks
    Source
    Incremental

    Tasks with all columns (or selected columns), formatted values and custom columns.

  • Update task
    Destination
    Duplicate protected

    Updates mapped columns of an existing task (If-Match: * prevents an accidental create).

whoami
  • Who am I
    Source

    Signed-in user, business unit and organization IDs.

Authentication

Microsoft Entra OAuth app (delegated) with a refresh token

Plans and access

Dynamics 365 Sales Enterprise, Premium or Professional; Dataverse Web API is included. Calls act as the user who authorised the Microsoft Entra application (delegated user_impersonation) and follow that user's security roles.

Test environment

Use a sandbox or trial environment; the API is identical.

Rate limits

Service protection limits per user per web server: 6,000 requests and 20 minutes of execution time in a 5-minute sliding window, 52 concurrent requests; HTTP 429 with Retry-After.

Provider events

Dataverse webhooks and Azure Service Bus registrations through plug-in steps. Nexra event triggers are not yet available; flows run on demand or on a schedule.

Before you build a flow

  • Delegated OAuth (refresh token) is used because the client-credentials scope must name the environment URL, which the runtime cannot template; application users are not supported yet.
  • Government clouds (crm9 GCC, microsoftdynamics.us, China) are not supported.
  • Contact preference columns (donotemail, donotbulkemail, donotphone, donotpostalmail, donotfax, msdyn_gdproptout) are read-only unless the explicit inputs are mapped.
  • Lead qualification, opportunity win/lose, order fulfilment and other actions (bound functions) are not automated; state changes go through statecode/statuscode columns only.
  • Creates have no idempotency key; uncertain creates are not repeated. Updates use If-Match: * so they never create; upserts by alternate key converge.
  • $filter is built only from validated column names, operators and literal values.
  • Deletes and associations through collection-valued navigation properties are not automated.