This post is in continuation to the previous introductory post on Dialogs Part I. In this post, we’ll take you through an example of contact creation dialog and give you a basic introduction to data slugs, how to use them and also, how to use a data slug for Optionset values. This post also contains a brief introduction of the running dialog like tips, comments, next, previous etc.
So, let’s start with an example of how to create/author a basic dialog which takes input from the user and based on the inputs received, creates a contact in Microsoft Dynamics CRM 2011. We will be creating the Contact on outgoing/incoming Phone Calls. The Phone Call will be the context Entity.
Here is a screenshot of a running dialog:
Authoring Contact Creation Dialog
1. Go to Settings->Processes and click New.
2. A dialog will appear. Fill the details as shown below (Don’t forget to choose category as dialog):
A new window will appear.
3. Click Add Step->Page as shown below:
4. Type page description as: Contact's first, last and middle names
5. Add step->Prompt/Response and click on Set Properties, you will get a page to set the Prompt and Response properties.
6. Fill the required information as shown in the following figure(Response Type: Single Line, Data Type: Text):
And then click on Save and Close.
7. Add two more prompt/response steps in the similar way asking for Middle Name and Last Name. You can add these prompts on same page or on new pages if you want to take only one input at a time.
8. Then add a prompt/response step with response type as Option Set (picklist) and ask for gender of the contact as shown below. We’ll use the response of this prompt to fill the gender information (male/female) on contact form.
a. Add 2 response values:
i. Label – Male, Value – 1
ii. Label – Female, Value – 2
(The values given here should match the exact Optionset values for that particular options taken by gender field of Contact Entity). For example: you want to fill the gender optionset of contact, the value of Male in that Optionset is 1 and that of female is 2. You can check for these values by going to Settings->Customizations-><Entity>-><Field> (Settings->Customizations->Contact->Gender in our case.))
9. Then add one more page and add prompt/response steps to get email address and mobile number in the similar fashion as done for the first page.
10. Now Add Step: Create Record - Choose entity as contact and click on Set Properties button. You will get Contact form to fill the desired values as shown in the following figure.
11. Click on First Name Text Box and choose First Name from local values on form assistant as shown above.
Note: Response Values will be available as Local Values in form assistant
12. Click Add and then click ok.
13. A data slug will be inserted in First Name field (highlighted in yellow color). Data Slugs are the dynamic values which are replaced with actual values while the Dialog run is in progress. In this case, it'll be replaced by the values filled by the user while running dialog for the response of First Name Prompt.
14. Do the similar steps for Middle Name, Last Name, Mobile Phone and E-mail in the same form.
15. Now, click on the gender field in contact form. In look for, choose gender (Label of the gender prompt) and choose Response option set value below and click add. A data slug will be inserted as shown below (encircled one):
Once you are done with setting all the dynamic values the final Contact Form will look as shown below:
16. Click on Save and Close.
17. Add Page with title "Contact has been created".
18. Add step prompt/response and click on Set Properties.
19. In prompt text, write "A contact has been created for" and then add first name, middle name and last name data slugs.
An important point to note here is that you need to add these values one by one otherwise all the Response Values would be replaced in same field. What you need to avoid is shown in next figure.
If you add all these items in one field, this will mean that if first name is null, then the middle name will be used and if that is also null, then the last name will be used. So, if you want to display all three, then add them separately.
Your final Dialog, you just authored will look like this:
20. Now it’s time to Activate and test it. Click Activate and close the Dialog definition page.
Running Contact Creation Dialog
Contact center sales person will open his phone call activity and click on the "Start Dialog" button present in Process section of ribbon.
Then he'll choose the contact creation dialog from the lookup.
On clicking ok, dialog will start running. He'll ask the questions from the customer as mentioned in the dialog and fill the corresponding responses.
Here is a screenshot of the contact creation dialog in action:
To navigate to the next page, Next button has to be clicked.
Similarly if you want to go back to the previous page, you’ll have to click the previous button.
But it should be kept in mind that if you are going to the previous page, then data in your current page will not be persisted.
To cancel the dialog at any moment, cancel button will have to be clicked.
Summary of what has been done till now as a part of this dialog can also be viewed using the summary button. Clicking on this button will open the corresponding process session record which contains all such details.
Similarly notes can be taken in the comments section while running the dialog. For example, in the above screenshot, we have added the comment that customer doesn’t have an email address.
Tip area shows tips corresponding to the highlighted prompt which aids Sales Person in filling the response. This area is collapsible too in case it seems unnecessary. If you click on the arrow present at the top right of this area, then tip area will get collapsed and the wizard will look like this:
Highlighted pane on the right can be clicked to show tips again.
After clicking Finish button in the last step, go to Sales->Contacts.
You'll notice the following entry (which has been created by the dialog which was just run):
In this way, Contact center Sales Person was able to create a contact very easily.
If dialogs are used, then user doesn’t have to go to various grids and create/update/assign various records by himself. He’ll just run the dialog, fill the entries and everything will be done in the background. It also guides user how to interact with the customers and hence, can be used for self help as well as assisted learning.
Watch out for more advanced posts on dialogs which will be published pretty soon.