Global Manager (Hosted Control)
The Global Manager hosted control type is the core of Unified Service Desk, and an instance of this hosted control is required by Unified Service Desk. This hosted control loads and reads all the Unified Service Desk configuration data from Microsoft Dynamics CRM at application startup, interprets the window navigation rules, provides data to the toolbar components and agent scripts, and manages the data for the session. Only a single instance of the Global Manager hosted control type can be loaded.
Important
All the four sample applications for Unified Service Desk come preconfigured with an instance each of the Global Manager hosted control type. For information about the sample applications, see TechNet: Sample Unified Service Desk applications.
In addition to providing interpretation for most of the functions in Unified Service Desk, the Global Manager hosted control type also provides the multi-language features in the system so that you can localize UI strings and messages in your application in multiple languages. For more information, see Add multilanguage support for your agent applications. It also provides the search provider, which is designed to be generic and adaptable through configuration.
In This Topic
Create a Global Manager hosted control
Predefined UII actions
Predefined events
Create a Global Manager hosted control
While creating a new hosted control, the fields in the New Hosted Control screen vary based on the type of hosted control you want to create. This section provides information about the specific fields that are unique to the Global Manager hosted control type. For detailed information about creating a hosted control, see Create or edit a hosted control.
In the New Hosted Control screen, under the Unified Service Desk area, select Global Manager from the USD Component Type drop-down list. Also, ensure that you set the Sort Order value of this hosted control to 2 to ensure it is loaded by your agent application immediately after the connection has been established to CRM using the Connection Manager hosted control. For information about other General fields, see Create or edit a hosted control.
After you save the record, the Language Services area becomes available where you add resources for adding localized strings for your agent application’s UI. For information about how to add language resources, see Add multilanguage support for your agent applications.
Predefined UII actions
Global Manager provides a series of predefined actions that allow you to manipulate CRM record data through the web services. These can be used during configuration to perform advanced functions in CRM.
The following predefined UII actions are available for the Global Manager hosted control type:
CopyToClipboard
Copies or appends the article URL to Clipboard.
Parameter | Description |
---|---|
data |
Data that you want to be copied. You can also use replacement parameters. For example: |
append |
Indicates whether or not to append the data to the Clipboard. Set true or false. For example: |
New_CRM_Page
Creates a page for creating a new CRM record of the entity specified, and treats the page as a popup from the specified hosted control. The window navigation rules are evaluated to determine the location where the page to create the entity record is displayed.
Parameter | Description |
---|---|
LogicalName |
The logical name of the entity for creating a new instance. |
Note
The rest of the parameters should consist of name=value pairs. These are the additional pre-populated values in the form for creating a new record for the specified entity. For more information about using this action, see step 4 in Walkthrough 7: Configure agent scripting in your agent application.
Open_CRM_Page
Opens an existing instance of the entity specified and identified by the ID, and treats the page as a popup from the specified hosted control. The window navigation rules are evaluated to determine the location where the popup should be displayed.
Parameter | Description |
---|---|
LogicalName |
The logical name of the entity to open. |
id |
The ID of the entity record to open. |
Popup
Pops up a URL from the hosted control and runs the window navigation rules against it for routing the popup to the appropriate location.
Parameter | Description |
---|---|
url |
Routes a popup from this hosted control using this URL as if it were a popup requested from the displayed control. |
frame |
The frame from which this popup originated. |
Close
Closes the hosted control. Unlike the CloseActive action, if this tab is displaying more than one page, it will close all the pages displayed in the tab in your agent application.
ExecuteOnDataAvailable
Delays the execution of the sub actions until a specified set of replacement parameters becomes available. A time-out value may be specified to limit the amount of time to wait for the replacement parameters to become available. If no time-out is specified, it will wait indefinitely or until the session ends.
Parameter | Description |
---|---|
milliseconds |
The time, in milliseconds, to indicate the amount of time to wait before this action expires, and is cancelled. The remaining parameters should contain replacement parameters that need to exist before sub actions can execute. Data Parameter Example: milliseconds=5000 |
Important
This action applies to all the hosted control types. This action is not exposed by default when you create an instance of a hosted control type. To use the ExecuteOnDataAvailable action with an instance of a hosted control type, you must explicitly add a UII action called ExecuteOnDataAvailable to the respective hosted control instance. More information: Add a UII action to a hosted control
ExecuteOnTimeout
Delays the execution of the sub actions a specified time elapses. A time-out value is required to indicate when the sub actions should be run.
Parameter | Description |
---|---|
milliseconds |
The time, in milliseconds, to indicate the amount of time to wait before the sub actions execute. Data Parameter Example: milliseconds=5000 |
Important
This action applies to all the hosted control types. This action is not exposed by default when you create an instance of a hosted control type. To use the ExecuteOnTimeout action with an instance of a hosted control type, you must explicitly add a UII action called ExecuteOnTimeout to the respective hosted control instance. More information: Add a UII action to a hosted control
ExecuteOnExpressionTrue
Delays the execution of the sub actions until a specified JavaScript expression returns true. A time-out value may be specified to limit the amount of time to wait before expiring. If no time-out is specified, it will wait indefinitely or until the session ends.
Parameter | Description |
---|---|
milliseconds |
The time, in milliseconds, to indicate the amount of time to wait before this action expires and is cancelled. The remaining parameter is a JavaScript expression to evaluate. When this expression is true, sub actions will execute. Data Parameter Example: milliseconds=5000 |
Important
This action applies to all the hosted control types. This action is not exposed by default when you create an instance of a hosted control type. To use the ExecuteOnExpressionTrue action with an instance of a hosted control type, you must explicitly add a UII action called ExecuteOnExpressionTrue to the respective hosted control instance. More information: Add a UII action to a hosted control
FireEvent
Fires a user-defined event from this hosted control.
Parameter | Description |
---|---|
name |
Name of the user-defined event. |
All subsequent name=value pairs become the parameters to the event. For more information about creating a user-defined event, see Create a user-defined event.
MoveToPanel
Moves hosted controls between panels at runtime.
Parameter | Description |
---|---|
app |
Name of the hosted control to be moved. |
panel |
Target panel for the hosted control. |
SetSize
Sets the width and height of the hosted control. This is particularly useful when using "auto" in your panel layouts.
Parameter | Description |
---|---|
width |
The width of the hosted control. |
height |
The height of the hosted control. |
SaveAll
Saves all forms in hosted control that allows multiple pages to be displayed (Allow Multiple Pages = Yes). If the hosted control allows only a single page to be displayed (Allow Multiple Pages = No), this is equivalent to the Save action.
DisplayMessage
Displays a message box to the user.
Parameter | Description |
---|---|
text |
This is the text displayed in the message box. If this parameter is not specified, any remaining text (remainder parameter) or empty string will be used. |
caption |
This is the caption displayed in the message box. If no caption is specified, CRM Message will be used. |
ClearEntityList
Clears the list of accumulated search results, and should always be called before calling the DoSearch action
Parameter | Description |
---|---|
global |
True if you want the search results tied to the global session to be cleared. You must be careful while storing search results in the global session as these are not automatically cleared by the system. In this case, you must call the ClearEntityList action before calling the DoSearch action. |
DoSearch
Calls the CRM web services using FetchXML is defined as an entity search in Unified Service Desk, and the entity search name is passed as a parameter for this action call. For more information about entity search, see Search data using entity searches in Unified Service Desk.
Parameter | Description |
---|---|
name |
The name of the entity search to be used for searching the record. |
global |
True if you want the search results tied to the global session to be cleared. You must be careful while storing search results in the global session as these are not automatically cleared by the system. In this case, you must call the ClearEntityList action before calling this action. |
maxcount |
The maximum number of records to store in the EntityList results from this call. |
Note
When you call this action, the $Return replacement parameter will display the number of records found and stored in EntityList as a result of this search. For more information, see $Return.
ShowTab
Sets the focus on a tab (hosted control) in your agent application.
Parameter | Description |
---|---|
The first line in the action call should contain the name of the hosted control to display in the foreground. Do not use the display name of the hosted control. For more information about using this action call, see step 4 of Walkthrough 2: Display an external webpage in your agent application. |
CloseActive
Closes the active hosted control on the specified panel.
Parameter | Description |
---|---|
The first line in the action call should contain the name of the panel to locate the active application. If no parameter is specified, MainPanel is assumed. |
CallDoAction
Calls an action on another hosted control.
Parameter | Description |
---|---|
panel |
This is the panel to find the active application, if no application is specified. |
action |
This is the action to call on the hosted control. |
data |
This is the data parameter to pass to the action. |
application |
This is the hosted control name for which you want to execute an action call. If this is specified, the panel parameter is ignored. |
SetTheme
Applies a theme to modify the layout and/or look and feel of components of the user interface. For more information, see Use themes to customize the appearance of your application.
Parameter | Description |
---|---|
clear |
True if you want to completely clear the current theme before applying the specified theme. If this parameter is false or not specified, the new theme information will be merged with the current theme. |
The remainder parameter (what is left after the other parameters are removed), should contain the name of the theme to use. This should be a XAML file (renamed to XML and uploaded as a web resource) web resource name, a URL from an anonymous access server, or the raw XAML representing the theme. |
SaveSetting
Stores a user specific setting.
Parameter | Description |
---|---|
name |
The name of the setting. This will show up in the $Settings section of the replacement parameters. |
value |
The value of the setting to save. |
ReadSettings
Reads the previously saved settings from the $Settings section.
Parameter | Description |
---|---|
readfromcache |
True if you want to read the local cached version of these settings. False or missing otherwise. |
DoRoute
Can be used to test your window navigation rules by simulating a popup window from a specific hosted control. It may be used in production to trigger the window navigation rules manually as per the requirement.
Parameter | Description |
---|---|
name |
The ID of the entity that is the target of the queueItem |
entity |
The Logical Name of the entity that is opened in a pop-up window. |
id |
The ID of the entity that will be opened in a pop-up window. |
frame |
The frame from which the popup is said to occur. |
RouteToQueue
Routes an entity to a queue in CRM.
Parameter | Description |
---|---|
destination |
The target queue ID. This is mutually exclusive with the destinationqueuename parameter |
destinationqueuename |
This is the name of the queue to route the entity. |
entitytype |
This is the logical name of the entity to be routed |
entityid |
This is the GUID/Id of the entity to be placed into queue. |
LookupQueueItem
Looks up a queueitem in the system and obtain the information.
Parameter | Description |
---|---|
Id |
The ID of the entity that is the target of the queueItem |
EntityType |
The type or logical name of the entity referred to in the Id field. |
The resulting queueitem details will be placed into the queueitem replacement parameter and may be referenced later.
WorkOn
This action is equivalent to selecting a queue item from a queue and clicking the WorkOn button on the ribbon. It marks the queue item as being worked by a specific agent.
Parameter | Description |
---|---|
Id |
This is the Id of the queueitem. See LookupQueueItem for information on how to obtain the ID for a target entity. |
Action |
Optional parameter allowing the administrator to specify that they wish to remove the WorkOn attribute to return it to the queue. Valid Values: Remove – Removes the WorkOn attribute and returns the item to the queue for others to work on. |
Pause
Pauses execution of the action without blocking message processing. This action is different from suspending the current thread for the specified amount of time (Thread.Sleep) because the action allows the processing to continue. This action is useful when you are waiting for web operations to complete.
Parameter | Description |
---|---|
milliseconds |
The number of milliseconds to pause. |
CopyToContext
Copies a value or series of values to context variables. Context variables can be serialized with the session. This action takes a series of name=value pairs. The name is the name of the context variable.
CopyLogicalEntityToContext
Copies values from an entire section of the data parameters to the context.
Parameter | Description |
---|---|
LogicalName |
The type or section of data parameters to copy values from. |
InvokeCTI
Simulates CTI events
Parameter | Description |
---|---|
type |
This is the type of CTI event, such as phonecall and chat. |
appname |
The desktop manager name to be used for this pop-up simulation |
ani |
The automatic number identification (ANI) or callers phone number. |
dnis |
The DNIS or dialed number. |
All remaining parameters will be passed as parameters to the CTI event processor. |
RedoScreenPop
Pops the last screen again. This can be useful in cases where perhaps the session limit was reached and so the pop up was not successful, or you closed off the session but more work is required. This action requires no parameters.
ShellExecute
This action is intended to launch a URL or command line. NOTE: The user must have rights to execute the application.
Parameter | Description |
---|---|
The only parameter is the command line or URL of the application to execute. |
Audit
Add an audit entry to the Unified Service Desk audit logs. For more information, see Technet: Configure auditing in Unified Service Desk
Parameter | Description |
---|---|
Name |
The audit entry name. You must add an option under the Options area (Settings > Unified Service Desk > Options (How do I get there?)) with the value set to 1. |
Action |
String representing the action that is being audited. |
TargetApplication |
String representing the target application for the audit. |
CustomerId |
String representing the customer ID. |
ContextId |
String representing the context ID. |
ApplicationId |
GUID of the hosted control for the auditing. |
AgentState |
String representing the agent state |
ActionData |
This is the data to write out to the audit entry. If this parameter isn’t explicitly provided, it will use all the remainder lines in the Data field of the action call definition. |
CreateEntity
Creates a new record in CRM.
Parameter | Description |
---|---|
LogicalName |
The logical name of the entity to create |
Each subsequent line in the parameter list contains a series of Name=Value pairs that will define your other fields to populate on create.
Entity References can be described like the following:
Param=EntityReference(“logicalname”, “id”)
OptionSetValue’s can be specified like the following:
Param=OptionSetValue(value)
Boolean’s can be described like the following:
Param=Boolean(value)
PartyList (used with email) can be described like the following:
Param=PartyList(email[“test@test.com”], er[“contact”, guid])
You can use any number of email and er entries to represent email addresses and entity references respectively.
Other values such as string values can be specified like the following:
Param=value
Once the record is created, the $Return value will be populated with the GUID of the newly created record.
UpdateEntity
Updates a record in CRM.
Parameter | Description |
---|---|
Id |
The ID of the value to update. This must be the GUID of the record to update. |
LogicalName |
The logical name of the entity to update |
Each subsequent line the parameter list contains a series of Name=Value pairs that will define your other fields to populate on update.
Entity References can be described like the following:
Param=EntityReference(“logicalname”, “id”)
OptionSetValue’s can be specified like the following:
Param=OptionSetValue(value)
Boolean’s can be described like the following:
Param=Boolean(value)
PartyList (used with email) can be described like the following:
Param=PartyList(email[“test@test.com”], er[“contact”, guid])
You can use any number of email and er entries to represent email addresses and entity references respectively.
Other values such as string values can be specified like the following:
Param=value
CloseActivity
Closes an activity record in CRM.
Parameter | Description |
---|---|
Id |
The GUID of the activity record to close. |
LogicalName |
The logical name of the activity to close. |
StatusCode |
The display name of the final status code after the activity is closed. |
StateCode |
The display name of the final state code after the activity is closed. |
For example, to close a phone call activity, you must specify the following:
Id=<GUID of the phone activity record>
LogicalName=phonecall
statuscode=Received
statecode=Completed
After the activity record is closed, the $Return system replacement parameter will be populated with a Boolean value indicating whether the action was successful.
DeleteEntity
Deletes a record in CRM.
Parameter | Description |
---|---|
Id |
The ID of the value to delete. This must be the GUID of the record to delete. |
LogicalName |
The logical name of the entity to delete. |
CreateSession
Creates a session.
ExecuteScriptlet
Executes the specified scriptlet.
Parameter | Description |
---|---|
Specify the name of the scriptlet to execute in the Data field. |
ResetLocalCache
Resets the configuration cache in Unified Service Desk. The next time Unified Service Desk is started, it will download the configuration from the server. The user must have write access to the msdyusd_usersettings entity for this action to work.
GetTemplate
Retrieves the contents of a merged email template.
Parameter | Description |
---|---|
name |
Name of the template to retrieve. |
id |
The ID of the entity to associate with this template for the merge operation. |
MoveApplicationToPanel
Moves a hosted control to the specified panel in the client application.
Parameter | Description |
---|---|
app |
Name of the hosted control to move. |
panel |
Name of the target panel. |
SetWindowProperty
Sets the window state for the client application main window.
Parameter | Description |
---|---|
WindowState |
One of the following values: maximized, minimized, or normal. |
SetAppBar
Docks a hosted control to the specified edge of the client application main window.
Parameter | Description |
---|---|
ApplicationName |
The name of the hosted control to dock. If this parameter is specified, the parent window hosting this hosted control will be docked. |
width |
The width in pixels of the docked window. If this is not specified, the current width of the window is used. |
height |
The height in pixels of the docked window. If this is not specified, the current height of the window is used. |
Edge |
The edge to dock against. If nothing is specified, Top is assumed. Specify one of the following values: Top, Bottom, Left, or Right. |
ClearAppBar
Undocks the specified hosted control in the client application.
Parameter | Description |
---|---|
ApplicationName |
Name of the hosted control to undocked. If this parameter is not supplied, the client application main window is undocked. |
SetEventTimer
Sets an event timer to start.
Parameter | Description |
---|---|
name |
Name of the event timer. |
StopEventTimer
Stops an event timer.
Parameter | Description |
---|---|
name |
Name of the event timer to stop. |
Translate
Enables you to perform language translation using Microsoft Translator.
Parameter | Description |
---|---|
value |
This is the text to translate. This value may be escaped for multi-line support. Some valid examples:
For more information about these replacement keys, see Use replacement parameters to configure Unified Service Desk. |
fromlanguage |
Name of the language to translate from. If this is blank, the system will attempt to detect the language of the specified value to be translated before translating. For a list of valid language values, see Translator Language Codes. |
tolanguage |
Name of the language to translate to. For a list of valid language values, see Translator Language Codes. |
clientId |
A client ID obtained from Microsoft Azure for translation services. For information about registering with Azure, see https://datamarket.azure.com. |
clientsecret |
A client secret obtained from Microsoft Azure for translation services. For information about registering with Azure, see https://datamarket.azure.com. |
The translated value is displayed under the $Return replacement parameter.
ShowAbout
Displays the about dialog box for Unified Service Desk that contains information such as the name of the current user, the CRM server and organization that the user is connected to, version number of the Unified Service Desk client application, and the support site URL.
Predefined events
Here are the predefined events that are associated with this hosted control.
DesktopReady
Occurs on startup when all the desktop initialization has completed and the connections to CRM have been established. This event will be fired only once, and it is common to use this event to set themes and do other startup actions.
SessionActivated
Occurs whenever a session is activated.
Parameter | Description |
---|---|
SessionId |
ID of the currently active session. |
IsGlobal |
Indicates whether this event applies to the global session. Returns True or False. |
Activate |
This is set to True. |
SessionClosed
Occurs when a session is closed.
Parameter | Description |
---|---|
SessionId |
ID of the session that was closed. |
IsGlobal |
Indicates whether this event applies to the global session. Returns True or False. |
SessionDeactivated
Occurs when a session is deactivated.
Parameter | Description |
---|---|
SessionId |
ID of the inactive session. |
IsGlobal |
Indicates whether this event applies to the global session. Returns True or False. |
Activate |
This is set to False. |
SessionNew
Occurs when a new session is created.
Parameter | Description |
---|---|
SessionId |
ID of the newly created session. |
IsGlobal |
Returns True if the new session is a global session. Otherwise, returns False. |
See Also
Concepts
UII actions
Events
View predefined actions and events for a hosted control
View embedded help for actions and events
Other Resources
Unified Service Desk configuration walkthroughs
Hosted control types and action/event reference
TechNet: Administration Guide for Unified Service Desk for Microsoft Dynamics CRM
Unified Service Desk
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.