Windows Navigation Rules in USD

1 Comment

Windows navigation rules in Unified Service Desk tell the application what to do when a user performs an action. Here we will go through an example.

Let’s say when USD loads, it loads a Dynamics 365 dashboard. On that dashboard, the user has the ability to select an Account. Without any navigation rules set up, on selecting an account, the interface will open the account’s Dynamics 365 page within the same pane as the dashboard. This is known as an “in-place” routing rule – it is the same as if you went to a webpage in a browser and clicked on a link – the new link replaces the original link. Instead, let’s say we would like a USD user to be taken into a user session, with additional information displayed for the user account. This would be a typical scenario if a user was in a call center and received a phone call from a customer.

To set this up, the first thing we will do is set up a Windows Navigation Rule. Open this from Settings->Unified Service Desk:

Select New:

We will call our rule Select Account from Dashboard. The order is important in case there are multiple rules for this entity in place. The From is the dashboard hosted control we are loaded, called Main Dashboard. The entity is one of the entities exposed in USD, in our case account:

  • account
  • contact
  • email
  • incident
  • lead
  • phonecall
  • queueitem
  • task

Next is the Route type:

  • Popup. Like opening a web page in a browser in a new tab.
  • OnLoad. Determine how to handle a page after it has loaded.
  • In Place. Just like clicking a link in a web browser, the page is redirected to the new page
  • Menu Chosen. If you are displaying a Dynamics 365 menu on the record, determine what to do if the user selects a menu item, such as Contacts.

Destination:

  • Tab. Item selected will target a specific tab.
  • Entity Search. Targets an entity search to look up data.

And Action:

  • Default
  • Create Session. This only applies to Popup routes.
  • Show Outside. Display in a window outside USD.
  • Route Window. Direct window to another tab in the same session.
  • None
  • In Place

We will select to create a session:

Save the navigation rule.

Start USD. Our dashboard will load. Select an account:

You can see a new session starts:

Notice the CRM page for the account has not opened. Instead, we have been redirected to a new session with the same dashboard. This is because the Account has not been set up as a hosted control. Go to Hosted Controls and create an Account hosted control of type CRM Page. Note we can technically call this anything, the type CRM page is important:

Set it to open in the Main Panel:

Now we need to update our navigation rule and set the target tab and show tab to the new account entity.  Target tab means we want the account to open in that tab, and show tab sets the focus to that tab.

Note this is all we will need to do to tell USD that if a user clicks on an account in this way, to open the same account record they selected.

Now open USD. Select an account from the dashboard, and it will open in the new tab:

Let’s look at the other options. When opening the record, we can see the navigation bar (i.e. Dynamics 365, Sales, Accounts) and command bar (New, Deactivate, Connect) displayed:

We can configure this under options:

Setting Hide Command Bar to Yes:

Setting Hide Navigation Bar to Yes and above hides both:

 

We can see that when the session opens, the left and right panel is expanded. This is a result of the SessionNew event starting, with 2 actions associated with it:

 

ABOUT CARL DE SOUZA

Carl de Souza is a developer and architect focusing on Microsoft Dynamics 365, BI, Web, Cloud and Data Science.

carldesouza.comLinkedIn Twitter | YouTube

 

One Response to Windows Navigation Rules in USD

  1. Hi,

    I want to use Window Navigation Rule for handling hyperlink popups coming out of my CCA Hosted Web Application. Is there anyway I can handle this and open a new hyperlink url in a new tab within USD ?

    Thanks,
    Dharmil

Leave a Reply

Your email address will not be published. Required fields are marked *