Microsoft Dynamics is a Customer Relationship Management (CRM) and Enterprise Resource Planning (ERP) software that provides enterprise solutions for creating and managing customer accounts, contacts, leads, opportunities, and cases. AEM Forms Data Integration provides an OData cloud service configuration to integrate Forms with both online and on-premises Microsoft Dynamics server. It enables you to create form data model based on the entities, attributes, and services defined in Microsoft Dynamics service. The form data model can be used to create adaptive forms that interact with Microsoft Dynamics server to enable business workflows. For example:
- Query Microsoft Dynamics server for data and prepopulate adaptive forms
- Write data into Microsoft Dynamics on adaptive form submission
- Write data in Microsoft Dynamics through custom entities defined in form data model and vice versa
AEM Forms provides an OSGi package for OData configuration that you can leverage to quickly integrate Microsoft Dynamics with AEM Forms. The package includes a cloud service configuration and a form data model with preconfigured Microsoft Dynamics entities and services.
Before you begin to set up and configure Microsoft Dynamics, ensure that you have:
- AEM 6.3 Forms Cumulative Fix Pack 1 and later
- An instance of one of the following Microsoft Dynamics versions:
- Microsoft Dynamics 365 online
- Microsoft Dynamics 365 on-premises
- Microsoft Dynamics 2016 on-premises
- Registered application for Microsoft Dynamics online service with Microsoft Azure Active Directory
- Client ID and client secret for the registered service
OData configuration package deploys a cloud service and a form data model that you can configure to connect to your Microsoft Dynamics server. To install the OData configuration package:
Open Package Manager and click Upload Package to upload the package. Select the package and click Install.
Microsoft Dynamics uses claims-based authentication to provide access to data on Microsoft Dynamics CRM server to external users. To enable this, do the following to configure Microsoft Dynamics for Internet-facing deployment (IFD) and configure claim settings.
Run the following commands using Windows PowerShell to configure claim settings on IFD-enabled Microsoft Dynamics:
$ClaimsSettings = Get-CrmSetting -SettingType OAuthClaimsSettings
$ClaimsSettings.Enabled = $true
Set-CrmSetting -Setting $ClaimsSettings
See App registration for CRM on-premises (IFD) for details.
Do the following to register an OAuth client on Active Directory Federation Services (AD FS) machine and grant access on AD FS machine:
Run the following command:
Add-AdfsClient -ClientId “<Client-ID>” -Name "<name>" -RedirectUri "<redirect-uri>" -GenerateClientSecret
- Client-ID is a client ID you can generate using any GUID generator.
- redirect-uri is the URL to the Microsoft Dynamics OData cloud service on AEM Forms. The default cloud service installed with the OData configuration package is deployed at http://[server]:[port]/etc/cloudservices/fdm/ms-dynamics-odata-cloud-service.html.
The MS Dynamics OData Cloud Service (OData Service) configuration comes with default OData configuration. To configure it to connect with your Microsoft Dynamics service, do the following.
(Microsoft Dynamics online only) Go to Microsoft Azure Active Directory account. Add the copied cloud service configuration URL in the Reply URL setting for your registered application. Save the configuration.
For details, see Update application settings from the Azure portal.
In the MS Dynamics OData Cloud Service (OData Service) configuration, click Edit to open the OData Service dialog.
Replace the default values in the Service Root, Client Id, Client Secret, OAuth URL, Refresh Token URL, Access Token URL, and Resource fields with values from your Microsoft Dynamics service configuration.
Specify dynamics instance URL in the Resource field. For example, http://org.crm.dynamics.com. You can click Show Advanced Options to view the Resource field. Use the Service Root URL to derive the dynamics instance URL. It is mandatory to set the Resource field to configure Microsoft Dynamics with a form data model.
Ensure that you specify openid in the Authorization Scope field for authorization process on Microsoft Dynamics.
Log in with your Microsoft Dynamics credentials and accept to allow the cloud service configuration to connect to Microsoft Dynamics service. It is a one-time task to establish connection between the cloud service and the service.
You are then redirected to the cloud service configuration page, which displays a message that OData configuration is successfully saved.
The MS Dynamics OData Cloud Service (OData Service) cloud service is configured and connected with your Dynamics service.
When you install the MS Dynamics OData Cloud Service (OData Service) package, a form data model, MS Dynamics FDM, is deployed on your AEM instance. By default, the form data model uses Microsoft Dynamics service configured in the MS Dynamics OData Cloud Service (OData Service) as its data source.
On opening the form data model for the first time, it connects to the configured Microsoft Dynamics service and fetches entities from your Microsoft Dynamics instance. The "contact" and "lead" entities from Microsoft Dynamics are already added in the form data model.
To review the form data model, go to Forms > Data Integrations. Select MS Dynamics FDM and click Open to open the form data model in edit mode. Alternatively, you can open the form data model directly from the following URL:
Next, you can create an adaptive form based on the form data model and use it in various adaptive form use cases, such as:
- Prefill adaptive form by querying information from Microsoft Dynamics entities and services
- Invoke Microsoft Dynamics server operations defined in a form data model using adaptive form rules
- Write submitted form data to Microsoft Dynamics entities
It is recommended to create a copy of the form data model provided with the configuration package and configure data models and services to suit your requirements. It will ensure that any future updates to the configuration package do not override your form data model.
For more information about creating and using form data model in business workflows, see Data Integration.