- Dialogs are a collection of pages which contains a set of Prompts and Responses.
- Dialogs are synchronous.
- Dialogs need to be initialized by the user using the CRM Online system.
- Requires user input at stages to run to completion. Much like a wizard.
Components of a Dialog
- It is a basic unit of a dialog. More like a visual container. Usually there are multiple pages in a Dialog that guide the user through a process to get certain tasks done.
- Each page can have multiple prompts and responses.
Prompt & Responses:
A Prompt asks a question to the end user and captures response.
Response has a data type that is provided in order to specify what input should be fetched by the system. They are:
- None – No response is required. Used for introductory purposes.
- Single Line – A single line of text, integer or float values. A textbox is displayed to fetch this.
- Radio button – Predefined responses shown to select only 1 among them.
- Picklist – A drop down menu.
- Multi-Line of text – Multiple lines of text input is supported.
- Date and Time – Date & Time input used like in CRM forms.
- Date Only – only date can be selected.
- Lookup – Specifies an entity record.
The user response for each Prompt and Response step is stored as a step variable, and can be used later in the dialog flow.
Static and dynamic hyperlinks can also be added. For static hyperlinks, you need to specify the full URL. Dynamic hyperlinks, however, can be used in any text field. These hyperlinks refer to an entity record in CRM.
Tips help in specifying information for each prompt and response that helps the user in responding to the prompt. Tips are optional.
Input Arguments and Variables
Two more important components in Dialogs.
- Input Arguments are used to pass data between parent and child dialogs.
- Input Arguments are defined for the child dialogs and data is passed onto them. This is linked by adding a Link Child Dialog step in the parent dialog. And then, the required responses can be mapped with the input arguments in the child dialog.
- Simple arithmetic and string operations can be carried out by using Assign Value.
- Default value for input arguments must be specified while declaring them.
- Variables allow us to store intermediate values such as strings or computed values.
- Intermediate values are responses that are gathered along the run of a dialog.
- These variables are stored respective Prompt and Response
- Comments are the notes that appear at the bottom of a dialog that are displayed during the run of the dialog.
A link child dialog cannot be an intermediate step.
Number of nested steps in a child dialog is limited. Depends on the browser in use. Because these nested steps in browser are nested tables.
There are a few workarounds for nested steps limitations in case they happen to gray out:
- Redesign the dialog to use fewer nested steps.
- Add a child dialog to reduce the number of steps in parent dialog.
- Use a different browser.
Actions that can be taken on Dialogs
Dialog Related Activities
These activities were first introduced in MS Dynamics CRM 2013 and are available as steps in MS Dynamics Process Designer.
Query CRM Data
Enables us to define query variables that can be used to query CRM data. These query variables can either have pre-defined values or can be parameterized so that they accept values at runtime.
We can parameterize a query variable by using ModifyQueryVariables tab on the Define Query page, and then use the dynamics section on the query form to associate the prompt and response variables with the query variables.
Query Variable defined using the Query CRM Data is available for all prompts and responses from the point where they have been defined in the dialog definition.
Allows simple arithmetic operations like increment, decrement and multiply and string concatenation operations on the input variables.
Can also be used to clear any values that is stored in the variables or input parameters.
Link Child Dialog
A dialog can be specified as a child dialog and then can be invoked from other dialog which will be its parent dialog.
Enables to end a dialog at a particular stage. Can also be used in conditions where we need to stop the dialog.
Workflow related activities
Workflow related activities like Create Record, Update Record, Delete Record, AssignRecord, Send e-mail, start child workflow and change status.
Start a dialog using a URL
An activated dialog can be started using the following URL format:
CRMServer_Name is the name of your CRM server.
Org_Name is the organization name
DialogId is the GUID of the dialog you want to run.
EntityLogicalName is the Entity Logical Name of the Primary Entity of the dialog you want to run.
EntityObjectId is the GUID of the primary entity record.
An example of the same is as follows:
Dialogs enable us to trigger guided process. Input parameters and variables can be manipulated with during the process and also fetches CRM data. Dialogs are user interactive processes which prompts for messages and requests and fetches responses to be used in the processes.