Sending Sitecore web form submissions to your CRM is the primary objective of many websites. It's very important then, that the lead capture process should be flexible, scalable, easy to configure, and graceful in failure.
FuseIT's new Sitecore to Microsoft Dynamics 365 integration (S4D) benefits from over 12 years of experience mapping Sitecore forms to Salesforce. First and foremost S4D accommodates the plethora of mapping scenarios e.g. populating staging objects, handling lead conversion, testing fields before overwriting, identifying duplicates, and many more. The way to meet these needs is to move away from blind syncing - a process that updates an endpoint without rhyme or reason. S4D transacts in real-time which makes almost anything possible.
S4D mapping wizards are connected to web form submit actions rather than the Sitecore form itself. This enables the use of multiple submit actions that can be connected together by workflow. Out-of-the-box, S4D has two submit actions, each with an associated wizard.
- S4D Identify Contact Submit Action transacts data between the Sitecore web form and xDB
- S4D Save to Dynamics Submit Action transacts data between the web form and Dynamics 365
S4D Identify Contact Submit Action
This Submit Action is push/pulls visitor identification data to/from xDB. The associated wizard pops up when the Submit Action is added to a form:
The wizard and submit action have three features.
Capture an identifier
When a visitor completes a Sitecore web form, there is often a need to store the value in a form field in the visitor's Sitecore xDB contact record. This is usually an identifier e.g. an email address but it could be any other form field. Once captured in xDB, the identifier can be used in future visits e.g. identifying a visitor who arrives via an email clickthrough.
Publish the AliasId
The second function is to populate a web form field (usually hidden) with the Sitecore AliasId. If a prospect visits the website on several occasions using different devices e.g. a desktop browser and a smartphone, Sitecore tries to determine if they are the same person. If it identifies them as the same visitor, the AliasId of the first visit is assigned to the second. By adding this value to a form field, it can be pushed to Dynamics 365 on subsequent submit actions. Having the AliasId as a key field in Dynamics enables data, like Sitecore analytics, to be synced to Dynamics using a scheduled task.
Capture identifier form field values in xDB
S4D has the option to save the form fields, email address, first name, and last name to the built-in Sitecore "Preferred Email" and "Personal Information" facets. This enables editors to use the facet data with Sitecore EXM and email marketing.
S4D Save to Dynamics Submit Action
This action transacts data between the Sitecore web form and selected entities in Dynamics 365. Again, the wizard pops up when the Submit Action is added to a form.
Transact with any Dynamics 365 instance
Companies often have more than one Dynamics 365 instance so the wizard can select which instance the form should be mapped to.
Transact with any entity in Dynamics 365
After an instance has been selected, S4D lets editors choose a Dynamics 365 entity to create or update when the form is submitted. An update will occur if a form field with a matching rule has a value that matches a value in the chosen Dynamics 365 entity. Multiple key fields can be selected for matching e.g. email address and first name.
Transact with multiple entities in Dynamics 365
By chaining S4D submit actions, a single form can insert or update multiple entities in Dynamics. Each action can point to a different endpoint entity. Actions also have configurable logic to compare the values in form fields against preset values to determine if the action should be executed or skipped (to the next submit action).
Immediately after a Dynamics 365 entity has been created or updated, the entity id is returned to a form field (usually a hidden field). This is useful for referencing a second save action to the first e.g. when creating a parent-child relationship in Dynamics 365.
"Only create a task if a lead can be created or updated."
This requires two submit actions, one to create or update a lead and another to handle the task. The Conditions section of the first submit action (see above) requires a leadid from Dynamics before a task is created or updated by the second action.
"Map to a different Dynamics entity if a form field matches a preset value."
Again, this requires two submit actions. In the first submit action, if a form field value matches a preset value, Entity 1 will be created in Dynamics then the second submit action will run. If the same form field value does not match the preset value then Entity 2 will be created in Dynamics.
Submit the same value to different Dynamics 365 fields
A Sitecore form field can be mapped to more than one Dynamics 365 field. This helps keep key data in Dynamics 365 from being accidentally overwritten.
Protect Dynamics 365 fields from being overwritten
A Sitecore form field can be configured to not overwrite the mapped Dynamics 365 field value unless it is empty. This helps protect important data in Dynamics 365.
Retain form values if the submission fails
If you are wondering why a web form submission would fail, picture an excavator digging near your data center. It is possible for visitors to access the website even if the connection between the site and Dynamics 365 is down. This scenario does not cause the loss of form data being submitted to Dynamics. If G4D detects a connection loss, it can be configured to send an administrator an email containing the form field names and field values. This data can also be captured in Sitecore or in a dedicated database.
Upload files to Dynamic 365 attachments
Visitors often need to attach documentation to their form submissions. A good example is attaching a resume (CV) to an online job application. S4D pushes the uploaded document to the mapped Dynamics 365 entity where it appears as an attachment.
Auto-add a lead or contact to a Dynamics Marketing List
Visitors who complete a given Sitecore form can be auto-added to a Dynamics 365 Marketing List. The mapped entity must be able to be associated with a Marketing List e.g. a lead or contact.
Handling Converted Leads
In Dynamics 365 leads can be converted to contacts during the qualification process. During conversion, the lead field values get mapped to their equivalent contact fields.
The save action automatically recognizes when an existing Lead has been converted and attempts to update the same fields on the Contact instead. If a field with the same name does not exist in the contact entity, the field cannot be updated.
Submit to either Dynamics or Salesforce
Two submit actions are required, one S4D action and one S4S action (this requires S4S for Sitecore 10.2 to handle the Salesforce submission). Again, the conditional logic compares the values in a form field against preset values to determine if the first action should be executed or skipped. The second action is configured to do the opposite.
Abort form submission if Save To Dynamics fails
This option halts processing if the Save To Dynamics submit action fails. No subsequent submit actions will be run. When the error is generated in the log file, an email can be dispatched to a nominated recipient showing the form field descriptions and values captured before the failure occurred.
The ability to push Sitecore analytics to Dynamics 365 is expected in Q3 2022.
Beyond Sitecore Forms
S4D has an API that enables Sitecore developers to easily exchange data with Dynamics 365 in real-time. The APIs allow existing functionality to be extended or the creation of new features. Both standard and custom Dynamics entities can be created, read, updated, and deleted using generic or strongly typed syntax.
FuseIT specializes in Sitecore to CRM integration. Our enterprise S4D integration enables the real-time exchange of data between Sitecore and Microsoft Dynamics 365. Please contact us for more information or to see a demo of S4D in action.
* Friday in the US is
Saturday in New Zealand.