Sync Metadata to Calabrio ONE

You can define which Cisco Webex Contact Center (CWCC) metadata values are synced with CWCC contacts into Calabrio ONE. Metadata can be collected from CWCC's global variable fields or standard fields returned in API endpoint responses. From there, the metadata must be correctly formatted before it can be added to Calabrio ONE. Configuration is complete once the CWCC metadata is added to Calabrio ONE and mapped to a Calabrio ONE metadata label.

This topic details the procedures for collecting and formatting metadata from CWCC API responses, the Calabrio ONE mapping procedure, and examples. After successfully mapped, metadata can be used to add a variety of trackable information to a contact in Calabrio ONE. Metadata fields can be found in the Contact Information tab on the Media Player page (Interactions tab > select a contact). You can view, edit, or delete a metadata field from your system.

Global variables are custom fields created by Cisco. More information on global variables is available within your CWCC Administrator page. Standard custom metadata fields stem from /search endpoints in CWCC. See Cisco documentation for more information, https://developer.webex-cx.com/documentation/search/v1/search-tasks. The following code is a sample /search API response.

Copy
{
  "data": {
    "task": {
      "tasks": [
        {
          "endedTime": 1630380960406,
          "captureRequested": true,
          "isActive": false,
          "queue": [
            {
              "id": "e434a654-df4c-42dc-908b-3d9d0206a616",
              "name": "cb_outdial_queue"
            }
          ],
          "status": "ended",
          "owner": {
            "name": "callbackorg2user1 callbackorg2user1",
            "id": "74ab6507-a32a-479c-bda7-15ff0b6c6c3c"
          },
          "createdTime": 1629450000000,
          "id": "fb53f6d1-5535-4ac8-b081-53834e17d6f5",
          "channelType": "telephony"
        }
      ]
    }
  }
}

Prerequisites

  • Cisco Webex Contact Center 2.0 must be configured as an ACD in Calabrio ONE.
  • A metadata label must first be created in Metadata Manager in Calabrio ONE (located at Application Management > QM > QM Configuration > Metadata Manager) for each CWCC metadata field you want to map to a Calabrio ONE metadata label.

    You must select Text from the Metadata Type drop-down list on the Metadata Manager page for the metadata to map.

    Ensure the ACD Data drop-down list is blank on the Metadata Manager page. All other fields on the Metadata Manager page can be configured as desired.

Page Location

Application Management > Global > System Configuration > ACD Configuration > Cisco Webex Contact Center 2.0

Procedures

These procedures details how to collect and format appropriate metadata from CWCC API response endpoints. All metadata must conform to these formats. There are two available formats depending on if standard fields or global variable fields are used. Fields are case sensitive, and do not include any spaces between text.

You can reference to the sample API request below when formatting metadata.

Copy
{
    taskDetails (
            from: 1631192040000
            to: 1654515806364
            filter: {
                and: [
                    { channelType: { equals: telephony } }
                ]
            }
    ) {
        tasks {
            id
            stringGlobalVariables(name: "Global_VoiceName") { 
                name
                value
            }
        }
    }    
}
  • Standard metadata fields must be formatted as
    <task or taskDetails>.<fieldName>
  • Global variable metadata fields must be formatted as
    <task or taskDetails>.<GlobalVariableName>:<Data Type>

Collect and format CWCC standard metadata fields

  1. Select the appropriate prefix based on the CWCC API response. The endpoints fall into two categories; they are <taskDetails> and <task>.

    Use the text, taskDetails , as a prefix for all taskDetails responses.

    Use the text, task, as a prefix for all task responses.

    EXAMPLE   You decide you want to collect metadata on "channelType". In the sample API request, "channelType" falls in the taskDetails category. Therefore you use the text taskDetails

  2. Add a period. Do not add any spacing.

    EXAMPLE   taskDetails.

  3. If there are no hierarchy levels in the metadata you are collecting, add the field name and format the metadata value as follows. Fields are case sensitive, and do not include any spaces between text.

    <task or taskDetails>.<fieldName>

    EXAMPLE    taskDetails.channelType

  4. If there are hierarchy levels in the metadata you are collecting, format the metadata value as follows, with no spaces between the text. Your CWCC 2.0 metadata is now ready to be mapped to Calabrio ONE metadata labels.

    <task or taskDetails>.<level-one-fieldName>.<level-two-fieldName>

Collect and format CWCC global variable metadata fields

Global variables contain the text GlobalVariables in the API response.

  1. Select the appropriate prefix based on the CWCC API response. The endpoint prefixes fall into two categories; they are <taskDetails> and <task>.

    Use the text, taskDetails , as a prefix for all taskDetails responses.

    Use the text, task, as a prefix for all task responses.

    EXAMPLE   You decide you want to collect metadata on "Global_VoiceName". In the sample API request, "Global_VoiceName" name falls in the tasks category. Therefore you use the text task

  2. Add a period after the prefix.

    EXAMPLE   task.

  3. Find and copy the global variable name as it appears in the API response and then add it to your formatted text.

    EXAMPLE   task.Global_VoiceName

  4. Add a colon.

    EXAMPLE   task.Global_VoiceName:

  5. Find the data type located in the same line as the global variable name. Capitalize the first letter of the data type.

    Below, is a list of all supported Cisco global variables and data types.

    • integerGlobalVariables— where <Integer> is the data type.
    • stringGlobalVariables— where <String> is the data type.
    • longGlobalVariables— where <Long> is the data type.
    • doubleGlobalVariables— where <Double> is the data type.
    • booleanGlobalVariables— where <Boolean> is the data type.

    EXAMPLE   The data type in this example is string. The first letter of the data type must be capitalized. Therefore, use String and add it to your formatted text.
    task.Global_VoiceName:String

  6. Ensure your formatted text is in the following format. Fields are case sensitive, and do not include any spaces between text. Your CWCC 2.0 metadata is now ready to be mapped to Calabrio ONE metadata labels.

    <task or taskDetails>.<GlobalVariableName>:<Data Type>

Map CWCC metadata in Calabrio ONE

  1. Navigate to the Cisco Webex Contact Center 2.0 ACD configuration page.
  2. Within the Metadata Mapping section, click Add Mapping.
  3. In the text box under ACD Metadata Name, enter a CWCC metadata value that is properly formatted.
  4. Click the drop-down list under the Metadata Label column, and select a metadata label from the list of options.
  5. Click the check icon to save the metadata mapping.

    EXAMPLE   

  6. (Optional) Click Add Mapping to add additional metadata mappings and repeat as desired.
  7. Click Save in the top-right corner of the page.

Metadata options from sample requests

The following shows the available metadata options for task.

Copy
task metadata options in a sample request
{
    task(
            from: 1631111190000
            to: 1634123120000
            filter: {
                and: [
                    { channelType: { equals: telephony } }
                ]
            }
    ) {
        tasks {
            id
            status
            channelType
            createdTime
            endedTime
            origin
            destination
            contactReason
            direction
            owner { id name }
            entryPoint { id name }
            terminationType
            channelSubType
            customer { name phoneNumber email }
            isActive
            isCallback
            channelMetaData { email { subject metaData } }
            callbackData {
                callbackRequestTime
                callbackConnectTime
                callbackNumber
                callbackStatus
                callbackOrigin
                callbackType
            }
            recordingLocation
            lastWrapupCodeName
            lastQueue { id name }
            lastSite { id name }
            lastTeam { id name }
            lastEntryPoint { id name }
            totalDuration
            csatScore
            blindTransferCount
            conferenceCount
            conferenceDuration
            consultCount
            consultDuration
            holdCount
            holdDuration
            selfserviceCount
            selfserviceDuration
            connectedCount
            connectedDuration
            consultToQueueCount
            consultToQueueDuration
            transferCount
            wrapupDuration
            ringingDuration
            queueDuration
            queueCount
            captureRequested
        }
    }
}

The following shows the available metadata options for taskDetails.

Copy

taskDetails metadata options in a sample request

{
    taskDetails(
            from: 1631192040000
            to: 1634648040000
            filter: {
                and: [
                    { channelType: { equals: telephony } }
                ]
            }
    ) {
        tasks {
            id
            status
            channelType
            createdTime
            endedTime
            origin
            destination
            contactReason
            direction
            owner { id name }
            entryPoint { id name }
            terminationType
            channelSubType
            customer { name phoneNumber email }
            isActive
            isCallback
            channelMetaData { email { subject metaData } }
            callbackData {
                callbackRequestTime
                callbackConnectTime
                callbackNumber
                callbackStatus
                callbackOrigin
                callbackType
            }
            recordingLocation
            lastWrapupCodeName
            lastQueue { id name }
            lastSite { id name }
            lastTeam { id name }
            lastEntryPoint { id name }
            totalDuration
            csatScore
            blindTransferCount
            conferenceCount
            conferenceDuration
            consultCount
            consultDuration
            holdCount
            holdDuration
            selfserviceCount
            selfserviceDuration
            connectedCount
            connectedDuration
            consultToQueueCount
            consultToQueueDuration
            transferCount
            wrapupDuration
            ringingDuration
            queueDuration
            queueCount
            captureRequested
        }
    }
}

Unsupported arrays

Lists and arrays are not supported for custom metadata. The following table specifies which arrays are not supported .

Unsupported arrays Description
queues Queue Information.
sites ID, name of the physical contact center location to which the task was distributed.
teams ID, name of the team to which the call was distributed.
contributors Agents who have handled the task.
entryPoints ID, name of the initial landing place of a contact in CWCC.