You may notice some articles displaying content inconsistently. Pardon our dust as we update our site.
cross icon
In this article
dropdown icon
Introduction
    About Cisco Business Rules Engine
    dropdown icon
    Business Rules Engine Implementation
      Creating a Set of Rules
        Configure a BRE DataSync Instance
          Creating a Flow with BRE Request Activity
            dropdown icon
            BRE Request
              General Settings
              Query Parameters
              Parse Settings
              Output Variables
          In this article
          cross icon
          dropdown icon
          Introduction
            About Cisco Business Rules Engine
            dropdown icon
            Business Rules Engine Implementation
              Creating a Set of Rules
                Configure a BRE DataSync Instance
                  Creating a Flow with BRE Request Activity
                    dropdown icon
                    BRE Request
                      General Settings
                      Query Parameters
                      Parse Settings
                      Output Variables

                  Webex Contact Center Business Rules Engine User Guide

                  list-menuIn this article

                  Business Rules Engine (BRE) in Webex Contact Center allows customers to upload specific data that the system can access during runtime to make routing decisions or to display information to call agents.

                  Introduction

                  About Cisco Business Rules Engine

                  Using Cisco© Business Rules Engine (BRE), you can upload your data into the Webex Contact Center environment for custom routing and for general implementation. The system retrieves the data at run time and uses it for routing decisions or for displaying information to the agent.

                  For example, a tenant wants to route calls to a specific group of agents based on the Automatic Number Identification (ANI) dialed. In this scenario, the tenant can simply upload a list of ANIs. If the ANI of the incoming call is on that list, the system routes the call to the group of agents specified in the list. If the ANI is not on the list, the system routes the call to the general queue.

                  A typical BRE implementation involves these major components:

                  • The business Rules Engine utility provides an interface for creating domains and rule sets. The BRE requires an incoming decision request to be associated with a domain. The domain contains a set of rules. Each rule is assigned a priority. The BRE tries to match the domain’s highest priority rule with the decision request based on the conditions in the rules.

                  • The BRE DataSync configuration utility provides an interface for defining the Data Sync instances to import the data into the BRE database. After the tenant defines the Data Sync instance, the tenant can upload a CSV file. The system converts the uploaded comma-separated value data into records in the BRE database.

                  • Flow Designer is a drag-and-drop UI used to define flows that orchestrate and automate the components of the Webex Contact Center. You can create a flow that invokes the BRE.

                  Data Handling Guidelines

                  To maintain the integrity and security of the BRE, you must comply with the following data handling guidelines:

                  • Permissible Data Types: You must upload data that is essential for the operation and functionality of the BRE. This includes, but is not limited to, business rules, configurations, and non-sensitive operational data.

                  • Restriction on PII: You must refrain from uploading any Personally Identifiable Information (PII) to the BRE except for the ANI data. PII includes, but is not limited to:

                    • Full names
                    • Social security numbers
                    • Email addresses
                    • Physical addresses
                    • Financial information

                  ANI data refers to the telephone number associated with the calling party. ANI data is the only type of PII that is permissible for uploading to the BRE. This exception is to support specific business functionalities that rely on ANI data.

                  Business Rules Engine Implementation

                  Creating a Set of Rules

                  The Business Rule Engine utility is invoked by the flow when a new voice request is presented to the ACD. This section explains how rules can be set up so that the BRE utility can assist the ACD to route the incoming request.

                  The BRE requires an incoming decision request to be associated with a domain and a set of rules. The BRE tries to match the highest priority rule with the decision request based on conditions in the rules.

                  Be sure to create a ruleset to cover all cases. For example, you should create rules for both Match Found and Match Not Found conditions. Or you could set up rules for multiple conditions. For example, ANI Match or ANI No Match, then Gold or Silver. In this case, you must create a rule for each possibility. For example:

                  • ANI Match and Gold

                  • ANI Match and Silver

                  • ANI No Match and Gold

                  • ANI No Match and Silver

                  To create a set of rules:

                  1

                  Log in to the Cisco Webex Contact Center Management Portal.

                  2

                  Click the path Cisco Webex Contact Center Management Portal > Business Rules to launch the Business Rules Engine utility.

                  BRE leverages Common Identity and a Single Sign‐On interaction. If the tenants have already logged in to Cisco Webex Contact Center Management Portal, they will automatically gain access to the BRE utility for their organization.

                  3

                  Create an attribute to associate with your organization:

                  1. Select Attributes and click Add on the Attributes page.

                  2. On the Attributes page, enter context in the Name field.

                  3. Select the Data Type as Text from the drop-down list.

                    The data type has to be Text in the BRE utility.

                  4. Click Save.

                  4

                  Select Contexts, to display the Contexts page.

                  1. Enter Name and an optional Description.

                  2. If more than one attribute has been created, select the attribute you want to associate with this context from the Attribute drop-down list.

                  3. Click Save.

                  5

                  To create rules, select the Contexts page.

                  1. Click Add Rule section of the page, specify the settings described in the following table:

                    Field

                    Description

                    Name

                    The name of the rule.

                    Description

                    An optional description of the rule.

                    Active

                    Select the check box to specify that the rule is active.

                    Priority

                    Drag the slider to assign a priority to the rule. The rules will be executed based on the assigned priority, from highest (100) to lowest.

                    It is recommended that you start assigning priorities from 100 in the descending order.

                    Conditions

                    Specify the conditions from the drop-down list and select the attributes and values.

                  2. Click Add Rule(Editor) section of the page, specify the settings that are described in the following table:

                    Field

                    Description

                    Name

                    The name of the rule.

                    Description

                    An optional description of the rule.

                    Active

                    Select the check box to specify that the rule is active.

                    Priority

                    Drag the slider to assign a priority to the rule. The rules will be executed based on the assigned priority, from highest (100) to lowest.

                    Conditions

                    Select the conditions from the drop-down list and specify the attributes and values.

                    Rule Editor

                    Enter the code for the rule.

                  3. Click Save.

                  The following example code returns the value for an attribute named routeInfo if the number the caller dialed from (ANI) matches the ANI on the list the tenants that are uploaded to the BRE database.

                  The following example code returns the value NotFound for the attribute routeInfo, if a number the caller dialed from (ANI) did not match an ANI on the list the tenants uploaded to the BRE database.

                  Configure a BRE DataSync Instance

                  The BRE DataSync accesses a database to make routing decisions. You must periodically update the database with the appropriate information. This section describes how the BRE DataSync utility can be configured to update the BRE repository.

                  BRE DataSync Utility

                  Agents do not have access to the BRE DataSync utility.

                  The tenant administrator must create a BRE DataSync instance for every data set that the Rules Engine will consult during its decision-making process. The administrator can create the data set or upload a CSV file. The data is converted into records in the BRE repository.

                  Before you begin

                  Contact Cisco Customer Service Account Manager to get access to the BRE DataSync account.

                  1

                  As an administrator, log in to the BRE DataSync utility.

                  In compliance with the recent enhancements in BRE Hosting and Scalability, the URLs for the DataSync utility have changed. Ensure to use the updated URLs to upload data into BRE.

                  2

                  Select BRE Data List to view all the information that is related to the tenant organization.

                  3

                  (Optional) Select Add BRE Data to add data to the BRE repository.

                  1. Select the organization name from the TenantName drop-down list.

                  2. Select the BRE Lookup Type from the drop-down list.

                  3. Click Add Data to enter the Key and Value.

                  4. (Optional) Click Remove to delete an existing Key and Value.

                  5. Click Submit.

                  4

                  Select Upload BRE CSV Data to upload the CSV file.

                  1. Select the organization name from the TenantName drop-down list.

                  2. Select the BRE Lookup Type from the drop-down list.

                  3. Select Upload to browse and upload the CSV file.

                  4. Click Submit.

                    Sample CSV File with Data
                    The actions Delete, Update, and Add are not case sensitive. You can also use the syntax 725160001,,Delete to delete the data.

                  Creating a Flow with BRE Request Activity

                  You can create flows using the Flow Designer interface available in the Webex Contact Center Management Portal. Create a flow with the BRE Request activity in the Webex Contact Center Flow Designer.

                  For more information about configuring the flow, see the BRE Request.

                  BRE Request

                  Use the BRE Request activity to retrieve the data from your organization's Business Rules Engine (BRE) to use in the flow. The BRE Request activity uses standard HTTP protocols to fetch data from the BRE.

                  The following sections enable you to configure the BRE Request activity:

                  General Settings

                  Parameter

                  Description

                  Activity Label

                  Enter a name for the activity.

                  Activity Description

                  (Optional) Enter a description for the activity.

                  Query Parameters

                  As part of the BRE Request, you can pass the parameters that are provided in the API call to the BRE. In the Key‐Value columns, you can enter the key for the query and the associated value to send along with the query. You can also use the double curly braces syntax to pass variable values.

                  The BRE activity has one predefined Query Parameter: context. This query parameter is passed in the API call to the BRE.

                  The TenantID is automatically injected as a parameter and does not need to be configured.

                  Table 1. Query Parameters

                  Parameter

                  Description

                  Context

                  Contains the reason for the request. This mandatory parameter can't be edited or deleted.

                  This parameter must contain the same value as the value specified in the Attribute context in BRE. For more information, see the Creating a Set of Rules section in the Cisco Webex Contact Center Business Rules Engine User Guide.

                  ANI

                  Contains the originating phone number of the call. This is a default parameter that you can edit or delete, based on the rules configuration in the BRE.

                  A sample value for ANI is {{NewPhoneContact.ANI}}

                  Response Timeout

                  Specifies the connection timeout for the BRE Request. Default is set at 2000 milliseconds.

                  Number of Retries

                  Specifies the number of times the BRE Request is attempted after failure.

                  This parameter is used if the status code is 5xx; for example, 500 or 501.

                  To add a query parameter, click Add New. This adds a row where you can enter the key value pairs. You can add as many query parameters as required as part of the BRE Request.

                  Parse Settings

                  This section enables you to parse the response from the BRE Request into different variables:

                  Parameter

                  Description

                  Response Variable

                  Choose a variable to which you want to extract a particular section from the BRE Request response object. You can choose only Custom Flow variables from the drop-down list.

                  Path Expression

                  Define the Path Expression for parsing the response object. Depending on the kind of data structure of the response object and the use cases for extracting a subset of that information, the Path Expression varies.

                  Data is normalized to an object hierarchy before Path Expression execution, so JSONPath is used in the response object regardless of the configured Content Type.

                  Output Variables

                  The BRE Request returns two output variables:

                  • BRERequest1.httpResponseBody: Returns the response body for the BRE Request.

                  • BRERequest1.httpStatusCode: Returns the status code of the BRE Request.

                    These response codes are classified into the following categories:

                    • Informational responses (100–199)

                    • Successful responses (200–299)

                    • Redirects (300–399)

                    • Client errors (400–499)

                    • Server errors (500–599)

                  Content Type Formats

                  The following examples describe sample input Content Type formats and the JSON response.

                  Content Type XML

                  Use this tool to convert XML into JSON format https://codeshack.io/xml-to-json-converter/.

                  XML Input Format:

                  <note>
                    <to>Tove</to>
                    <from>Jani</from>
                    <heading>Reminder</heading>
                    <body>Test application</body>
                  </note>
                  
                  

                  Data/JSON Normalized Response

                  {
                     "note": {
                        "to": "Tove",
                        "from": "Jani",
                        "heading": "Reminder",
                        "body": "Test application"
                     }
                  }
                  

                  Example JSON Path Expression: Use $.note.from to get the value as Jani.

                  Content Type TOML

                  Use this tool to convert TOML to JSON format https://www.convertjson.com/toml-to-json.htm.

                  TOML Input Format:

                  title = "TOML Example"
                  [owner]
                  name = "Tom Preston-Werner"
                  dob = 1979-05-27T07:32:00-08:00
                  

                  Data/JSON Normalized Response

                  {
                     "title": "TOML Example",
                     "owner": {
                        "name": "Tom Preston-Werner",
                        "dob": "1979-05-27T15:32:00.000Z"
                     }
                  }
                  
                  

                  Example JSON Path Expression: Use $.owner.name to get the value as ‘Tom Preston-Werner’.

                  Content Type YAML

                  Use this tool to convert YAML to JSON format https://www.convertjson.com/yaml-to-json.htm.

                  YAML Input Format:

                  # An employee record
                  martin:
                    name: Martin D'vloper
                    job: Developer
                    skill: Elite
                  

                  Data/JSON Normalized Response

                  {
                     "martin": {
                        "name": "Martin D'vloper",
                        "job": "Developer",
                        "skill": "Elite"
                     }
                  }
                  

                  Example JSON Path Expression: Use $.martin.job to get the value Developer.

                  Content Type JSON

                  Use the JSON Expression Evaluator https://jsonpath.com/.

                  JSON Input Format:

                  {
                     "martin": {
                        "name": "Martin D'vloper",
                        "job": "Developer",
                        "skill": "Elite"
                     }
                  }
                  

                  Data/JSON Normalized Response

                  {
                     "martin": {
                        "name": "Martin D'vloper",
                        "job": "Developer",
                        "skill": "Elite"
                     }
                  }
                  

                  Example JSON Path Expression: Use $.martin.job to get the value Developer.

                  Was this article helpful?