Requirements

Before you integrate Webex Contact Center with Microsoft Dynamics 365 console, ensure you have the following:

  • Access to Webex Contact Center.

  • Administrator access to the Control Hub at https://admin.webex.com and the Webex Contact Center Management Portal.

  • An agent with access to the Desktop.
  • Agent access to the following domain that is added in the Content Security Policy Allowed List:

    • *.dynamics.com

  • Webex Contact Center for Microsoft Dynamics uses the Microsoft Channel Integration Framework (CIF) to integrate with Agent desktop. Single Session Dynamics app requires CIF version 1 and Multi Session Dynamics apps require CIF version 2.

  • We don't support integrations with Microsoft Dynamics on-premise versions.

  • A Microsoft Dynamics 365 service or instance. 

Integrate

To integrate Webex Contact Center with Microsoft Dynamics 365console, complete the following tasks:

Start a Dynamics 365 Customer Service Trial

1

Go to the Dynamics 365 Sales page at: https://dynamics.microsoft.com/en-us/dynamics-365-free-trial/.

2

Click Try for free.

3

Follow the on-screen guidance to enter your email and contact information.

4

Set up your account and click the email to start your free trial.

5

Log in to the Power Platform admin center with your trial instance at: https://admin.powerplatform.microsoft.com/environments/<your instance>.

6

In the site map, select Environments.

7

Select the environment you created and note the environment in the Environment URL Use this URL when you configure the Dynamics 365 Desktop layout on Webex Contact Center.

Install Webex Contact Center CRM Connector for Microsoft Dynamics 365

Before you begin

Ensure that you install the Channel Integration Framework application before you install Webex Contact Center CRM Connector for Microsoft Dynamics 365. If the framework is not yet installed, follow the installation steps outlined on the  official documentation to install it.

1

Sign in to Dynamics 365.

2

Click the gear icon at the upper right of the window and select Advanced Settings.

3

On the Settings page, click Microsoft AppSource.

4

In the Search field, search for and select Webex Contact Center CRM Connector for Microsoft Dynamics 365.

5

Click Get it now.

6

Sign in to Microsoft AppSource with the account that was used to create the Dynamics instance.

7

Accept the Legal Terms and Privacy Statement.

8

Click Agree. The installation takes some time to complete.

9

To check the status of the installation, log in to the Power Platform admin center at: https://admin.powerplatform.microsoft.com/environments/<your instance>.

10

Select Environments > Customer Service Trial.

11

On the Sales Trial page, go to the Resources pane and click Dynamics 365 Apps.

What to do next

Ensure that the status of the following applications is Installed:

  • Webex Contact Center Webex Contact Center CRM Connector for Microsoft Dynamics 365

  • Dynamics 365 Channel Integration Framework

Set Up the Webex Contact Center Connector for Microsoft Dynamics 365

Multisession applications such as Omnichannel for Customer Service or Customer Service Workspace provide agents with a unified workspace experience allowing them to multitask on various customer issues simultaneously.

To configure the Webex Contact Center for Microsoft Dynamics on a single session app, such as Customer Service Hub, refer to Single Session Configuration.

Customer Service Admin Center (Channel integration framework version v2 configurations)

Multisession is configured in the Customer Service admin center.

1

Open the Apps overview and select the Customer Service admin center app.

2

Select Workspaces.

3

Navigate to Agent experience profiles.

4

Create a new profile.

5

The new agent experience profile dialog appears.

6

Specify the following values—

  • Name: Webex Contact Center
  • Unique Name: wxcc_appprofile
7

Click Create to create the agent experience profile.

8

Edit channel providers.

9

Create a new channel provider.

10

Specify the values as shown in the screenshot below.

11

Specify the following values—

  • Name: WebexChannelProvider
  • Unique Name: wxcc_channelProvider_Dynamics
  • Label: Webex Contact Center
  • Channel URL: https://wxcc-crmconnectors.ciscoccservice.com/dynamics/connector/v1/index.html?base=https://<DYN ORG>.crm<num>.dynamics.com
  • Enable Out Bound: Yes
  • Channel Order: 1
  • API Version: 2
  • Custom Parameters:

    {

    “region”: “<your region>”

    }

  • Sandbox Configuration: --
  • Enable Analytics: No
For a detailed list of custom parameters, see Customize tab.
12

Click Save and Close to update your changes.

13

Edit channel providers again.

14

If the profile contains other channels such as chat, enable On toggle for all active channels.

15

Click Save and Close to update your changes.

16

Edit users.

17

Add the user entries.

Set Up Application tab and Session templates

1

Navigate back to Workspace and choose Manage next to Application tab templates.

2

Create a new application tab template.

3

Specify the following values:

  • Name: ApplicationTab
  • Unique Name: wxcc_apptab
  • Title: Webex Contact Center
  • Page Type: Dashboard
  • Description: --
  • Can close: Yes
4

Click Save to save your changes.

Session templates

This section describes how to configure the appearance and functionality of the session that includes the WxCC for Microsoft Dynamics connector. It also covers the configuration for sessions that are initiated by incoming calls.

1

Navigate back to Workspaces and choose Manage next to Session templates.

2

Select Newto create a session template for the Default Session.

3

Specify the following values:

  • Name: Webex
  • Unique Name: wxcc_defaultsession (the name must exactly match the above value)
  • Type: Generic
  • Title: Webex
  • Anchor tab: Choose the application tab template created in the Create a new application tab step.
4

Click Save and Close.

5

Select New to create another session template for the Call Session.

6

Specify the following values:

  • Name: Webex Call Session
  • Unique Name: wxcc_callsession (the name must exactly match this value)
  • Type: Generic
  • Communication panel mode: Docked
  • Title: Call (callDetails)
  • Anchor tab: Choose the application tab template created in the Create a new application tab step.
7

Click Save to save your changes.

Configure Channel Provider (Channel integration framework version v1 configurations)

1

Navigate to Channel Integration Framework.

2

Create new channel provider.

3

Specify the following values:

4

Click Save to save your changes.

Customize

The table below details how to customize the properties of the custom desktop layout file. Tailor the behavior of WxCC for Microsoft Dynamics to fit your specific business needs.

Channel Integration Framework customizations

Desktop layout propertyDescriptionValues
regionDefines the WxCC Region used by agents
  • North America: us1
  • Canada: ca1
  • UK: eu1
  • EU: eu2
  • APJC: anz1
  • Japan: jp1
  • Singapore: sg1
shareRecordVariableDefines the CAD variable to store records for transfers which allows sharing of a record in consultation call scenarios.Name of the CAD variable
screenPopOnNoMatchDefines whether to open a new record for if the search returns no result

true or false

Default: false

screenPopIncomingMode

Defines which record type should be opened in the CRM and which information is displayed in the connector when the agent receives a call.

For customer and disabled, the record type defined in customerTable will be applied.

customer, case or disabled

Default: customer

customerTable

Defines the record type to search in Microsoft Dynamics

Search in the customerTable is applied when screenPopIncomingMode is set to customer or disabled

When screenPopIncomingMode is set to case, this setting is ignored for the search.

account or contact

Default: contact

lookupFields

Defines the fields that are searched in the configured record type.

The field names must be separated by commas.

Always used in connection with lookupVariable

All available fields on customerTable or case of type string and memo.

Example:

mobilephone, telephone1

lookupVariable

Defines the CAD variables to be used for caller identification.

They are always used in connection with lookupFields

CAD Variable

See chapter “List of Variables” for available variables

Default: ani

countryCodeRemovalDefines if the leading country code of a telephone number should be removed for the search

true or false

Default: false

customerRecordMapping

Defines what data is stored in which field when a new record is created via the Create New tab.

The parameter customerTable defines if a new account or contact form is being opened

If nothing is defined, a new record is opened without data.

CAD variables need to be in curly brackets.

Example: mobilephone={ani}&telephone1={CAD}

See chapter “List of Variables” for available variables

caseRecordMapping

Defines what data is stored in which field when a new case record is created via the connector.

This setting is used to open a new case:

  • manually via the “Create new” tab
  • automatically if no matching data record is found for a call.

If nothing is defined, a new record is opened without data.

CAD variables need to be in curly brackets.

Example:

title=Case {ani}&description=Hotline {CAD}

See chapter “List of Variables” for available variables

activityRecordMapping

Defines what data is stored in which field when a new phonecall record is created via the connector.

This allows WxCC CAD variables to be saved on the phonecall record in Microsoft Dynamics.

Variables need to be in curly brackets.

Example:

Description={notes}&subject=Call – {due_date_cti}

See chapter “List of Variables” for available variables.

omniReasonCrmDefines the Microsoft Dynamics presence status (presence text) which should be set when the agent receives a voice call.

Example:

"omniReasonCrm": “Busy"

omniReasonVoiceDefines which WxCC idle reason the agent should be set to when the Microsoft Dynamics presence status changes to either Busy or Busy – DND.

GUID of the WxCC idle reason

Example:

"omniReasonVoice": "d7b8cc8a-ea3c-41cc-9bc7-3dca6cd549c0"

enableNotificationsDefines if browser-based desktop notifications are shown.

true or false

Default: false

noteFieldDefines the field of a phonecall record where the notes should be storedAll simple string columns of the phonecall record

Example Configuration 1 Screenpop of an existing case

  • Webex Contact Center region is set to eu2
  • Share record variable is set to ssShareVariable
  • Doing a lookup on the CRM field ticketnumber based on the CAD variable testCaseId
  • If no record is found a new form is opened
  • State change for OmniChannel
  • Notes are stored on the description of the phonecall record
  • Microsoft Dynamics presence state is set to busy when a call comes in
  • WxCC status is set to idle when the Microsoft Dynamics presence state changes to Busy or Busy DND
{
  "region": "eu2",
  "shareRecordVariable": "ssShareVariable",
  "lookupFields": "ticketnumber",
  "screenPopIncomingMode": "case",
  "screenPopOnNoMatch": true,
  "lookupVariable": "testCaseId",
  "activityRecordMapping": "description={notes},
  "noteField": "description",
  "omniReasonCrm": "Busy",
  "omniReasonVoice": "d7b8cc8a-ea3c-41cc-9bc7-3dca6cd549c0"
}

Example Configuration 2 Screenpop of a contact based on the ANI

  • Webex Contact Center region is set to us1
  • Share record variable is set to ssShareVariable
  • Doing a lookup on the CRM fields mobilephone and telephone1 in the contact table based on the ANI
  • Desktop notifications are enabled
  • No screenpop when the search returns no result
  • The mobilephone field is prefilled with the ANI when using the create new contact link
  • The case title is prefilled with “Case from {ani}” when using the create new case link
  • Notes are stored in the description field of the phonecall record
{
  "region": "us1",
  "shareRecordVariable": "ssShareVariable",
  "lookupFields": "mobilephone, telephone1",
  "customerTable": "contact",
  "screenPopIncomingMode": "customer",
  "screenPopOnNoMatch": false,
  "enableNotifications": true,
  "lookupVariable": "ani",
  "customerRecordMapping": "mobilephone={ani}",
  "caseRecordMapping": "title=Case from {ani}"
  "noteField": "description"
}

List of variables

These variables can be used on the custom parameter configuration with the following parameters:

Variable name Variable description
ani Calling number
dn Called number
wrapUpAuxCodeId ID of the wrapup reason selected by the agent
wrapUpAuxCodeName Name of the wrapup reason selected by the agent
virtualTeamName Name of the team assigned to the call
ronaTimeout Value of the Ring On No Answer parameter
Custom Webex CC variables Name of the variable defined on the Webex CC flow designer
due_date_cti

The date of call establishment as string provided from WxCC (UTC).

Only available for activityRecordMapping

due_date

The date of call establishment as string provided from WxCC as local time of the server.

Only available for activityRecordMapping

Screen Pop

A "Screen Pop" node is available in the WxCC Flow. It can be used to trigger a screen pop inside Microsoft Dynamics or in a separate window.

Further information on this function can be found in the Flow Designer documentation.

Screen Pop in a separate window

The queryParameters will be appended as search parameters to the URL.

The following modes are supported:

  • New browser tab: Always opens a new browser tab.
  • Existing browser tab: On the first `Existing browser tab` screen pop, a new browser tab is opened. That tab will be the dedicated tab for subsequent `Existing browser tab` screen pops and the URL will be refresh within that specific browser tab.
  • Inside Desktop: It is handled the same way as *New browser tab*.

The currently opened page can prevent a redirect. In that case an `Existing browser tab` screen pop opens in a new browser tab.

Screen Pop in Microsoft Dynamics

To open a record in Microsoft Dynamics, a **relative** URL must be provided.

The following parameters needs to be defined in the "Screen Pop" node via the queryParameters or as search parameters in the URL (e.g. `/some/relative/url.html?recordType=incident&crmId=00000000-0000-0000-0000-000000000000`).

KeyDescription
recordTypeMicrosoft Dynamics table name of the record (e.g. `incident`).
crmIdUnique identifier of the Microsoft Dynamics record.
If both keys are present in the queryParameters, the defined URL will be ignored.

Release updates

This update (relevant on April 02, 2025) addresses the following enhancements and bug fixes:

  • Enable screen pop of an existing CRM case.
  • Initiate screen pops by a WxCC flow within the CRM.
  • Supports consult, conference, and warm transfer to entry points.
  • Station login options are displayed based on the desktop profile setting in the Control Hub.
  • Fix the refresh token mechanism to reduce the need to sign in again for users.
  • Consultation calls to an invalid number don’t show an error message.
  • Prevent consultation work item from getting stuck.
  • Prevent clicking the wrap-up submit button multiple times.
  • When an alert is displayed, buttons don’t get stuck on a circular progress icon when clicked.
  • A call log doesn't autocomplete itself on calls transferred from a consultation or a conference call.
  • Call Recording Controls are now available on a directly transferred call.