---
title: Microsoft Dynamics 365 Customer Insights Connector
description: Configure the Microsoft Dynamics 365 Customer Insights connector in PingOne DaVinci to create, retrieve, update, and delete contacts and leads through Microsoft Dataverse
component: connectors
page_id: connectors::microsoft_dynamics_365_customer_insights_connector
canonical_url: https://docs.pingidentity.com/connectors/microsoft_dynamics_365_customer_insights_connector.html
llms_txt: https://docs.pingidentity.com/connectors/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: October 23, 2026
section_ids:
  setup: Setup
  resources: Resources
  requirements: Requirements
  configuring-the-microsoft-dynamics-365-customer-insights-connector: Configuring the Microsoft Dynamics 365 Customer Insights connector
  connector-configuration: Connector configuration
  using-the-connector-in-a-flow: Using the connector in a flow
  managing-contacts-and-leads-in-a-flow: Managing contacts and leads in a flow
  capabilities: Capabilities
  getContact: Get Contact
  createContact: Create Contact
  updateContact: Update Contact
  deleteContact: Delete Contact
  getLead: Get Lead
  createLead: Create Lead
  updateLead: Update Lead
  deleteLead: Delete Lead
  makeCustomApiCall: Make Custom API Call
---

# Microsoft Dynamics 365 Customer Insights Connector

The Microsoft Dynamics 365 Customer Insights connector lets you create, retrieve, update, and delete contacts and leads in your PingOne DaVinci flow using the [Microsoft Dataverse Web API](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/overview).

The connector uses the Microsoft identity platform to authenticate with your Dynamics 365 environment, so that you can manage customer records as users journey through your flow.

## Setup

### Resources

You can find more information and setup help in the following:

* Microsoft Dynamics 365 documentation:

  * [Microsoft Dynamics 365 documentation](https://learn.microsoft.com/en-us/dynamics365/)

  * [Dataverse Web API reference](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/reference/about)

  * [Contact table reference](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/reference/entities/contact)

  * [Lead table reference](https://learn.microsoft.com/en-us/dynamics365/developer/reference/entities/lead)

  * [OAuth 2.0 client credentials flow on the Microsoft identity platform](https://learn.microsoft.com/en-us/entra/identity-platform/v2-oauth2-client-creds-grant-flow)

* PingOne DaVinci documentation:

  * [Adding a connector](https://docs.pingidentity.com/davinci/connectors/davinci_adding_a_connector.html)

  * [Using connectors securely](https://docs.pingidentity.com/davinci/connectors/davinci_using_connectors_securely.html)

  * [Using PingOne DaVinci flow templates](https://docs.pingidentity.com/davinci/flows/davinci_using_davinci_flow_templates.html)

### Requirements

To use the connector, you'll need:

* A Microsoft Dynamics 365 environment with access to the Dataverse Web API.

* A registered Microsoft application with a tenant ID, client ID, and client secret.

### Configuring the Microsoft Dynamics 365 Customer Insights connector

Add the connector in PingOne DaVinci as shown in [Adding a connector](https://docs.pingidentity.com/davinci/connectors/davinci_adding_a_connector.html), then configure it as follows.

#### Connector configuration

You can find the values for these settings in your Microsoft Dynamics 365 environment and your registered Microsoft application.

| Setting              | Description                                                                                                                          |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **Environment Name** | The unique name of your Dynamics 365 environment.                                                                                    |
| **Base URL**         | The base URL of your Dynamics 365 region, such as crm.dynamics.com. This value combines the region and base URL of your environment. |
| **Version**          | The Dataverse Web API version, such as v9.2.                                                                                         |
| **Tenant**           | The directory tenant of your Microsoft application, in GUID or domain-name format.                                                   |
| **Client ID**        | The client ID of your registered Microsoft application.                                                                              |
| **Client Secret**    | The client secret of your registered Microsoft application.                                                                          |
| **Grant Type**       | The grant type used to request access tokens from the Microsoft identity platform, such as client_credentials.                       |

## Using the connector in a flow

### Managing contacts and leads in a flow

You can use the connector to manage Dynamics 365 contacts and leads in a flow, such as creating a new contact based on an interested party's information, retrieving contact or lead details, or removing an inactive record.

At a high level:

1. The **Get Contact** and **Get Lead** capabilities retrieve information about a single contact or lead using the email address you specify.

2. The **Create Contact** and **Create Lead** capabilities create a new contact or lead using the first name, last name, email address, and phone number you provide. You can also add other record properties, such as job title, birth date, nickname, and mailing address, in **Contact Properties** or **Lead Properties**.

3. The **Update Contact** and **Update Lead** capabilities update an existing contact or lead using the record ID and the properties you want to change.

4. The **Delete Contact** and **Delete Lead** capabilities delete an existing contact or lead using the record ID.

5. The **Make Custom API Call** capability calls a Dataverse Web API endpoint that isn't available as a connector capability, using the endpoint, method, query parameters, headers, and request body you provide.

|   |                                                                                                                                                                          |
| - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|   | When creating or updating contacts and leads, the optional birth date property must be in ISO 8601 format, such as 2025-01-31. Incorrect formatting results in an error. |

Test the flow by clicking **Save**, **Deploy**, and **Try Flow**.

## Capabilities

### Get Contact

Retrieve information about a single contact

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Contact Email textField required
>
>   Email address of desired contact
>
> * default object
>
>   * properties object
>
>     * contactEmail string
>
>       Email address of desired contact.
>
> - output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Create Contact

Create a new contact

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - First Name textField
>
>   First name of new contact
>
> - Last Name textField
>
>   Last name of new contact
>
> - Email Address textField
>
>   Email address of new contact
>
> - Phone Number textField
>
>   Mobile phone number of new contact
>
> - Contact Properties keyValueList
>
>   Additional contact properties (optional)
>
> * default object
>
>   * properties object
>
>     * contactFirstName string
>
>       First name of new contact
>
>     * contactLastName string
>
>       Last name of new contact
>
>     * contactNewEmail string
>
>       Email address of new contact
>
>     * contactMobile string
>
>       Mobile phone number of new contact
>
>     * contactProperties array
>
>       Include additonal contact properties (optional)
>
> - output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Update Contact

Update an existing contact

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Contact ID textField required
>
>   ID of the desired contact (e.g. 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
>
> - Contact Properties keyValueList
>
>   Properties that will be updated for an existing contact
>
> * default object
>
>   * properties object
>
>     * contactId string
>
>       ID of the desired contact (e.g. 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
>
>     * contactUpdateProperties array
>
>       Properties that will be updated for an existing contact
>
> - output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Delete Contact

Delete an existing contact from your records

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Contact ID textField required
>
>   ID of the desired contact (e.g. 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
>
> * default object
>
>   * properties object
>
>     * contactId string
>
>       ID of the desired contact (i.e. 'contactid')
>
> - output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Get Lead

Retrieve information about a single lead

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Lead Email textField required
>
>   Email address of desired lead
>
> * default object
>
>   * properties object
>
>     * leadEmail string
>
>       Email address of desired lead
>
> - output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Create Lead

Create a new lead

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - First Name textField
>
>   First name of new lead
>
> - Last Name textField
>
>   Last name of new lead
>
> - Email Address textField
>
>   Email address of new lead
>
> - Phone Number textField
>
>   Mobile phone number of new lead
>
> - Lead Properties keyValueList
>
>   Additional lead properties (optional)
>
> * default object
>
>   * properties object
>
>     * leadFirstName string
>
>       First name of new lead
>
>     * leadLastName string
>
>       Last name of new lead
>
>     * leadNewEmail string
>
>       Email address of new lead
>
>     * leadMobile string
>
>       Mobile phone number of new lead
>
>     * leadProperties array
>
>       Include additonal lead properties (optional)
>
> - output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Update Lead

Update an existing lead

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Lead ID textField required
>
>   ID of the desired lead (e.g. 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
>
> - Lead Properties keyValueList
>
>   Properties that will be updated for an existing lead
>
> * default object
>
>   * properties object
>
>     * leadId string
>
>       ID of the desired lead (e.g. 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
>
>     * leadUpdateProperties array
>
>       Properties that will be updated for an existing lead
>
> - output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Delete Lead

Delete an existing lead from your records

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Lead ID textField required
>
>   ID of the desired lead (e.g. 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
>
> * default object
>
>   * properties object
>
>     * leadId string
>
>       ID of the desired contact (i.e. 'leadid')
>
> - output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object

### Make Custom API Call

Define a custom API call to Microsoft Web API

> **Collapse: Show details**
>
> * Properties
>
> * Input Schema
>
> * Output Schema
>
> - Endpoint textField required
>
>   Endpoint
>
> - Method dropDown required
>
>   The HTTP Method.
>
>   * GET
>
>   * POST
>
>   * PUT
>
>   * DELETE
>
>   * PATCH
>
> - Query Parameters keyValueList
>
>   Add query parameters and provide their values.
>
> - Headers keyValueList
>
>   Add HTTP headers and provide their values.
>
> - Body codeEditor
>
>   The raw JSON body, such as "{ "Username": "<jsmith@example.com>", "ProfileId": "00e8a0000024zkjAAA" }".
>
> * default object
>
>   * properties object
>
>     * endpoint string required
>
>       Server endpoint URL to where we send request
>
>     * method string required
>
>       Method
>
>     * queryParameters array
>
>       Query Parameters
>
>     * headers array
>
>       Headers
>
>     * body object
>
>       Body
>
> - output object
>
>   * rawResponse object
>
>   * statusCode number
>
>   * headers object
