HomeGuidesAPILog In

Dynamics 365


Contact your sales representative if you are interested in obtaining a license for the Microsoft Dynamics Connector Module for your SmartIQ environment.

The MS Dynamics 365 Connector has been developed to provide an integrated experience for customers by integrating SmartIQ with MS Dynamics 365 using the Dynamics actions. The SmartIQ Connectors for Dynamics 365 include several integration components which support Data Connections. This enables pulling data from Dynamics to consume in SmartIQ forms and Actions which provide the functionality to push data from SmartIQ forms to MS Dynamics 365.


Understanding the Dynamics Data model

A useful resource for information about your MS Dynamics 365 environment can be found in the Customizations area of Dynamics, accessed from Settings > Customizations > Customize the System. This displays all components in your MS Dynamics 365 environment, including Entities, Relationships, Fields and Option Sets that can be extremely useful in configuring both the Data Source and Actions for MS Dynamics 365 within the SmartIQ system.

The MS Dynamics 365 Data Source for SmartIQ is used to read data from the MS Dynamics365 environment. This is useful for bringing back entity records, such as contacts, to populate drop-down lists in an SmartIQ web form, or to populate a web form with the specific entity information from MS Dynamics 365. It can also be used to make decisions dynamically based on data in MS Dynamics 365. For example, based on the contact type in MS Dynamics365, you may wish to ask additional questions in the web form.

The data source can also be used to automatically fill entity data in generated document outputs from SmartIQ such as Word or PDF documents, emails and other communications. You can easily read data from multiple related entity records and can add as many data questions to a SmartIQ project as needed. You can also read data from custom entity types you may have added to your MS Dynamics 365 environment. The MS Dynamics 365 Data Source also allows you to read data from Option Sets in your MS Dynamics 365 environment. This is often useful for automatically populating drop-down lists in the SmartIQ form for user selection.

Configuring Dynamics Data Connections

  1. In a web browser, go to Manage > Data Connections.

  2. Click the New Data Connection button, and complete the connection information.

Data Connection NameType a name for the data source.
Connection TypeSelect Dynamics 365 from the drop-down list.
  1. Click Save to save the details provided and Test Connection to confirm it can connect successfully to your MS Dynamics 365 environment.

  2. Click Data Objects to add a new data object.

  3. Enter the entity name in the Data Object Name/Definition field. The matching entities will get populated in a drop-down list and select a particular entity.

  4. Enter a name in the Display Name field for this data object.

  5. Select the required Available Fields and click Add. The Dynamics data source can now be used in the project by adding a Data Source - Question Type to the page as a data source.


Best Practice

To enhance performance, it is best practice to specify the fields of an entity which are to be pulled from Dynamics.

For example, you can specify the contact [contactid|firstname|lastname|telephone1|emailaddress1|address1_line1|address1_line2|address1_line3] in the Data Object Name / Definition and this data source will only pull the data from specified fields from Dynamics.

Configuring Custom Display Fields for Dynamics Data Connections

A custom display field for Dynamics Data Connections can be defined in the Data Object Definition using the following syntax:entityname [fieldname|ConcatField:static text {fieldname} {fieldname}]

Example 1: Suppose we want to create a custom display field of Contact entity called FullNameFormatted, which is a combination of firstname and lastname under this format: firstname, lastname. Along with FullNameFormatted, we also want to display contactid in our Data Connection.

The Data Object Definition should look like this:

contact [contactid|FullNameFormatted:{lastname}, {firstname}]

Notice in the result we now have contactid, firstname, lastname and FullNameFormatted displayed:

Example 2: Suppose we want to create a custom display field of Account entity called AccountNameFormatted, which is a concatenation of name value and the word "Account". Along with AccountNameFormatted, we also want to display accountid in our Data Source.

The Data Object Definition should look like this:

account [accountid|AccountNameFormatted:{name} Account]

Notice in the result we now have accountid, AccountNameFormatted, and namedisplayed:

While the action providers are included, they will not be called until a project is set up in SmartIQ with one or more of the MS Dynamics 365 actions, with action attributes that instruct the action providers on how to behave. These action attributes can be set up with fixed values within Design, or they can be set up to refer to values collected via the question set during the generation process.


MS Dynamics 365 connections can fail due to a number of reasons. Some of the common issues for failure include:

  • Invalid connection strings.
  • Data integrity issues in passed data in actions. For example, not passing mandatory fields when creating an entity.
  • Network issues between SmartIQ server and the Dynamics instance.


Best Practice

Whenever you are debugging, make sure that you have set the Debug Mode [true|false] to true in the connector settings in Manage. This will result in detailed logging of the action execution.

The first place to investigate is the Management tab of SmartIQ Manage if you encounter issues when using the Dynamics connector. You will see the record for your execution.

For example, in the below screenshot you can see a project 'Testing Dynamics Connection' is executed by user 'admin' and the status is 'Completed'.

To see the logs for this execution, click View, where you will see the logs for this execution as shown in the below screenshot. You will see the Level as 'Warning' for error. Read the Description to know the reason for this error.