Utilising Dialogs in CRM 2011 for Record Creation
Here’s an introduction on using Dialogs to provide a consistent Data Capture process within a call centre environment.
Let’s model a scenario where the call centre representatives are tasked with recording each inbound call as a Phone Call record in CRM. The phone call needs to be attached to a new Contact record and depending upon the nature of the call either a Case or Opportunity is to be created for later resolution by a specialist Sales or Customer Service Representative.
The diagram below illustrates both the end user process and the steps automated by the dialog:
Now this process could be modelled in CRM without the use of Dialogs with the user simply navigating through CRM, creating and updating records as required. Dialogs however offer us a scripted alternative that significantly reduce the keystrokes and ensures consistent adherence to the business process.
Let’s create the Dialog…
1. Navigate to: Settings –> Customizations –> Customize the System
The Default Solution will be displayed.
2. In the navigation tree on the left, click on Processes and then click New to create a new Process:
3. Enter a Name for your Process, select Phone Call as the Entity, select Dialog as the Category and then click Ok. The Dialog Designer will be displayed:
Note: As an inbound call is received, the user will create a new Phone Call activity and then invoke this Dialog to process the call
4. Now we need to build up our Dialog. The definition of a Dialog is made up of the Dialog Pages (wizard screens) that the end user will see, each of which contains one or more Prompt and Response sections (script questions). And around these Pages you add your conditions and automated actions.
The Dialog designer has sections where you can define Input Arguments and Variables. We won’t be needing to get that advanced so just minimise those sections and whilst you’re at it minimise the header section and maximise the window to get a bit more screen real estate:
5. Click on the row displaying Select this rows and click Add Step and then click on the Add Step dropdown and chose Page:
A Page element will be added to your Dialog steps.
This will be the first screen of our Dialog. We now need to add some content to that screen. We will add 3 Prompt and Response steps to the one screen to achieve the following end result:
6. Click on the row displaying Select this rows and click Add Step and then click on the Add Step dropdown and chose Prompt and Response:
A Prompt and Response element will be added to your Dialog steps.
7. Click the Set Properties button and enter the following:
I have inserted some dynamic content to embed the name of call centre representative into the script. You do this using the form assistant on the right.
This first prompt has a multi-line response allowing the user to capture in detail what the caller says, so there is no need for the user to be scribbling notes down on a pad of paper to only have to key them in later. The notes captured here will be recorded into CRM.
8. Save and Close the Prompt and Response window. You will be returned to the Dialog designer:
9. Click on the Add Step dropdown, chose Prompt and Response, click the Set Properties button and enter the following:
10. Save and Close the Prompt and Response window and then add another Prompt and Response as per below:
Your Dialog definition should now look like this:
11. Enter a name for the Page:
12. Click on the Page so that the Page and its 3 Prompt and Response elements become highlighted:
13. Click on the Add Step dropdown and chose Page to create the second page of our Dialog (the second screen of the wizard). Add a Prompt and Response to that new Page as per below:
The intention of this Prompt and Response is to prompt the call centre representative to chose whether a Case or Opportunity should be created.. The prompt is to the user, it is not meant to be a question they ask the caller. I could have written a series of Prompt and Responses to define a scripted conversation from which we could derive what action should be taken but for this scenario I figure it should be pretty obvious whether the caller wants to buy something or has a customer service issue and I expect they will have already indicated the reason for their call. So I just want the user to chose Case or Opportunity.
As I want to control what sort of response is captured I have opted for an Option Set response and defined the 2 values I want made available to the user.
14. Save that Prompt and Response. And then add a 3rd page to the Dialog with the following Prompt and Response:
15. Assign meaningful names Pages 2 and 3 and confirm your Dialog definition now looks something like this:
16. Now’s a good time to see how the Dialog is going to look. Follow these steps to test things out:
a. Save the Dialog and then click the Activate button to enable it
b. Create a new Phone Call activity
c. Populate the mandatory fields and then Save the Phone Call (this process is a bit clunky at the moment but you could improve things easily enough with some basic configuration and/or jscript).
d. Click the Start Dialog button on the Ribbon and then select your dialog from the list:
If everything works correctly you should be taken through the 3 pages we defined and end up on a 4th ‘Finish’ page…
Now we aren’t actually doing anything with the responses received during the dialog session so you won’t see any records created or the phone call updated in CRM. Let’s go add those automated actions to the dialog now…
17. Return to your Dialog (Settings –> Customizations –> Customize the System –> Processes).
18. Click on the 3rd Page and then from the Add Step dropdown select Create Record:
A ‘create new record’ Step will be added to your Dialog definition.
20. On the Contact form that is displayed insert dynamic fields using the form assistant to have the Contact’s First Name and Last Name fields be populated based on the Dialog responses received:
21. Save and Close the Contact form and enter a meaningful description for this step:
22. Next we want a Condition and some Create Record steps to handle the creation of the Case or Opportunity record. Add this as per below:
When specifying the conditions you can access the Dialog Responses under the heading Local Values:
When setting the properties of the Case and Opportunity records make sure you set the Customer to be the Contact that was created in the previous step (again available under Local Values):
23. Now the last thing we want to do is tidy up the Phone Call activity that we initiated this whole process off. Add additional steps to populate any additional details you want written to the Phone Call and to change its status to completed. Make sure you at a minimum you associate the phone call to the Contact and to the Case/Opportunity:
24. Ok, the last few steps of your dialog should look like this:
25. Save, Activate and give it a whirl.
Here I go, taking a sales enquiry from Mark Johnson, I create a phone call, start the Dialog session, greet the caller and follow the script. I capture his initial comments and then prompt for and record his name:
I then classify the call:
And then wrap up the call:
I exit the dialog and can now see that the Dialog has created a new Contact record in CRM:
And against that Contact I can see the Closed Activity:
And the Open Opportunity:
To make this solution a bit more real world we would add more prompt and response elements to capture the callers contact details and we would likely want to call a workflow to route the Case or Opportunity record that is created.
Hopefully this (horrifically long) blog gives you a good introduction to Dialogs and gets you thinking about how might you use them.
A word of warning – there are lots of gotchas with Dialogs (e.g. they don’t cater for lookup or date fields) so make sure you prototype them out to see they will work for you. The beauty of Microsoft CRM is the ease with which you can try these things out so… give it a go!