Our Microsoft® Dynamics 365® integration is currently in beta. If you're interested in taking part, please get in touch with our Support team.
Details
Our Microsoft® Dynamics 365® (referred to as 'Dynamics' from now on) integration lets you sync your contacts into Vision6, allowing you to send email & SMS messages to your Dynamics contacts & leads, create automations and more.
'Leads' and 'Contacts' in Dynamics are both just referred to as 'Contacts' in Vision6; we do not differentiate between the two in our platform. However, you can sync the two contact types into separate Vision6 lists if desired - that way, you can trigger different emails, SMS messages & automations based on the entity type.
There are three primary functions of the integration;
- Syncing Dynamics 'contacts' into Vision6 as contacts
- Syncing Dynamics 'leads' into Vision6 as contacts, and
- Syncing Vision6 contacts into Dynamics as 'leads'.
Frequently Asked Questions
Q: Which Dynamics objects can be setup to sync into Vision6?
A: As mentioned above, only Dynamics 'leads' & 'contacts' can be synchronised. The synchronisation of other Dynamics objects is not supported.
Q: Can I sync contacts from Vision6 into Dynamics?
A: Yes! These will be created as 'leads' in Dynamics, and will be automatically added to whichever list you specify when you configure the integration. This is useful if, for example, you collect new contacts in Vision6 by way of an eNews subscription form, event RSVP form, etc.
Q: How often does the sync occur?
A: When the ‘Background syncing’ option is enabled, the integration will run every 6 hours. It is also possible to trigger the integration on demand by using the ‘Sync with Vision6’ button.
Q: Can I trigger Vision6 messages from within Dynamics?
A: No - emails & SMS messages cannot be triggered from inside Dynamics. However, you may wish to use our API to develop something to perform this specific function if desired.
Q: What happens if I add new Dynamics fields and want to have them sync into Vision6?
A: New fields can be added and configured using the 'Mapping' tab that is part of the ‘Sync Config’ screen.
Q: How are unsubscribes handled?
A: If a contact unsubscribes from an email they've been sent, they will also be marked as unsubscribed in Dynamics when the next sync occurs. You will see this reflected in a Dynamics field called 'Vision6 is Unsubscribed'- which will contain either 'yes' or 'no' value ('yes', if unsubscribed in Vision6). This boolean field indicates voluntary unsubscriptions within Vision6.
If you are working in Dynamics and would like to mark a contact as unsubscribed in Vision6, you can edit the Dynamics field called 'Unsubscribed Date from CRM'. Enter a date & time here and the contact will be automatically unsubscribed in Vision6 when the next sync occurs.
Both of these fields are visible in Dynamics against the contact (or lead) on the Vision6 information view.
Q: How many lists can be synchronised?
A: You can configure multiple pairings of Dynamics Marketing lists and Vision6 lists. Remember that each pair needs a unique field mapping. To prevent confusion and unexpected outcomes, it's best not to use the same Vision6 list in multiple sync configurations. We also recommend that each contact only exists once per list, to avoid any confusion.
Q: If I add new lists in Vision6, when will I see these changes in Dynamics?
A: List data in Vision6 syncs with Dynamics hourly.
Q: How many contacts can I sync at a time?
A: When syncing contacts from Dynamics to Vision6, we support approximately 100,000 contacts per sync - and when syncing contacts from Vision6 to Dynamics, we support approximately 50,000 contacts per sync. We may increase this in the near future.
Q: What happens when a Dynamics 'lead' becomes a 'contact'?
A: Provided you have setup field mapping for both 'contacts' and 'leads' within Dynamics, the synchronisation with Vision6 is not impacted when 'leads' are converted into 'contacts' in Dynamics.
Q: If Vision6 sends messages to contacts, can I see the 'send history' in Dynamics?
A: No, this isn't currently supported.
Q: Can I connect a single Dynamics instance to multiple Vision6 accounts?
A: No, this isn't currently supported.
Q: My integration has suddenly stopped working. Why could this be?
A: As you'll see in the "Part 2: Configuration" guide (below), Microsoft Entra requires an expiry date on any connections that you configure through its interface. As such, it is possible that this expiry date has passed and a new connection needs to be made.
Q: What automation trigger would I use for contacts syncing into Vision6 via Dynamics?
A: If you'd like to trigger a standard automation to contacts as soon as they appear in Vision6 after a sync event has occurred, you would use 'When a Contact is added from the API or Zapier' as the trigger - or, to trigger something based off contact data changing, you would use 'Update Profile' as the trigger. For users of our advanced automations, the triggers are 'JSON-RPC API Contact Created' and 'Update Profile', respectively. You can learn more about triggers & explore differences between standard & advanced automations via our Automation overview.
How-to Guide
Part 1: Installation
- Search the Microsoft AppSource for the Vision6 Managed Solution (searching for 'Vision6' should allow you to locate it).
- Click .
- Sign into Microsoft AppSource with your Microsoft credentials and follow the steps to connect & install the app with your Dynamics instance.
Part 2: Configuration
You must be Cloud Application Administrator (or higher) in Microsoft Entra ID to register an app - and you must be System Administrator inside the Power Platform environment.
To enable the Vision6 integration system to securely access and interact with your Dynamics data, you must configure the appropriate CRM credentials.
This typically involves providing details for a dedicated user account with the necessary permissions within Dynamics. These permissions allow the integration to read, create, and update relevant contacts and leads. Ensure that the user account has the correct security roles assigned to facilitate the intended data exchange.
Registering the Application in Azure Entra ID
- Sign in to entra.microsoft.com with an account that is both Cloud Application Administrator (Azure) and System Administrator (Power Platform).
- Go to Identity, then Applications.
- Next, select App registrations, then + New registration.
- Give the registration a clear name, such as "Vision6-D365-Integration".
- Keep the single-tenant as 'default'.
- Leave the Redirect URI field blank.
- When done, click .
- On the Overview blade, note down the Application (client) ID and the Directory (tenant) ID - we'll need these shortly.
Creating the Client Secret
- Still inside the registration area, open the Certificates & secrets section.
- Under Client secrets, select + New client secret.
- Add a short description (for example, “Vision6 integration”).
- Set an expiry that matches your policy; twelve months is Microsoft’s default.
You may wish to set a calendar reminder for the future to come back into this section to create a new secret and reconnect it (otherwise the integration will stop working). - Click .
- Immediately copy the value that appears - this is your Client Secret and it is only shown once. Treat is like a master password - so do not share it with anyone and store it in a password-manager or your Azure Key Vault.
Creating the Application User in Dynamics / Dataverse
- Open admin.powerplatform.microsoft.com.
- Select the environment that will run Vision6.
- Select Settings, then Users + permissions.
- Select Application users, then + New app user.
- Click Add an app, search for the Application ID you registered earlier (in our example, we named it "Vision6-D365-Integration").
- Select it and click .
- Accept the default business unit and click .
- Tick System Administrator, then press
Sync Configuration
Let's start with a few definitions...
- 'Sync config' is the area where you set up the required credentials and field mappings for the integration. If you want to sync multiple Dynamics lists with multiple Vision6 lists, you will need to set up multiple sync configs (one for each pair of lists).
- The 'Vision6 API Key' serves as an authentication token that grants the integration the authority to communicate with your Vision6 account. This key is essential for performing actions within Vision6, such as creating new contacts, updating existing contact details, managing lists, and potentially triggering other Vision6 functionalities based on activities within Dynamics.
- The 'Integration Key' is a unique identifier and authorisation mechanism for the Vision6 Microsoft Dynamics integration. This key verifies the legitimacy of the communication between the two systems and ensures that only authorised instances can exchange data. Treat this key with the same level of security as your other API keys, as it controls the data flow between your Dynamics and marketing automation platforms.
Let's set it up...
- In Dynamics, open the Vision6 app (the one you installed from Microsoft AppSource at the start of this guide).
- Select Sync Config from the sidebar.
- Select .
- Enter a Name for the sync config - we recommend using a name that identifies the Dynamics list and where it's going in Vision6, so that it's obvious to everyone. For example, "Sync Leads to Vision6 eNews list" if you are syncing your Dynamics list called 'leads' into the Vision6 called 'eNews'.
- Next, we need to setup the integration key. Locate the Integration panel and click the Send us an email link to request your Integration Key from our support team.
- Next, we'll connect the integration with Vision6. Leave the Dynamics screen open for now, and in a new browser window or tab, log into your Vision6 account then follow this guide to create your Vision6 API key. Securely note down the key, as it is only shown once.
- Back in Dynamics, locate the Vision6 panel & enter the API details into the corresponding fields.
- Further down the page, you will see the CRM section and three fields; TenantID, ClientID and ClientSecret.
- Paste the values (that you noted down earlier) into the relevant fields.
- Click .
Part 3: Mapping Fields & Lists
Feld mapping configuration is a critical step that defines how data fields in Dynamics correspond to (and sync with) the fields in your Vision6 account. This process ensures that data is accurately transferred and correctly interpreted by both systems.
You will need to specify which Dynamics fields should be synchronised with their equivalent (or intended) fields in Vision6. This may involve mapping standard fields, such as first name, last name, email address, and phone number - as well as custom fields that you may have created in either system. The Vision6 integration provides an interface where you can visually define these mappings.
We recommend that someone regularly reviews and updates your field mappings if you add new custom fields (or modify existing ones) in either Dynamics or Vision6.
- In Dynamics, open the Sync Config section.
- Select Mapping.
- Select the NewMappingCRMandVision6 option.
- A Quick Create menu will appear, enabling you to establish the mapping between a Dynamics field and a Vision6 field. When registering a field for the first time with the integration, you can create a new field in either Dynamics or in Vision6 by using the New option (from the bottom of the popdown menu).
- Ensure that the field names in both Dynamics and Vision6 are identical - including spaces and special characters. The LogicalName is optional (if not provided, the integration system will run a lookup for the logical field name for you).
The full list of mapping configurations can be found in the Dynamics sidebar, under the Field Mapping option. - Next, we'll configure the list mapping. Select Vision6 Lists from the sidebar in Dynamics.
Only 'Lead' and 'Contact' Marketing Lists in Dynamics can be selected, as these are the only objects we can sync with the integration. - Locate the CRM Marketing List field and select your Dynamics list.
- In the next field, titled Vision6List, select the corresponding Vision6 list to sync to. The sync configuration is now ready to run!
- Repeat this configuration process for any other list sync pairs if required.
What Happens When You Create & Save a New List Mapping?
When creating a new configuration for a Contacts or Lead Marketing List, the flow will work as follows:
- All new Contacts or Leads created or modified after the last synchronisation time, will be pushed to Vision6.
- When you integrate with Dynamics, two columns will be automatically added to your Vision6 list. These are _d365_id and _d365_entity_type. These columns are essential for the integration to properly track the internal Dynamics IDs - which is necessary for updating and deleting records. DO NOT DELETE these fields from the Vision6 list or the contacts will go out of sync.
- Any Contacts or Leads removed from the Marketing List will also be removed from the Vision6 list at the time of the next sync.
- Contacts can be unsubscribed from Dynamics and also from Vision6. This field is bi-directionally synced (refer to the FAQ at the top of this guide for more details).
Part 4: Triggering the Sync
There are two ways to trigger the sync between Dynamics and Vision6; either an automated background sync job (recommended) or a manual sync; these options are outlined in more detail below.
You can also monitor the integration's most recent activity in two ways. The Last Integration Run field displays the date and time of the last successful integration with Vision6. Alternatively, the Last Integration Results field provides a JSON response containing three key data sections, which is useful for debugging purposes:
- d365ToV6Summary: Details the data transferred from Dynamics 365 to Vision6.
- v6ToD365Summary: Details the data imported into Dynamics 365.
- deletionSummary: Lists any deletions performed within Vision6.
Automated Background Sync (Recommended)
This will automatically run a scheduled job every 6 hours.
- In Dynamics, open the Vision6 app (the one you installed from Microsoft AppSource at the start of this guide).
- Select Sync Config from the sidebar.
- Locate the Sync Config you wish to edit then click on it to open it.
- In the Vision6 section, set the Background Syncing field to Enabled.
- Press . The integration will be set to run every 6 hours.
Manual On-Demand Sync
The integration can also be triggered on demand by clicking
on the main Vision6 integration menu within Dynamics. Once selected, a modal will appear to indicate that the request to run the sync has been submitted successfully.