Manage application tab templates

Applies to: Dynamics 365 Contact Center—standalone and Dynamics 365 Customer Service only

An application tab template in Customer Service lets you specify the type of applications that can be opened when agents start a session in Customer Service workspace.

The vertical bar on the left panel shows the list of sessions. The panel always shows the Home session that you can't close or customize.

In Customer Service workspace, every session has at least one application tab, called the "Anchor tab", that you can't close or customize. When you start a session, the corresponding application page and any other additional pages open based on your configuration settings.

Using the application tab template, you can define applications that are available for a session, and then associate those applications with the session. For example, you can create the Active Conversation page tab and associate it with a chat or SMS session. Now, when an agent accepts a notification from the chat or SMS channels, a session starts and the Active Conversation page opens.

As an administrator, you can create multiple application tab templates.

Note

You can't customize the out-of-the-box templates, but can create your own custom templates.

Prerequisites

You need the System Administrator role to perform the tasks mentioned in this article.

Create application tab templates

  1. Select Customer Service admin center, and perform the steps.

    1. In the site map, select Workspaces in Agent experience.
    2. On the Workspaces page, select Manage for Application tab templates.
  2. Select New on the Active Application Tab Templates page.

  3. Specify the following on the New Application Tab Template page.

    Tab Name Description Example
    General Name Specify the name of the application tab. This name isn't visible for the agents at runtime. Knowledge article search
    General Unique name Provide a unique identifier in the <prefix>_<name> format.
    IMPORTANT
    The following are required for the unique name:
    • The prefix can only be alphanumeric and its length must be between 3 and 8 characters.
    • An underscore must be added between the prefix and name.

    You can select the light bulb icon, and then select Apply to verify whether the name you've entered meets the requirements.
    contoso_application_tab
    General Title Provide a title for the application that you want the agents to see at runtime. Knowledge article search
    General Page type Select a page type from the list. Web resource
    General Description Provide a description for your reference. The page type is used to display a knowledge base search page.
  4. Select Save. The Parameters section displays the parameters for the page type that you selected.

    Note

    Whenever you edit the application tab template, save the changes so you see the corresponding fields in the Parameters section.

  5. Select the Value field of a parameter that you want to edit and provide the value.

  6. Select Save.

Page types

The following page types are available:

  • Dashboard
  • Entity list
  • Entity record
  • Search
  • Third-party website
  • Web resource
  • Control (for internal use only)
  • Custom

Dashboard

This page type is used to display the dashboard as an application. The following parameter is available for the dashboard page type.

Parameter Description Required Supported values Example
dashboardId GUID of the dashboard Yes String d201a642-6283-4f1d-81b7-da4b1685e698

Note

  • The default dashboard appears if the dashboardId parameter is:
    > - blank
    > - incorrect
    > - a dashboard that isn't included in the app module definition
  • Personal default dashboards aren't supported.

Entity list

This page type is used to display an entity view that defines how a list of records for a specific entity is displayed. The following parameters are available for the entity view page type.

Parameter Description Required Supported values Example
entityName Logical name of the entity Yes String

Slugs
account

{anchor._customerid_value@Microsoft.Dynamics.CRM.lookuplogicalname}
viewId GUID of the view No String 00000000-0000-0000-00aa-000010001031

Note

If the target view doesn't exist or isn't included in the app module definition, the default entity view is displayed instead.

Entity record

This page type is used to display an existing record or open a form to create a new record.

The following parameters are available for the entity record page type when an existing record is opened.

Parameter Description Required Supported values Example
entityName Logical name of the entity Yes String

Slugs

account

{anchor._customerid_value@Microsoft.Dynamics.CRM.lookuplogicalname}

entityId GUID of the entity record No String

Slugs

d49e62a8-90df-e311-9565-a45d36fc5fe8

{anchor._customerid_value}

formId GUID of the form instance No String 915f6055-2e07-4276-ae08-2b96c8d02c57
validateRecord Checks if the record exists in the organization database No Boolean True

Note

If the system doesn't match the entityId value to an existing record in Dataverse, then the form opens in create mode to create a record. If you want the system to load the form only when the record exists in Dataverse, then set the validateRecord parameter to true.

If the validateRecord parameter isn't present, create the parameter as follows:

  1. In the Application Tab Template form, select New Template Parameter and enter the following values:
    • Name: validateRecord
    • Unique Name: new_tabtemplateparam_validateRecord
    • Value: True
  2. Save and close.

The following parameters are available for the entity record page type when an entity form is opened to create a record.

Parameter Description Required Supported values Example
entityName Logical name of the entity Yes String

Slugs

contact

{anchor._customerid_value@Microsoft.Dynamics.CRM.lookuplogicalname}

data Data to be prepopulated in the form No JSON {"subject":"Task created from {anchor.ticketnumber}","description":"Follow-up needed with customer","prioritycode":"2","scheduledend":"06/12/2023", "regardingobjectid": [{"id": "{anchor.incidentid}", "name": "{anchor.title}", "entityType":"{anchor.entityName}"}]}
formId GUID of the form instance No String 915f6055-2e07-4276-ae08-2b96c8d02c57

The following parameters are available for the entity search page type.

Parameter Description Required Supported values Example
searchType Define to use Relevance search or Categorized search. The possible values are:
  • 0 for Relevance search
  • 1 for Categorized search
No Number 0
searchText Define the string you want to search. Yes String

Slugs

OData


contoso

{anchor.title}

{anchor._customerid_value@OData.Community.Display.V1.FormattedValue}
{$odata.incident.title.?$filter=incidentid eq '{anchor.incidentid}'&$select=title}

Third-party website

This page type is used to display third-party websites as an application. You can use this type to host only those websites that are compatible with iframe hosting. If your website isn't compatible with iframe hosting, an error message that the website refused to connect is displayed. The application tab template parses the URL and data parameters to format the URL address to be displayed.

Parameter Description Required Supported values Example
url The website URL to be displayed in the app tab
Yes String
https://www.bing.com/search?q=
data Additional data parameter to be parsed with the url parameter
No String

Slugs

OData


contoso

{anchor.title}

{anchor._customerid_value@OData.Community.Display.V1.FormattedValue}
{$odata.incident.title.?$filter=incidentid eq '{anchor.incidentid}'&$select=title}

Note

When an agent switches from the third-party website type of tab template to another tab, and then switches back to the third-party website tab template, the page is refreshed to the initial state. For more information, see the "Third-party application tab refreshes when focus is changed" section in the Known issues document.

How parsing works

These examples are based on a scenario where the case was opened as the Anchor tab in a new session with ticket number: CAS-01003-P3B7G1.

url parameter: https://www.bing.com/search?q=
data parameter using slugs: {anchor.ticketnumber}
Expected URL: https://www.bing.com/search?q=CAS-01003-P3B7G1

url parameter: https://www.bing.com/search?q=
data parameter using OData: {$odata.incident.ticketnumber.?$filter=incidentid eq'{anchor.incidentid}'&$select=ticketnumber}
Expected URL: https://www.bing.com/search?q=CAS-01003-P3B7G1

Note

The url parameter requires the correct URL format using 'https://'.

Web resource

This page type is used to display web resources that represent files, which are used to extend the web application such as HTML files, JavaScript, CSS, and several image formats. The following parameters are available for the web resources page type.

Parameter Description Required Supported values Example
webresourceName Name of the web resource to open Yes String new_myresource.html
data Provide string or key value pair, according to the requirement of the web resource. No String

Slugs

OData


contoso

{anchor.title}

{anchor._customerid_value@OData.Community.Display.V1.FormattedValue}
{$odata.incident.title.?$filter=incidentid eq '{anchor.incidentid}'&$select=title}

Note

When an agent switches from the web resource type of tab template to another tab, and then switches back to the web resource type of tab template, the page is refreshed to the initial state. For more information, see the "Third-party application tab refreshes when focus is changed" section in the Known issues document.

Custom

This page type is used to display custom pages on the application tab. You can use this tab template type to host custom pages that are available in the corresponding app. For more information about custom pages, see Overview of custom pages for model-driven apps.

The following parameters are available for custom pages.

Parameter Description Required Supported values Example
entityName Logical name of the entity No String

Slugs
incident

{anchor.entityName}
name Unique name of the custom page Yes String
new_mycustompage
recordId GUID of the entity record No String

Slugs



OData



d49e62a8-90df-e311-9565-a45d36fc5fe8

{caseId}

{anchor.incidentid}

{$odata.incident.title.?$filter=incidentid eq '{anchor.incidentid}'&$select=title}


Out-of-the-box application tab templates

The following out-of-the-box application tab templates are available.

Template name Description Application type
Active Conversation Displays the Active Conversation page in the tab. Entity Record
Entity record Displays an entity record in the tab. Entity Record
Knowledge Search Displays the knowledge article search page in the tab. Web Resource
Omnichannel Conversations Dashboard Displays the Omnichannel Conversations Dashboard in the tab. Dashboard
Omnichannel Intraday Insights Displays a Power BI report in the tab. Control
Quick Reply Preview Displays a quick reply in the tab. Control
Rich Message Preview Displays a rich message in the tab. Control
Search Displays the Omnichannel search page in the tab. Control

Get started with Customer Service admin center
Manage session templates
Manage notification templates
Associate templates with workstreams