Microsoft Dynamics 365 is an enterprise CRM platform. Follow the steps below to connect Dynamics to Enginy and configure the integration.
To set up your Dynamics integration:
Go to Integrations and open the All tab (or the Disabled tab).
Locate the Dynamics card and enable it using the toggle switch.
Click the Configure button on the Dynamics card.
A floating setup window opens with four sequential steps.
Important: You can only have one CRM integration active at a time. If another CRM is already active, disable it first.
Step 1: Sync Configuration
This step defines how Enginy matches contacts and companies with your Dynamics records to prevent duplicates and ensure data integrity. A sync means Enginy compares its records against Dynamics records using the identifiers you configure here.
Integration User
It shows the email address of the account used to authenticate the Dynamics connection.
Enginy uses OAuth 2.0 (Microsoft MSAL) to connect to your Dynamics 365 environment. Your credentials are never stored in plain text — only encrypted tokens are retained, and they refresh automatically in the background.
Note: If the token expires (e.g., after a password change or 90+ days of inactivity), Enginy will show an in-app notification asking you to reconnect.
Contact Identifier
Choose how Enginy determines whether a contact already exists in your Dynamics.
Option | Matching Logic |
First name + Last name + Company name | A contact matches when all three fields are the same in both Enginy and Dynamics. |
LinkedIn profile URL OR First name + Last name + Company name | A contact matches if the LinkedIn profile URL is the same or all three name/company fields match. |
Custom Mapping | Opens a pop-up where you define custom conditions using AND/OR logic (for example, match by First Name AND Last Name, OR by Professional Email). |
Company Identifier
Choose how Enginy determines whether a company already exists in your Dynamics.
Option | Matching Logic |
Domain | Matches on the company domain (e.g., |
Domain or Company Name | Matches if either the domain or the company name is the same. |
Custom Mapping | Opens a pop-up where you define custom conditions (for example, match by Domain OR Company LinkedIn URL). |
General
Under General, you'll find two toggles that control how associations are handled during export:
When exporting contacts, associate them with companies in Dynamics: If enabled, Enginy will automatically link exported contacts to their corresponding companies in Dynamics.
When exporting companies, associate them with contacts in Dynamics: If enabled, Enginy will automatically link exported companies to their related contacts in Dynamics.
Step 2: Field Mapping
This step configures which Enginy fields map to which Dynamics fields when exporting data. The setup is split into two tabs — Contacts and Companies — and the mapping configuration works the same way in both.
Field Types
Field Type | Description |
Enginy Fields | Standard fields from your contact or company lists (e.g., Phone Number, Job Title). Click Add field to add a mapping: select the Enginy field first, then the corresponding Dynamics field. |
Fixed Value Fields | Fields that always export with the same static value. For example, create a field called "Source" with fixed value "Enginy" so every exported record is tagged with its origin. |
Manual Export Fields | Fields whose value you define at the time of export. Click Add field, select the Dynamics field to be set when exporting. As many as you want. |
Engagement Fields | Fields populated when an Activity is created in Dynamics (e.g., an email sent, a LinkedIn message, or a Task log). Select the Dynamics field and set the Value to export. Only one can be set. |
Warning: Don't map a Company field in the Contacts tab (or a Contact field in the Companies tab). This can cause export errors. If you must map the same field in both tabs, make sure it's mapped the same in both places.
In each Dynamics field mapping dropdown, you'll see small status icons indicating whether the mapping is supported, not supported, or supported with limitations / a workaround.
Icon | Meaning |
Blue check | The mapping is okay, has no potential problems. |
Yellow exclamation | The field types in Enginy and Dynamics may be incompatible (e.g., an Enginy Text field mapped to a Dynamics Enumeration field). |
Red X | The mapping can't be applied because the types don't match — or because the Dynamics field is read-only and can't be updated. |
Mapping Options
Option | Behaviour |
Enginy overwrites Dynamics | Changes in Enginy automatically overwrite the corresponding fields in Dynamics. |
Sync with Dynamics | Data only syncs automatically when the destination field is empty, preventing overwriting existing values. |
Step 3: Campaign Mapping (Optional)
This step lets you sync campaign-specific properties to Dynamics. These are not standard list fields; they are properties tied to campaign activity.
Sequence
Property | What It Contains | Example Value |
Campaign Sequence Details | The steps included in the campaign. |
|
Campaign Engagement Status | The current status of each lead in the campaign. |
|
Sequence Status | The overall status of the campaign sequence for the lead. |
|
Campaign Reply Analysis | Indicates per-message whether the lead replied to each automated message. |
|
Email
Property | What it Contains | Example Value |
Campaign Opens | Total number of times a lead has opened one or more emails in the campaign. |
|
Campaign Clicks | Total number of times a lead has clicked a link in campaign emails. |
|
Campaign Open Analysis | Indicates per-message whether the contact opened that specific email. |
|
Campaign Click Analysis | Indicates per-message whether the contact clicked a link in that specific email. |
|
General
Property | What it Contains | Example Value |
Campaign | All Campaign names the contact has been added to. |
|
Senders | All sender names that have contacted the contact. |
|
Activities | All activities that have occurred with the contact. |
|
Conversation Tags
Property | What it Contains | Example Value |
Conversation Tags | All conversation tags applied to the contact (comma-separated). |
|
Conversation Tags Categories | Categories of conversation tags: POSITIVE, NEUTRAL, NEGATIVE (comma-separated). |
|
Step 4: User Mapping
This final step defines the associations between Enginy users/identities and Dynamics users so that exports and activity logs are attributed to the correct people.
Identities Mapping
An Identity in Enginy is the profile that runs a campaign (for example, a LinkedIn profile or an email sender). Identities Mapping links each Enginy identity to a Dynamics user.
When a campaign performs a sync or export, the Dynamics activity log shows the associated Dynamics user as the one who executed the action.
Users Mapping
Users Mapping links an Enginy user account to a Dynamics user. This sets the default owner for any record exported by that user — even for automatic exports via field mappings, not just manual exports.
If Dynamics users have different permission levels, this association respects those limits. A record exported by an Enginy user is owned by the mapped Dynamics user and governed by that user's permissions.
Default CRM owner
This mapping sets a default Dynamics owner (contact or company owner) for exports performed by an Enginy user who isn't mapped in User Mapping.
Save Your Configuration
After completing all four steps, click Update to save your Dynamics configuration.












