- Destinations
- CRM
Microsoft Dynamics
Overview
Section titled “Overview”Signals writes leads captured on an ad platform or a form straight into Dynamics 365, so they are available for follow-up without an export step.
Signals maps each lead form field to a Dynamics field and creates the record with the platform lead ID attached, which is what lets you tie a Dynamics record back to the ad that produced it.
This connector takes the most setup of the CRM destinations, because Dynamics authenticates through an Azure app registration rather than a sign-in. Expect to need someone with Azure access alongside you.
Supported sources
Section titled “Supported sources”Sources supported by Microsoft Dynamics
| Category | Supported |
|---|---|
| Lead generation |
Prerequisites
Section titled “Prerequisites”Before connecting Microsoft Dynamics, make sure you have:
- A Microsoft Dynamics 365 account.
- An application registered in Microsoft Entra ID, formerly Azure Active Directory, with a client secret generated.
- The Dynamics domain name, web API endpoint, application client ID, client secret and tenant ID. See the table below for where each comes from.
- A field in the Dynamics module you are writing to, to hold the lead ID from your source. Create it before you start.
- A Datahash Studio account with the target project selected.
- A lead generation source already connected in the same project.
Authentication
Section titled “Authentication”In Studio, open Destinations, find the CRM category, and click the MS Dynamics tile. This connector uses application credentials from Azure rather than a sign-in.
- Choose the authentication type.
- Enter the five credential values.
- Click Validate Credentials. The connection is checked before the setup completes.
| Field | Where to find it |
|---|---|
| Dynamics Domain Name | The domain of your Dynamics 365 account. It is visible in the browser address bar once you are signed in. |
| Web API Endpoint | The service URL used for authentication. In Microsoft Power Apps, open Settings, then Developer Resources. |
| Application Client ID | The identifier assigned to your application when it was registered in Microsoft Entra ID. |
| Client Secret | The secret generated for that application registration. It is shown once at creation and cannot be retrieved afterwards. |
| Tenant ID | Also called the Directory ID. It identifies your Entra ID tenant. |
Configuration
Section titled “Configuration”Source and connection
Section titled “Source and connection”- Choose the source type, which is the lead platform or form the leads come from.
- Select the connection name created when that source was set up.
- Give this destination connection a name.
Leads are written to the module configured for the connection. Create the lead ID field in that module before you begin, since the mapping step will not complete without it.
Field mapping
Section titled “Field mapping”The mapping screen puts your lead form fields on the left and the Microsoft Dynamics schema fields on the right.
Two rules apply to every mapping on this connector.
- The lead ID from your source must be mapped. It is named after the platform the lead came from, for example Meta Lead ID or TikTok Lead ID, and it is the only field that has no substitute.
- Every field your CRM marks as required, shown with an asterisk in the mapping screen, must be mapped as well. An unmapped required field fails the record rather than the connection, so the setup will look healthy while leads quietly do not arrive.
Map as many further fields as you need. Anything you leave unmapped is simply not written.
Test connection and response preview
Section titled “Test connection and response preview”Click Test Connection before finishing. This sends a sample record into Microsoft Dynamics, so the test lead lands in your live CRM and someone will need to remove it afterwards. Once the test passes, click Finish.
Manage instance
Section titled “Manage instance”To add another, open Manage Connections and click Add Instance, then work through the same steps. A CRM can hold several instances, so one connection per lead source is a reasonable pattern where the mapping differs between them.
To change one, click the connection name in Manage Connections, then the edit icon in the top right. Update the fields, click Test Connection and then Finish. Clicking Cancel keeps the previous configuration running; updates apply only after you finish.
Data & identifiers
Section titled “Data & identifiers”Lead data is written into your own CRM, so nothing is hashed on the way. What arrives is what the lead form captured, in plain text, which means the CRM’s own access controls and retention rules are what govern it from that point on.
There is no fixed field specification for this destination. The fields available to map are whatever your lead form captured on one side and whatever your CRM schema exposes on the other, so the shape differs from one connection to the next.
Best practices
Section titled “Best practices”- Record the client secret expiry date when you create it. An expired secret is the most likely reason a working Dynamics connection stops.
- Register a dedicated application for Datahash rather than reusing one shared with other integrations, so the secret can be rotated without affecting anything else.
- Get the five values from whoever administers Azure before you start the setup, rather than part way through.
- Create the lead ID field in the target module before you begin.
- Map every field marked with an asterisk. Records missing one are rejected without the connection changing state.
- Remove the test record after Test Connection passes.
Troubleshooting & FAQ
Section titled “Troubleshooting & FAQ”Validate Credentials fails. Work through the five values one at a time. The web API endpoint and the tenant ID are the two most often confused, and a client secret pasted with trailing whitespace will also fail.
The connection worked and then stopped. The client secret has almost certainly expired. Generate a new one in the app registration and update the connection.
I cannot find the client secret again. Dynamics shows it once at creation. Generate a new secret rather than looking for the old one.
Leads are not arriving. Confirm the source is connected in the same project and receiving leads, and that the connection was finished rather than left open.
Some leads arrive and others do not. The ones failing are missing a value for a Dynamics required field.
A test record is sitting in Dynamics. That is the sample sent by Test Connection. Delete it manually.

