Dialogs are the synchronous/interactive processes in Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online that collect and process information by using step-by-step scripts to direct users through a process.
Dialogs have been enhanced in Microsoft Dynamics CRM Online R7 (Microsoft Dynamics CRM 2011 UR 5) to enable enhanced interaction with existing entities and records in the CRM system. The enhancements are covered in 3 parts below.
Smart Form experience at Runtime
In Microsoft Dynamics CRM 2011, data entered in the prior pages was retained when one navigated back using the Previous button. However, navigating forward using the Next button would cause the next page to be refreshed resulting in the user having to re-enter any data provided previously. This turns out to be a significant problem in time critical business processes like on-call customer interactions.
In Microsoft Dynamics CRM Online R7 (Microsoft Dynamics CRM 2011 UR 5), the data entered by the user is always retained, be it while navigating forward or while navigating backwards. In addition, to align with real world scenario needs, user entered data is overridden with server side values if it is dependent on previous page values (which are modified by user). The end user is informed of this override via the page level and per-prompt level alerts indicating that the content of prompt, response or tip have changed.
The data entered by user would be replaced with server side data if:
- The content of Prompt or Tip changed due to data slugs evaluating to different value AND/OR,
- The response data set (from Query step) or the default value changed.
For example, consider the dialog shown below. The dialog expects the customer to declare the annual household income to determine what Credit Cards the customer is eligible to be offered.
Screenshot: Back to Page 1 and changing data
Screenshot: Page 2 is refreshed with new data for the first Prompt & Response but retains data for the second one
Enabling hyperlinks to CRM Records
Dialogs supported static hyperlinks in Microsoft Dynamics CRM 2011 via the Insert Hyperlink dialog. This allowed for having static links to pages from within the Dialogs runtime experience. One could further enhance this by modifying the XML like string placed in the prompt of tip text upon using the Insert Hyperlink button to embed slugged query parameters and generate pseudo-dynamic URLs. However, one was not able to obtain URLs to CRM records created as part of the Dialog (or related CRM records).
Microsoft Dynamics CRM Online R7 (Microsoft Dynamics CRM 2011 UR 5) has a very unique solution to this limitation. Data Slugs - One can now use data slugs for Text to Display and URL fields in the Inset Hyperlink dialog. In addition this enhancement has been made available in the Email Content Rich Text Editor of the Send Email Step in Dialogs and Workflows. Data slugs can be obtained for attributes of the primary entity, related entities and records local to the dialog (records from Response values, Create Record Step, Variables and Input Arguments).
A new dynamic attribute Record URL is made available that evaluates to the URL of the record. This new attribute is available in the Form Assistant not just in the Insert Hyperlink dialog but across Dialogs authoring experience. For Internet Facing Deployments, the external facing URL of the specified record is evaluated. One can still enter static URLs in the format <Protocol><Address>. Please note that protocol is mandatory, if not the URL will result in a self-link URL at runtime.
Screenshot: Insert Hyperlink in Send E-mail step
More CRM Data types: Date, Date Time and Lookup type attributes
Microsoft Dynamics CRM 2011 allowed use of integers, floating point numbers, strings and forms of these as data types in Variables, Input Arguments and Prompt & Response steps. In addition, one was able to use Query Step values to obtain handle on records.
One can now use Date, Date Time and Lookup type attributes of entities in Variables, Input Arguments and Prompt & Response steps. While Date and Date Time are self-explanatory, Lookup type attributes may require some explanation to illustrate its correct usage.
Screenshot: New data types supported in Variables, Input Arguments and Prompt & Response Steps
On choosing Lookup as the data type, one is presented with two drop-downs: Reference Entity and Reference Field. On selecting an entity in Reference Entity, the Reference Field drop-down populates itself with all lookup type attributes of the chosen entity. By selecting one of the Reference Field values, one would be able to add a lookup of that record type which is represented by the chosen Reference Field value.
Screenshot: Using customer lookup attribute of case entity
For instance, if Account is the chosen entity attributes like Owner, Parent Account, Primary Contact etc. are populated in the Reference Fields drop-down. Selecting Primary Contact from Reference Field drop-down allows one to add lookup to Contact records in the system. Similarly choosing Owner from the Reference Field drop-down allows one to add a multi-entity lookup consisting of User and Team records in the system. The key is to identify the correct Entity-Field combination to represent your lookup record needs.
Please note that one needs to assign a value for Lookup type Variables using the Assign Value Step before using the variable. This is required as one cannot set a default value for Lookup type Variables.
At runtime, a Lookup control that allows selection of records from entities as defined by the Reference Field type selected is rendered. In the above example, since we chose to use the Customer attribute of Case Entity, we get to select Account and Contact records using the lookup rendered.