Dialog

Dialogs are the interactive and synchronous processes that collect and process information by using wizard-like web interfaces to direct users through a process.

Note

Dialogs require user's input to run the processes. A dialog can only be run online through the CRM Web application; you cannot run a dialog using CRM SDK or CRM Outlook Offline Access.

A Dialog example

Let's start building a Dialog to understand how it works. In this demo, we are going to build a Dialog to help ACM operators to quickly add comments to an existing Flight. A Phonecall record will be created after the Dialog process.

So the user story is like this: A crewmember calls in >>an ACM operator answers the phone and finds out the reason of the call >> verifies the caller's identity >> the crew member makes a comment about a flight >> the ACM operator carries out the request >> a Phonecall record is created in the CRM, with the sender (Crew Member) and related (Flight) information.

We can use a Dialog to create the structured process outlined above, and offer a wizard-like web interface to the ACM operators.

Go to ACM Settings | Solutions | ACMSolution | Processes, and click New, in order to create a Dialog process:

  • Process name: Add Activity to Flight
  • Entity: User
  • Category: Dialog
  • Type: New blank process

    Note

    Notice that this Dialog doesn't have to apply to the Flight entity. We choose the User entity to host the Dialog for later use.

The steps are as follows:

  1. Page: Prompt and Response:
    • Statement Label: Ask for employee ID
    • Prompt Text: Hello, can I have your employee ID please?
    • Response Type: Single Line
  2. Query CRM Data:
    • Statement Label: Query crewmembers via the employee ID
    • Look for: "Crew Members" "Employee" "Equals" " x"
    • Then go to the Modify Query Variables, change the Variable1 to the {Response Text (Ask for employee id)}
      A Dialog example
  3. Check condition:
    • If "Query crewmembers via the employee id" "Records" "Is Greater Than or Equal to" "1", Then:

      3.1 Page: Prompt and Response:

      • Statement Label: Verify caller's identity
      • Prompt Text: Can you confirm your fullname and business phone number please?
      • Response Type: Option (picklist)
      • Provide Values: Query CRM data
      • Query Variables: Query crewmembers via the employee ID
      • Columns: Full Name, Business Phone
        A Dialog example

      3.2 Page: Prompt and Response:

      • Statement Label: Ask for flight number
      • Prompt Text: What is the flight number?
      • Response Type: Single Line

      3.3 Query CRM Data:

      • Statement Label: Query flight via flight name
      • Look for: "Flights" "Flight Name" "Begins With" " x"
      • Then go to the Modify Query Variables, change the Variable1 to: {Response Text(Ask for flight number)}

      3.4 Check Condition:

      • If "Query flight via flight name" "Records" "Is Greater Than or Equal to" "1", Then:

        3.4.1 Page: Prompt and Response:

        • Statement Label: Confirm the flight
        • Prompt Text: Please confirm the flight.
        • Response Type: Option (picklist)
        • Provide Values: Query CRM data
        • Query Variables: Query flight via flight name
        • Columns: Flight Name, Created On

        3.4.2 Page: Prompt and Response:

        • Statement Label: Get the comment of this flight
        • Prompt Text: What is it about this flight?
        • Response Type: Multiple Lines (Text Only)

        3.4.3 Create Record: Phone Call

        • Sender: {Contact(Verify caller's identity (Crew Member))}
        • Phone Number: {Business Phone(Verify caller's identity (Crew Member))}
        • Direction: Incoming
        • Subject: {Full Name(Verify caller's identity (Crew Member))} made a comment on {Flight Name(Confirm the flight (Flight))}
        • Description: {Response Text(Get the comment of this flight)}
        • Regarding: {Flight(Confirm the flight (Flight))}
        • Due: {Execution Time(Process)}
        • Category: Comments
  4. Stop Dialog.
    A Dialog example

OK, the Dialog has been created. Make sure that you select both "as on-demand process" and "as child process", then save and activate the Dialog. Now we need to create a parent Dialog, "Call Center Dialog", that can direct the ACM operators to the correct category (that is, Add Activity to Flight).

The steps are as follows:

  1. Page: Prompt and Response:
    • Statement Label: Phone call category
    • Prompt Text: Hello, what can I do for you?
    • Tip Text: Define the phone call category.
    • Response Type: Option Set
    • Provide Values: Define Values
    • Response Values:
      • Value: 0
      • Label: Adding comments to a flight
  2. Check Condition:
    • If "Phone call category" "Response Value" "Equals" "0", Then

      2.1 Link Child Dialog

      • User: Add Activity to Flight
  3. Stop Dialog.
    A Dialog example

Now, you can test the Dialog by going to ACM Settings | Administration | Users, then selecting the system user, and clicking the Start Dialog on the ribbon bar. Then run the "Call Center Dialog".

You can also start the Dialog by using a URL: http://CRMServer_Name/Org_Name/cs/dialog/rundialog.aspx?DialogId=DialogID&EntityName=EntityLogicalName&ObjectId=EntityObjectId.

In the URL, we can fix the EntityName to "systemuser" and the ObjectId to a CRM system administrator account which always exists. So we can then add a button on the ribbon bar of the CRM main form, and call the Dialog directly, using the URL, by clicking the button on the ribbon.

A Dialog example
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset