Add a skill control for routed records

Dynamics 365 provides a custom control that you can embed in your forms to view the skills of any routed record. To display the skill control for the routed record in the Customer Service workspace or Omnichannel for Customer Service (deprecated) app, add the control to the multisession form.

Prerequisites

Add a skill control

In the following example, to add a skill control named Skills to the Case for Interactive experience form:

  1. In Power Apps, select the required environment, and then select the solution that you want to customize.

  2. Go to Tables, and select Case > Forms.

  3. Select the Case for Interactive experience form.

  4. Select Component, and on the Components site map, drag and drop a 1-Column section on to the form.

  5. Select the section and in the right pane, enter the properties, such as the label.

  6. In the site map, under Table columns, select New table column, and do the following steps in the right pane:

    1. On the Properties tab, enter the details under Display options.
    2. Expand Components, and select Component.
    3. In Add component, select Get more components.
    4. Search CC_OCRoutedEtnRelatedRecordsControl, select Components and then select Add. The component is added to the list.
    5. Select the component again.
    6. To filter the skills based on the selected queue, on the Add CC_OCRoutedEtnRelatedRecordsControl pane, in the Static value field for CC_FetchXML or CC_skillFilter_FetchXml, enter a fetch XML that you have defined to curate the relevant set of skills that match the queue requirements. You can use the Sample Fetch XML listed in this article.
  7. Select Done and then save and publish the solution.

At runtime, your agents will be able to view the skill control on all routed case records in Customer Service Hub. They can also update the skills required for the routed records in real time.

Though we don't recommend setting up parameters for the skill control, if you want to manually enter the logical collection name or the relationship name of the record, you can use the following OData queries to get the information.

  • Logical collection name: Run the following OData query and enter the same in the Value field of the CC_OCRoutedEntityName_value property.

    GET [Organization_URI]/api/data/v9.1/EntityDefinitions(LogicalName='{EntityLogicalName}')?$select=LogicalCollectionName,LogicalName

  • Relationship name: Run any of the following OData queries for one-to-many, many-to-one, or many-to-many relationships, and enter the same in the Value field of the CC_OCRoutedEntityRelationshipName_value property.

    GET [Organization_URI]/api/data/v9.1/EntityDefinitions(LogicalName='incident')/OneToManyRelationships

    GET [Organization_URI]/api/data/v9.1/EntityDefinitions(LogicalName='incident')/ManyToOneRelationships

    GET [Organization_URI]/api/data/v9.1/EntityDefinitions(LogicalName=%27incident%27)/ManyToManyRelationships

Sample Fetch XML

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
	<entity name="characteristic">
		<attribute name="name" />
		<order attribute="name" descending="false" />
		<link-entity name="sc_characteristic_queue" from="characteristicid" to="characteristicid" visible="false" intersect="true">
			<link-entity name="queue" from="queueid" to="queueid" alias="am">
				<link-entity name="queueitem" from="queueid" to="queueid" link-type="inner" alias="an">
					<filter type="and">
						<condition attribute='objectid' operator='eq' value='eq_contextEntityId' />
					</filter>
				</link-entity>
			</link-entity>
		</link-entity>
	</entity>
</fetch>

See also

Overview of unified routing
Set up record routing
Set up unified routing
Query table definitions using the Web API
Add, configure, move, or delete components on a form