Using Dialogs to Create an Application for Services

Dialogs within Microsoft Dynamics CRM are not only used for simple prompt and response data entry, but can be used to create a complex application for services.  In this example, we will create a pre-qualification application for day care and tutoring services that could be used by any business providing these types of services.

The use case for this scenario is that we have a call center specialist who is taking inbound requests for prequalification for services for their child.  The call center specialist uses the Case entity within CRM to track the inbound requests from the parent/custodian requesting services.  The method for prequalification will be presented to the call center specialist via a CRM dialog.  The information captured within the dialog will be used in prequalifying the child for services, as well as the creation of records within CRM to track the process and its status.  In this post, we will focus on the dialog process to collect the information to determine the prequalification for services.

Day Care Prequalification criteria
In order for a child to receive day care services in this scenario, the child must meet the following requirements:

  1. Must be 5 years old
  2. Must reside in the state

Tutoring Prequalification criteria
In order for a child to receive tutoring services in this scenario, the child must meet the following requirements:

  1. Must reside in the state
  2. Must be under the age of 12
  3. If older than the age of 12, has Special Needs

Once the prequalification criteria has been reviewed, a child’s Parent/Custodian must then identified for Priority Services based on a number of additional criteria, such as number of members in a household, family income in comparison to National Poverty Levels as well as job/training requirements.

Dialog Process Design

Main Daycare/Tutoring Dialog
Initial dialog to begin the Daycare/Tutoring prequalification process.

The dialog to collect the information for both day care and tutoring prequalification will require an on-demand dialog associated to the Case entity, several child dialogs for the sub-processes, as well as logic using check conditions and conditional branches.  The full design could also include the use of variables, queries, create records, update records and potentially a custom workflow which will call an Eligibility Validation Engine using BizTalk.  For this blog post, we will focus on the portions of the dialog design used in collection of information for day care and tutoring prequalification.

Dialog Requirements


tutoring child dialog
Child dialogs, such as this tutoring example, allow for branching of a process based on input from the user within the dialog.

The dialog needed to not only collect the information in an efficient manner, it also required the ability to display screens only when required.  For example, within the tutoring prequalification process, there is a main page which then presents a page for questions pertaining to Priority Service Groups.  Dependent on how these questions are answered, it may be required to gather additional information for the applicant based on three additional areas of inquiry.  Each additional page displays only if the prior criteria is unmet.

Check conditions, conditional branching and child dialogs allowed the seamless navigation of an entire workflow although there are many branches within the business process.

Daycare/Tutoring dialog
Workflow diagram which depicts the check conditions as well as the conditional branching of the child dialogs within the prequalification process.

As stated earlier, the call center specialist is now able to launch a prequalification process based on the business process for day care and tutoring directly from the Case.  This process allows the specialist to address either or both program prequalification requests by the client and collect all of the pertinent data without having to have to navigate away from the Case.  Upon completion of the full design, the specialist will also avoid wasting valuable call hold time in the creation and maintenance of additional records required by the process.


I am providing an unmanaged solution with all of the dialogs, both on-demand and child for the entire process.  You can download it here from my SkyDrive.  As the design matures, I will update you with additional solution files.

If you are looking for more information on CRM dialogs and best practices, I recommend that you visit Richard Knudson’s CRM Trick Bag.  There are many fantastic dialog related articles.  I have no problem stating that he taught me everything I know.

Lastly, there are some great videos on CRM dialogs available on YouTube.  I highly recommend this video, also created by Richard.

I hope that you found this post beneficial, possibly helping you understand some of the power of dialogs within Microsoft Dynamics CRM 2011.  I would love to hear how you have implemented dialogs with your customers!


Author: crmhobbit

The CRMhobbit (Shawn Tabor) is a Microsoft Business Solutions MVP and a Sr. Solutions Architect. He has experience implementing Dynamics 365 for Customer Engagement across various vertical industries including Financial Services, Manufacturing, Public Sector and Sports & Entertainment. Shawn specializes in the Dynamics 365 for Field Service, Project Service Automation and LinkedIn Sales Navigator solutions. The purpose of his blog is to share his knowledge, experience and thoughts regarding CRM in the hopes of benefiting those in the CRM community. If anything on this blog has helped you, please comment or rate the posts. Thank you!

4 thoughts on “Using Dialogs to Create an Application for Services”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s