Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Overview

Each customer of SummitAI uses the SummitAI Application for managing different business processes. In certain situations, customers have specific requirements and want those requirements as a standard feature to make sure their business processes are fully operational.

Problem Statement

Following challenges were observed while developing such features separately for each customer:

  • Longer wait time for customer from the time it is requested until it is released that leads to poor Customer Satisfaction (CSAT).
  • Increased operational activities by going through build cycles, testing cycles and production cycles.
  • Adds too many complexities.
  • Makes the product bulky.

Solution

To address this, the business designer feature is primarily introduced in the SummitAI. Now, using the Business Rule Designer, the customers can create/configure their requirements by defining business rules that align with their business requirements directly using the front-end.

What is a Business Rule?

Technical definition

A business rule is a server-side script that runs when a predefined trigger satisfies the preconfigured condition(s) leading to a defined action. The Administrators can define a business rule in three steps.

  1. Trigger - Lets you to define when (After or Async) the business rules should execute (Trigger Type: Create or Update).

  2. Condition - Lets you to define criteria to apply the action.

  3. Action - Lets you to define what should happen if the trigger – matches the set of conditions defined. The actions can be: 

    1. Update specific fields of the record

    2. Notify set of audience

    3. Use API to create or update record

Benefits of Business Rule Designer

Following are key benefits of Business Rule Designer:

  • Do it yourself using the Front-end
  • Enables automation of actions by defining conditions and specifying action to trigger when the condition is met
  • Faster time to market
  • Eliminates all Operational activities
  • Reduces Feature requests
  • No need to develop point solutions

Usage of Business Rules

This section provides you the various use cases for the following scenarios in Transitive and Reflexive Nature:

  • Business Rules with same order number 
  • Business Rules with different order number

Transitive Nature: 
a = b
b = c
c = d

 Scenario 1: All Business Rules have same order number (Basic)

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

Symptom contains "Server"

Update Category = Server

100

BR 2/ 02-03-2021

When Incident = Created

If Category = Server

Update Priority = P1

100

BR 3 / 03-03-2021

When Incident = Created

If Priority = P1

Send Mail to WO

100

BR 4 / 04-03-2021

When Incident = Created

If Category = Network

Update Priority = P2

100

BR 5 / 05-03-2021

When Incident = Created

If Impact = High

Send Mail to WO

100

Use Case: End user logs the incident with symptom containing "Server"

Sequence of Execution

1

Condition Matches > BR 1 Executes

100

2

Condition Matches > BR 2 Executes

100

3

Condition Matches > BR 3 Executes

100

4

Condition Doesn’t Match > BR 4 Doesn’t Execute

100

5

Condition Doesn’t Match > BR 5 Doesn’t Execute

100

Incident Database

Incident ID

Symptom

Category

Priority

Send E-Mail

100

Server problem

Server

P1

Yes

Parsing Logic / Inference

When all the business rules have the same execution order, then execute each of the business rules in incremental order of creation date.

 Scenario 2: All Business Rules have same order number (Advanced)

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

If Priority = P1

Send Mail to WO

100

BR 2/ 02-03-2021

When Incident = Created

If Category = Server

Update Priority = P1

100

BR 3 / 03-03-2021

When Incident = Created

Symptom contains "Server"

Update Category = Server

100

BR 4 / 04-03-2021

When Incident = Created

If Category = Network

Update Priority = P2

100

BR 5 / 05-03-2021

When Incident = Created

If Impact = High

Send Mail to WO

100

Use Case: End user logs the incident with symptom containing "Server"

Sequence of Execution

Condition Met 

BR Executes


1

Condition Doesn’t Match 

BR 1 Doesn’t Execute

100

2

Condition Doesn’t Match 

BR 2 Doesn’t Execute

100

3

Condition Matches

BR 3 Executes

100

4

Condition Doesn’t Match 

BR 4 Doesn’t Execute

100

5

Condition Doesn’t Match 

BR 5 Doesn’t Execute

100

Incident Database

Incident ID

Symptom

Category

Priority

Send E-Mail

100

Server problem

Server



Parsing Logic / Inference

When all the business rules have the same execution order, then execute each of the business rules in incremental order of creation date.

 Scenario 3: Business Rules have different order number (Advanced)

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

If Priority = P1

Send Mail to WO

100

BR 2/ 02-03-2021

When Incident = Created

If Category = Server

Update Priority = P1

99

BR 3 / 03-03-2021

When Incident = Created

Symptom contains "Server"

Update Category = Server

98

BR 4 / 04-03-2021

When Incident = Created

If Category = Network

Update Priority = P2

100

BR 5 / 05-03-2021

When Incident = Created

If Impact = High

Send Mail to WO

100

Use Case: End user logs the incident with symptom containing "Server"

Sequence of Execution

Condition Met 

BR Executes


1

Condition Doesn’t Match 

BR 1 Doesn’t Execute

100

2

Condition Doesn’t Match 

BR 4 Doesn’t Execute

100

3

Condition Doesn’t Match 

BR 5 Doesn’t Execute

100

4

Condition Doesn’t Match 

BR 2 Doesn’t Execute

99

5

Condition Matches

BR 3 Executes

98

Incident Database

Incident ID

Symptom

Category

Priority

Send E-Mail

100

Server problem

Server



Parsing Logic / Inference

When all the business rules have different execution orders, filter the rules with the highest order, execute them incrementally (incremental order of creation date), and then execute the business rules with lower-order nos.

 Scenario 4: Business Rules have different order number (Advanced)

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

If Priority = P1

Send Mail to WO

98

BR 2/ 02-03-2021

When Incident = Created

If Category = Server

Update Priority = P1

99

BR 3 / 03-03-2021

When Incident = Created

Symptom contains "Server"

Update Category = Server

100

BR 4 / 04-03-2021

When Incident = Created

If Category = Network

Update Priority = P2

100

BR 5 / 05-03-2021

When Incident = Created

If Impact = High

Send Mail to WO

100

Use Case: End user logs the incident with symptom containing "Server"

Sequence of Execution

Condition Met 

BR Executes


BR 3 / 03-03-2021

Condition Matches

BR 1 Executes

100

BR 4 / 04-03-2021

Condition Doesn’t Match 

BR 4 Doesn’t Execute

100

BR 5 / 05-03-2021

Condition Doesn’t Match 

BR 5 Doesn’t Execute

100

BR 2/ 02-03-2021

Condition Doesn’t Match 

BR 2 Executes

99

BR 1 / 01-03-2021

Condition Matches

BR 1 Executes

98

Incident Database

Incident ID

Symptom

Category

Priority

Send E-Mail

100

Server problem

Server

P1

yes

Parsing Logic / Inference

When all the business rules have different execution orders, filter the rules with the highest order, execute them incrementally (incremental order of creation date), and then execute the business rules with lower-order nos.

 Scenario 5: Business Rules have different order number (Advanced)

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

If Priority = P1

Send Mail to WO

99

BR 2/ 02-03-2021

When Incident = Created

If Category = Server

Update Priority = P1

98

BR 3 / 03-03-2021

When Incident = Created

Symptom contains "Server"

Update Category = Server

100

BR 4 / 04-03-2021

When Incident = Created

If Category = Network

Update Priority = P2

100

BR 5 / 05-03-2021

When Incident = Created

If Impact = High

Send Mail to WO

100

Use Case: End user logs the incident with symptom containing "Server"

Sequence of Execution

Condition Met 

BR Executes


BR 3 / 03-03-2021

Condition Matches

BR 3 Executes

100

BR 4 / 04-03-2021

Condition Doesn’t Match 

BR 4 Doesn’t Execute

100

BR 5 / 05-03-2021

Condition Doesn’t Match 

BR 5 Doesn’t Execute

100

BR 1 / 01-03-2021

Condition Doesn’t Match 

BR 1 Doesn’t Execute

99

BR 2/ 02-03-2021

Condition Doesn’t Match 

BR 2 Doesn’t Execute

98

Incident Database

Incident ID

Symptom

Category

Priority

Send E-Mail

100

Server problem

Server



Parsing Logic / Inference

When all the business rules have different execution orders, filter the rules with the highest order, execute them incrementally (incremental order of creation date), and then execute the business rules with lower-order nos.

Transitive Nature (Mirror Image):
a = c (c1)
b = c (c1)

 Scenario 6: All Business Rules have same order number (Advanced)

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

Category = Server

Workgroup = Server Team

100

BR 2/ 02-03-2021

When Incident = Created

Medium = Email

Workgroup = Network Team

100

Use Case: End user logs the incident with Symptom as Server Problem, Category as Server and Medium as email

Sequence of Execution

Condition Met 

BR Executes


BR 1 / 01-03-2021

Condition Matches

BR 1 Executes

100

BR 2/ 02-03-2021

Condition Matches 

BR 2 Executes

100

Incident Database

Incident ID

Symptom

Category

Medium

Workgroup

100

Server problem

Server

Email

Network Team

Parsing Logic / Inference

When all the business rules have the same execution order and want to update the same field, then execute each of the business rules in incremental order of creation date. The field value in the last business rule executed will be considered.

 Scenario 7: All Business Rules have different order number

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

Category = Server

Workgroup = Server Team

100

BR 2/ 02-03-2021

When Incident = Created

Medium = Email

Workgroup = Network Team

99

Use Case: End user logs the incident with Symptom as Server Problem, Category as Server and Medium as email

Sequence of Execution

Condition Met 

BR Executes


BR 1 / 01-03-2021

Condition Matches

BR 1 Executes

100

BR 2/ 02-03-2021

Condition Matches 

BR 2 Executes

99

Incident Database

Incident ID

Symptom

Category

Medium

Workgroup

100

Server problem

Server

Email

Server Team

Parsing Logic / Inference

When the business rules have different execution orders and want to update the same field, then execute each of the business rules in incremental order of creation date. The field value in the business rule with the highest order number will be considered.

 Scenario 8: All Business Rules have different order number

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

Category = Server

Workgroup = Server Team

99

BR 2/ 02-03-2021

When Incident = Created

Medium = Email

Workgroup = Network Team

100

Use Case: End user logs the incident with Symptom as Server Problem, Category as Server and Medium as email

Sequence of Execution

Condition Met 

BR Executes


BR 1 / 01-03-2021

Condition Matches

BR 1 Executes

100

BR 2/ 02-03-2021

Condition Matches 

BR 2 Executes

99

Incident Database

Incident ID

Symptom

Category

Medium

Workgroup

100

Server problem

Server

Email

Network Team

Parsing Logic / Inference

When the business rules have different execution orders and want to update the same field, then execute each of the business rules in incremental order of creation date. The field value in the business rule with the highest order number will be considered.

 Scenario 9: All Business Rules have different order number

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No


BR 1 / 01-03-2021

When Incident = Created

Category = Server

Workgroup = Server Team

99


BR 2/ 02-03-2021

When Incident = Created

Medium = Email

Workgroup = Network Team

&

Impact= High

100


Use Case: End user logs the incident with Symptom as Server Problem, Category as Server and Medium as email

Sequence of Execution

Condition Met 

BR Executes

Order No


BR 1 / 01-03-2021

Condition Matches

BR 1 Executes

100


BR 2/ 02-03-2021

Condition Matches 

BR 2 Executes

99


Incident Database

Incident ID

Symptom

Category

Medium

Workgroup

Impact

100

Server problem

Server

Email

Network Team

High

Parsing Logic / Inference

When the business rules have different execution orders and want to update the same field, then execute each of the business rules in incremental order of creation date. The field value in the business rule with the highest order number will be considered.

Transitive Nature (Complex):
a = b ,c, d
b, c = e
b, e = f
c = g
d = h

 Scenario 10: All Business Rules have same order number (Advanced)

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

Symptom contains "Server"

Update Category = Server

Update Impact = High

Update Workgroup = Server Team

100

BR 2/ 02-03-2021

When Incident = Created

If Category = Server

&

Workgroup = Server Team

Update Priority = P1

100

BR 3/ 03-03-2021

When Incident = Created

If Category = Server

&

Priority = P1

Update Urgency = High

100

BR 4/ 04-03-2021

When Incident = Created

If Category = Server

Send Mail to Head of Server Team

100

BR 5/ 05-03-2021

When Incident = Created

If Workgroup = Server Team

Assign Analyst = Maxwell

100

BR 6/ 06-03-2021

When Incident = Created

If Category = Network

Update Priority = P2

100

BR 7/ 07-03-2021

When Incident = Created

If Impact = Critical

Send Mail to WO

100

Use Case: End user logs the incident with symptom containing "Server Problem"

Sequence of Execution

Condition Met 

BR Executes

Order No

BR 1 / 01-03-2021

Condition Matches

BR 1 Executes

100

BR 2/ 02-03-2021

Condition Matches 

BR 2 Executes

100

BR 3/ 03-03-2021

Condition Matches

BR 3 Executes

100

BR 4/ 04-03-2021

Condition Matches

BR 4 Executes

100

BR 5/ 05-03-2021

Condition Matches

BR 5 Executes

100

BR 6/ 06-03-2021

Condition Doesn’t Match 

BR 6 Doesn’t Execute

100

BR 7/ 07-03-2021

Condition Doesn’t Match 

BR 7 Doesn’t Execute

100

Incident Database

Incident ID

100

Symptom

Server problem

Category

Server

Impact

High

Workgroup

Server Team

Priority

P1

Urgency

High

Send Mail

Yes

Assigned Analyst

Maxwell

Parsing Logic / Inference

When all the business rules have the same execution order, then execute each of the business rules in incremental order of creation date.

 Scenario 11: All Business Rules have same order number (Advanced)

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

If Category = Server

Send Mail to Head of Server Team

100

BR 2/ 02-03-2021

When Incident = Created

If Category = Server
&
Priority = P1

Update Urgency = High


100

BR 3/ 03-03-2021

When Incident = Created

If Category = Server

&

Workgroup = Server Team

Update Priority = P1

100

BR 4/ 04-03-2021

When Incident = Created

Symptom contains "Server"

Update Category = Server

Update Impact = High

Update Workgroup = Server Team

100

BR 5/ 05-03-2021

When Incident = Created

If Workgroup = Server Team

Assign Analyst = Maxwell

100

BR 6/ 06-03-2021

When Incident = Created

If Category = Network

Update Priority = P2

100

BR 7/ 07-03-2021

When Incident = Created

If Impact = Critical

Send Mail to WO

100

Use Case: End user logs the incident with symptom containing "Server Problem"

Sequence of Execution

Condition Met 

BR Executes

Order No

BR 1 / 01-03-2021

Condition Doesn’t Match 

BR 1 Doesn’t Execute

100

BR 2/ 02-03-2021

Condition Doesn’t Match 

BR 2 Doesn’t Execute

100

BR 3/ 03-03-2021

Condition Doesn’t Match 

BR 3 Doesn’t Execute

100

BR 4/ 04-03-2021

Condition Matches

BR 4 Executes

100

BR 5/ 05-03-2021

Condition Matches

BR 5 Executes

100

BR 6/ 06-03-2021

Condition Doesn’t Match 

BR 6 Doesn’t Execute

100

BR 7/ 07-03-2021

Condition Doesn’t Match 

BR 7 Doesn’t Execute

100

Incident Database

Incident ID

100

Symptom

Server problem

Category

Server

Impact

High

Workgroup

Server Team

Assigned Analyst

Maxwell

Parsing Logic / Inference

When all the business rules have the same execution order, then execute each of the business rules in incremental order of creation date.

 Scenario 12: All Business Rules have different order numbers

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

If Category = Server

Send Mail to Head of Server Team

97

BR 2/ 02-03-2021

When Incident = Created

If Category = Server
&
Priority = P1

Update Urgency = High


99

BR 3/ 03-03-2021

When Incident = Created

If Category = Server

&

Workgroup = Server Team

Update Priority = P1

98

BR 4/ 04-03-2021

When Incident = Created

Symptom contains "Server"

Update Category = Server

Update Impact = High

Update Workgroup = Server Team

100

BR 5/ 05-03-2021

When Incident = Created

If Workgroup = Server Team

Assign Analyst = Maxwell

100

BR 6/ 06-03-2021

When Incident = Created

If Category = Network

Update Priority = P2

100

BR 7/ 07-03-2021

When Incident = Created

If Impact = Critical

Send Mail to WO

100

Use Case: End user logs the incident with symptom containing "Server Problem"

Sequence of Execution

Condition Met 

BR Executes

Order No

BR 4/ 04-03-2021

Condition Matches

BR 4 Executes

100

BR 5/ 05-03-2021

Condition Matches 

BR 5 Executes

100

BR 6/ 06-03-2021

Condition Doesn’t Match 

BR 6 Doesn’t Execute

100

BR 7/ 07-03-2021

Condition Doesn’t Match 

BR 7 Doesn’t Execute

100

BR 2/ 02-03-2021

Condition Doesn’t Match 

BR 2 Doesn’t Execute

99

BR 3/ 03-03-2021

Condition Matches 

BR 3 Executes

98

BR 1 / 01-03-2021

Condition Matches 

BR 1 Executes

97

Incident Database

Incident ID

100

Symptom

Server problem

Category

Server

Impact

High

Workgroup

Server Team

Assigned Analyst

Maxwell

Priority

P1

Send Mail

Yes

Parsing Logic / Inference

When all the business rules have different execution orders, filter the rules with the highest order - execute them incrementally - then execute the business rules with lower-order nos.

 Scenario 13: All Business Rules have different order numbers

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

If Category = Server

Send Mail to Head of Server Team

97

BR 2/ 02-03-2021

When Incident = Created

If Category = Server
&
Priority = P1

Update Urgency = High


98

BR 3/ 03-03-2021

When Incident = Created

If Category = Server

&

Workgroup = Server Team

Update Priority = P1

99

BR 4/ 04-03-2021

When Incident = Created

Symptom contains "Server"

Update Category = Server

Update Impact = High

Update Workgroup = Server Team

100

BR 5/ 05-03-2021

When Incident = Created

If Workgroup = Server Team

Assign Analyst = Maxwell

100

BR 6/ 06-03-2021

When Incident = Created

If Category = Network

Update Priority = P2

100

BR 7/ 07-03-2021

When Incident = Created

If Impact = Critical

Send Mail to WO

100

Use Case: End user logs the incident with symptom containing "Server Problem"

Sequence of Execution

Condition Met 

BR Executes

Order No

BR 4/ 04-03-2021

Condition Matches

BR 4 Executes

100

BR 5/ 05-03-2021

Condition Matches 

BR 5 Executes

100

BR 6/ 06-03-2021

Condition Doesn’t Match 

BR 6 Doesn’t Execute

100

BR 7/ 07-03-2021

Condition Doesn’t Match 

BR 7 Doesn’t Execute

100

BR 3/ 03-03-2021

Condition Matches 

BR 3 Executes

99

BR 2/ 02-03-2021

Condition Matches 

BR 2 Executes

98

BR 1 / 01-03-2021

Condition Matches 

BR 1 Executes

97

Incident Database

Incident ID

100

Symptom

Server problem

Category

Server

Impact

High

Workgroup

Server Team

Assigned Analyst

Maxwell

Priority

P1

Urgency

High

Send Mail

Yes

Parsing Logic / Inference

When all the business rules have different execution orders, filter the rules with the highest order - execute them incrementally - then execute the business rules with lower-order nos.

Reflexive Nature:
a = b
b = a

 Scenario 14: All Business Rules have same order number

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

Symptom contains "Server"

Update Priority = P1

100

BR 2/ 02-03-2021

When Incident = Created

If Priority = P1

Update Priority = P2

100

BR 3 / 03-03-2021

When Incident = Created

If Priority = P2

Update Priority = P1

100

Use Case: End user logs the incident with symptom containing "Server"

Sequence of Execution

Condition Met 

BR Executes


1

Condition Matches

BR 1 Executes

100

2

Condition Matches

BR 2 Executes

100

3

Condition Matches

BR 3 Executes

100

Incident Database

Incident ID

Symptom

Priority

100

Server problem

P1

Parsing Logic / Inference

When all the business rules have the same execution order, then execute each of the business rules in incremental order of creation date.

 Scenario 15: All Business Rules have same order number

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

Symptom contains "Server"

Update Priority = P1

100

BR 2/ 02-03-2021

When Incident = Created

If Priority = P1

Update Priority = P2

99

BR 3 / 03-03-2021

When Incident = Created

If Priority = P2

Update Priority = P1

98

Use Case: End user logs the incident with symptom containing "Server"

Sequence of Execution

Condition Met 

BR Executes


1

Condition Matches

BR 1 Executes

100

2

Condition Matches

BR 2 Executes

99

3

Condition Matches

BR 3 Executes

98

Incident Database

Incident ID

Symptom

Priority

100

Server problem

P1

Parsing Logic / Inference

When all the business rules have different execution orders, filter the rules with the highest order, execute them incrementally, and then execute the business rules with lower-order nos.

 Scenario 16: All Business Rules have same order number

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

Symptom contains "Server"

Update Priority = P1

100

BR 2/ 02-03-2021

When Incident = Created

If Priority = P1

Update Priority = P2

98

BR 3 / 03-03-2021

When Incident = Created

If Priority = P2

Update Priority = P1

99

Use Case: End user logs the incident with symptom containing "Server"

Sequence of Execution

Condition Met 

BR Executes


BR 1 / 01-03-2021

Condition Matches

BR 1 Executes

100

BR 3 / 03-03-2021

Condition Doesn’t Match 

BR 3 Doesn’t Execute

99

BR 2/ 02-03-2021

Condition Matches

BR 3 Executes

98

Incident Database

Incident ID

Symptom

Priority

100

Server problem

P1

Parsing Logic / Inference

When all the business rules have different execution orders, filter the rules with the highest order, execute them incrementally, and then execute the business rules with lower-order nos.

 Scenario 17: All Business Rules have same order number

Business Rule Database

Business Rule ID/Creation Date

Trigger

Condition

Action 

Order No

BR 1 / 01-03-2021

When Incident = Created

Symptom contains "Server"

Update Priority = P1

98

BR 2/ 02-03-2021

When Incident = Created

If Priority = P1

Update Priority = P2

99

BR 3 / 03-03-2021

When Incident = Created

If Priority = P2

Update Priority = P1

100

Use Case: End user logs the incident with symptom containing "Server"

Sequence of Execution

Condition Met /Not Met

BR Executes


BR 3 / 03-03-2021

Condition Doesn’t Match 

BR 3 Doesn’t Execute

100

BR 2/ 02-03-2021

Condition Doesn’t Match 

BR 2 Doesn’t Execute

99

BR 1 / 01-03-2021

Condition Matches

BR 1 Executes

98

Incident Database

Incident ID

Symptom

Priority

100

Server problem

P1

Parsing Logic / Inference

When all the business rules have different execution orders, filter the rules with the highest order, execute them incrementally, and then execute the business rules with lower-order nos.

Do's and Don'ts

Do's

  • Understand the business rule parsing logic before configuring the Business rules.

  • Make sure the rules configured to achieve a set of requirements do not overlap with other rules.

  • Review the existing rules before creating new Business Rules.

  • Specify logical execution order for the rules.

  • Make sure the business rule updates actions do not conflict with existing matrices such as:

    •  SLA Matrix, 

    • Category/ Location based Workgroup and Analyst Routing

    • Classification based Workgroup routing

    • Classification /(Location or Customer) Workgroup routing

    • Priority based Response and Resolution time with skip days 

    • CI based Priority and SLA Window

    • Urgency/ Impact based Priority

    • Workgroup/ Priority based SLA window restriction

    • SLA Window with holiday calendar based on specific location or analysts location

    • Category based Priority and SLA (optionally over-ridable)

Don'ts

  • Don't configure a requirement as a rule which will not help us to achieve full operation of the business process.

  • Configuring many rules may likely slow down the application.

Prerequisites

  1. Rabbit MQ set up.

     To set up Rabbit MQ
    1. Download Erlang version 23.0 for the respective operating system and install. Use the default options during the installation and complete the installation. (Link - https://www.erlang.org/downloads/23.0)
    2. Set below environment variable under system variables
      Variable name: ERLANG_HOME

      Variable value: Path of erlang without bin





    3. Add %ERLANG_HOME%\bin to the PATH environmental variable:
      Variable name: PATH

      Variable value: %ERLANG_HOME%\bin





    4. Download and install Rabbit MQ server 3.8.13 (Link - https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.8.14)

      To install Rabbit MQ server 3.8.14, perform the following steps:

      1. Locate and double-click the rabbitmq-server-3.8.14.exe (It will usually be in your Downloads folder.)
      2. A dialog box will appear. Click Yes. The Choose Components screen is displayed.


        Figure: Choose Components

      3. Select components to install and click Next. The Choose Install Location screen is displayed.


        Figure: Choose Install Location

      4. Select Destination Folder by clicking Browse and and click Install.


        Figure: Installing


        Figure: Installation Complete



      5. Click Finish to complete the installation.
    5. Make sure RabbitMQ is available in services and running.
    6. Open the command prompt with admin privileges and navigate to the path where rabbitmq server is installed. Execute the below command to enable the management interface rabbitmq-plugins enable rabbitmq_management
    7. Open a browser and access the management interface using the link, http://localhost:15672/
    8. Login with credentials guest/guest
  2. Summit.BusinessRule.EventListenerService service installation

    In case of first time upgrade to Tahoe and above versions, the below installation command needs to be executed.

    Installation command for Business Rule Service

    sc create "Summit.BusinessRule.EventListenerService" binPath= "<<InstallationDirectory>>\BusinessRuleEvent\Summit.BusinessRule.EventListenerService.exe" DisplayName= "Summit BusinessRule EventListener" start= auto
    
    sc start Summit.BusinessRule.EventListenerService
    
    Example:
    <<InstallationDirectory>>
    "E:\ToQA\v511\B013\01.Applications"
    So the binPath="E:\ToQA\v511\B013\01.Applications\BusinessRuleEvent\Summit.BusinessRule.EventListenerService.exe"
    
    sc create "Summit.BusinessRule.EventListenerService" binPath= "E:\ToQA\v511\B013\01.Applications\BusinessRuleEvent\Summit.BusinessRule.EventListenerService.exe" DisplayName= "Summit BusinessRule EventListener" start= auto  
  3. New Config keys are required to be added in web.config/app.config file

     Config Keys

    The below config keys are required to be added to the respective file for Business Rule Functionality.

    Web.config of SummitWeb

    <add key="BUSINESS_RULE_RABBITMQ_USERNAME" value="" />
    <add key="BUSINESS_RULE_RABBITMQ_PASSWORD" value="" />
    
    <!--Comma Separated Hostname or IP Address-->   
    <add key="BUSINESS_RULE_RABBITMQ_HOST" value="" />
    <add key="BUSINESS_RULE_RABBITMQ_PORT" value="5672" />
    
    <!--Connection Timeout value in milli seconds-->   
    <add key="BUSINESS_RULE_RABBITMQ_CONNECTION_TIMEOUT" value="1000" />

    App.config of Summit.BusinessRule.EventListenerService

    <add key="BUSINESS_RULE_RABBITMQ_USERNAME" value="" />
    <add key="BUSINESS_RULE_RABBITMQ_PASSWORD" value="" />
    
    <!--Comma Separated Hostname or IP Address-->
    <add key="BUSINESS_RULE_RABBITMQ_HOST" value="" />
    <add key="BUSINESS_RULE_RABBITMQ_PORT" value="5672" />
    
    <!--Connection Timeout value in milli seconds-->
    <add key="BUSINESS_RULE_RABBITMQ_CONNECTION_TIMEOUT" value="3000" />
    <add key="BUSINESS_RULE_RABBITMQ_FETCH_COUNT" value="10" />
    <add key="DEBUG_ENABLED" value="false" />
    <add key="API_TIMEOUT" value="10000" /> 
     
    <!--Email Processing Config Keys-->
    <add key="App:BaseURL" value="" />
    <add key="Mail:From" value="" />
    <add key="Mail:FromName" value="" />
    
    <!--Orchestration Config Keys-->
    <add key="App:OrchestrationEnabled" value="true" /> 
    
    <!--Orchestration connector in connection string-->
    <add name="RabbitConnector" connectionString="" />
    <add name="SummitDB" connectionString="" />

    ServerMonitor.exe.config

    <add key="BUSINESS_RULE_RABBITMQ_USERNAME" value="" />
    
    <add key="BUSINESS_RULE_RABBITMQ_PASSWORD" value="" />
    
    <!--Comma Separated Hostname or IP Address--> 
    
    <add key="BUSINESS_RULE_RABBITMQ_HOST" value="" />
    <add key="BUSINESS_RULE_RABBITMQ_PORT" value="5672" />
    
    <!--Connection Timeout value in milli seconds--> 
    <add key="BUSINESS_RULE_RABBITMQ_CONNECTION_TIMEOUT" value="1000" />

Note:

Data Migration across different Database Environment
If the data is migrated between DB environments, then make sure that the value for Summit_BusinessRule_Identifier key in Summit_config table must be unique. The same value for Summit_BusinessRule_Identifier configuration key cannot be used across different DB environments. 

How to Configure a Business Rule?

To configure a Business Rule, perform the following steps:

  1. Select Admin >Basic > Infrastructure > Business Rule.
  2. On the BUSINESS RULE page, click ADD NEW on the ACTIONS panel. The following page is displayed.


    Figure: BUSINESS RULE page

  3. Select the Tenant and fill in the required details. For more information, see Field Description
    1. Fill in the other required details under RULE DEFINITION, TRIGGER, CONDITION, and ACTION sections.
    2. Click SUBMIT. A new Business Rule is configured.

Field Description

The following table describes the fields on the BUSINESS RULE page:

FieldDescription
RULE DEFINITION
NameType in a name for the business rule.
DescriptionType in a detailed description.
Execution Order

By default, the execution order number is blank. Each Business Rule can be assigned an execution order number. The order number is the deciding factor when same field is updating from different Business Rules. Rule with higher order number is processed first and given precedence over rules with lower order number.

Note: If the execution order number is same, then the business rule executed based on the created date.

BR Processing Logics:

  • Execution Order - Highest to Lowest
  • Creation date - Earliest to Latest
ActiveIf selected, the Business Rule becomes active.
TRIGGER
ModuleSelect the Module from the drop-down list. As of now you can create Business Rules only for Incident Management Module.
When

You can define when this business rule should execute.

  • After: If selected, the business rule will trigger once the Incident is created or updated. Also, the incident will be frozen i.e. no update will be allowed for the incident until the Business Rule is processed.
  • Async: If selected, the business rule will trigger once the Incident is created or updated. In case of Async, the Incident will not be frozen and the Business Rules will be processed asynchronously.
Trigger Type
  • Create: Select this check box to execute the business rule when a record is created.
  • Update: Select this check box to execute the business rule when a record is updated.

CONDITION

When a Request Arrives

Use the condition builder to determine when the business rule actions should be executed.

  • Conditions based on criteria: Select this radio button to specify the conditions based on which the action would be executed.
  • No Condition: Select this radio button, if there are no conditions.

Adding Conditions:

A condition consists of the following parts:

  • Field: The fields related to incident management module are populated in the drop-down list. Select the required option.
  • Operator: Based on the selected field value, the operators are displayed. Select the required operator from the drop-down list. The Possible values for Operator are: Contains, Does not contain, Equals, Not Equals, Is one of, Is not one of, Greater Than, Less Than, Less than or equal to, Greater than or equal to, and Between.
  • Value: Based on the selected Field type and Operator the options are populated in the Values field.

  • Click  icon to add a new condition.



  • You can define multiple conditions with AND/OR operator.
  • You can add a condition by clicking on the  icon present at the end of every condition.  
  • You can delete a condition by clicking on the icon present at the end of every condition. 

Group Conditions ():

Using the Group Conditions option, you can define multiple conditions as a single condition using AND/OR.

Example: Consider that you want to trigger a business rule when an incident is created for Network Category with a Priority as P2 or Impact as Low. In this case, you can set the all the conditions as single condition as shown below using Group Conditions.

To create a Group of Conditions, select the check boxes of respective condition rows and click  (Group Conditions) icon.


Note: Only adjacent conditions can be grouped. Already grouped condition rows cannot be used for another Group.

To Ungroup Conditions, click  (Ungroup Conditions) icon as shown below. 


ACTION
Time Zone for Notification and API
  • Caller Time Zone:  If selected, values for date and time fields in notification template and API will be based on the Caller Time Zone.
  • Analyst Time Zone:  If selected, values for date and time fields in notification template and API will be based on the Analyst Time Zone.
UPDATE FIELDS


Under this tab, you can configure update field values. You can update the both standard and custom field values.

Update Action Type

  • Update values first time: If selected, will update the fields only for the first time when the record is updated. 
  • Update values every time:  If selected, will update the fields every time when the record is updated.

Note:

  • The Update Action Type field displayed only when the Trigger Type is selected as Update.
  • There are few mandatory fields based on status value selection. Based on the selected status value the following mandatory fields are displayed.

The following fields become mandatory based on status value selection. Also, the for the mandatory fields the  icon will not displayed at the end of every row. 

Status Value Mandatory Fields
Assigned

Workgroup/ Assigned Workgroup, Category, Classification, Impact, Urgency, Priority, SLA Service Window, Symptom and Description.

In ProgressWorkgroup/ Assigned Workgroup, Category, Classification, Impact, Urgency, Priority, SLA Service Window, Symptom, Description, Target Completion Date, Response SLA Violation Reason, and Analyst/Assigned To.
PendingResponse SLA Violation Reason, Analyst/Assigned To, Workgroup/ Assigned Workgroup, Target Completion Date, Symptom, Description, Category, Classification, Impact, Urgency, Priority, SLA Service Window, and Pending Reason.
ResolvedResponse SLA Violation Reason, Analyst/Assigned To, Workgroup/ Assigned Workgroup, Target Completion Date, Symptom, Description, SLA Service Window Category, Classification, Impact, Urgency, Priority, Solution, Resolution Code, Closure Code, and Resolution SLA Violation Reason.

Delete Fields

You can delete an update field row by clicking on the  icon present at the end of every row. 

Override Values

  • If the Override Values = YES, then the values defined for the field in the Business Rule will override the values set for that field in the record.
  • If the Override Values = NO, then the values defined for the field in the Business Rule will be applied only if the value is not set for that field in the record. As stated otherwise, if there is a value already available for a particular field in the record, then the Business Rule Value will not be applied. 
NOTIFICATION


Under this tab, you can configure the notification templates for the business rule. You can create new notification template or use the existing notification template to send a notification to users.

You can configure the following notification types:

  • E-mail Notification
  • SMS Notification

E- Mail Notification

To create E-Mail Notification, perform the following steps:

  1. Under the Notification tab, click ADD NOTIFICATION. The NOTIFICATION pop-up is displayed.


    Figure: BUSINESS RULE - ACTION 


    Figure: NOTIFICATION pop-up

  2. Fill in the required details. For more details, see Field Description.

    Note:

    Use Dollar ('$') and type a character to trigger suggestions for Incident Attributes in Email Subject and Email Body.


  3. Click SAVE. A new E-mail Notification is created and displayed under the Unlinked Notifications section.


    Figure: NOTIFICATION pop-up - Unlinked Notifications

  4. Click SAVE AND SELECT to save and select the template under the Notification tab of ACTION section.



    Note:

    Send notification first time: If selected, will send notification only for the first time when the record is updated.

    Send notification every time: If selected, will send the notification every time when the record is updated.


  5. Click CANCEL to close the NOTIFICATION pop-up.

Field Description

The following table describes the fields on the NOTIFICATION pop-up:

Field Description
Notification NameType in the name for the e-mail notification template. 
MediumSelect the medium as E-mail to configure E-mail notification.
To

Add the main recipients of the email.

GroupMembers
By Caller Group
  • Caller
  • Caller's cc book
  • Caller's Customer SPOC
  • Caller's Line Manager
  • Caller's Reporting Manager
By Analyst Group
  • Analyst
  • Incident Vendor SPOC
  • Incident Workgroup
  • Incident Workgroup -Additional Owners
  • Incident Workgroup Owner
By DesignationSearch and select the required Designations
By WorkgroupSearch and select the required Workgroups
By User TypeSearch and select the required User Types
By CustomerSearch and select the required Customers
Custom E-mail IDType in required e-mail id
CC

Add the recipients to receive a copy of the email that you sent to the people listed in the To: field.

GroupMembers
By Caller Group
  • Caller
  • Caller's cc book
  • Caller's Customer SPOC
  • Caller's Line Manager
  • Caller's Reporting Manager
By Analyst Group
  • Analyst
  • Incident Vendor SPOC
  • Incident Workgroup
  • Incident Workgroup -Additional Owners
  • Incident Workgroup Owner
By DesignationSearch and select the required Designations
By WorkgroupSearch and select the required Workgroups
By User TypeSearch and select the required User Types
By CustomerSearch and select the required Customers
Custom E-mail IDType in required e-mail id
Email Subject

Type in the subject.

Note:
Use Dollar ('$') and type a character to trigger suggestions for Incident Attributes in Email Subject and Email Body.

Email Body

Type in the body content.

Note: Use Dollar ('$') and type a character to trigger suggestions for Incident Attributes in Email Subject and Email Body.


SMS Notification

To create an SMS notification, perform the following steps:

  1. Under the Notification tab, click ADD NOTIFICATION. The NOTIFICATION pop-up is displayed.

    Note:

    Select Medium as SMS to create SMS notification.



    Figure: NOTIFICATION pop-up

  2. Fill in the required details. For more information, see Field Description.

    Note:

    Use Dollar ('$') and type a character to trigger suggestions for Incident Attributes in Description.

  3. Click SAVE. A new SMS Notification is created and displayed under the Unlinked Notifications section.



    Note

    • Click (Edit) icon to edit the template details as shown above.
    • Click (Delete) icon to delete a template.


  4. Click SAVE AND SELECT to save and select the template under the Notification tab of ACTION section.



  5. Click CANCEL to close the NOTIFICATION pop-up.

    Note:

    Send notification first time: If selected, will send notification only for the first time when the record is updated.

    Send notification every time: If selected, will send the notification every time when the record is updated.

Field Description

The following table describes the fields on the NOTIFICATION pop-up:

FieldDescription
Notification NameType in the name for the SMS notification template. 
MediumSelect the medium as SMS to configure SMS notification.
To

Add the main recipients of the email.

GroupMembers
By Caller Group
  • Caller
  • Caller's cc book
  • Caller's Customer SPOC
  • Caller's Line Manager
  • Caller's Reporting Manager
By Analyst Group
  • Analyst
  • Incident Vendor SPOC
  • Incident Workgroup
  • Incident Workgroup -Additional Owners
  • Incident Workgroup Owner
By DesignationSearch and select the required Designations
By WorkgroupSearch and select the required Workgroups
By User TypeSearch and select the required User Types
By CustomerSearch and select the required Customers
Custom E-mail IDType in required e-mail id
Message Expiry Time (Mins.) Specify the message expiry time in minutes
DescriptionType in the detailed description.

Search Notifications

You can search notifications using the Search Notifications search box.

Filter By

  • Select All to view both E-mail and SMS notifications.
  • Select E-mail to view only E-mail notifications under the Linked to this Business Rule, Linked to other Business Rules, Unlinked Notifications, and Existing Templates.
  • Select SMS to view only SMS notifications under the Linked to this Business Rule, Linked to other Business Rules, Unlinked Notifications, and Existing Templates.

Linked to this Business Rule

Under this section, you can view the list of notification templates linked to this Business Rule. Also, you can edit and delete the notification templates available under this section.

To edit a notification template, perform the following steps:

  1. Click  (Edit) icon adjacent to template name. The preview of the notification template loads on the right section.
  2. Fill in the required details.
  3. Click SAVE to save only the changes.
  4. Click SAVE AND SELECT to display under Notification tab of ACTION section.
  5. Click CANCEL to close the NOTIFICATION pop-up.

To delete a notification template, perform the following steps:

  1. Click  (Delete) icon  adjacent to template name.
  2. A warning message displayed as shown below.



  3. Click OK to delete the notification template.

Linked to other Business Rule

Under this section, you can view the list of notification templates linked to other Business Rules.

Unlinked Notifications

Under this section, you can view the list of unlinked notifications. These notifications are created but not linked with any business rule.

Existing Templates

Under this section, you can view the existing email notification templates which are configured for the selected Tenant and Module (Incident Management).

  • Incident Transferred
  • Incident Assigned
  • Incident Updated to Pending
  • New Incident Logged (other sources)
  • Incident Updated (other sources)
  • Incident Updated by the Caller (other sources)
  • Incident Review Mail Template To Engineer
  • Closure Mail with Feedback
  • Incident Resolved
  • Incident Updated by the Analyst
  • Incident Updated to Pending
  • New Incident Logged
  • Auto Escalation Email for Pending
  • Custom E-Mail Notification
  • Incident Closed by the Caller
  • Auto Escalation Email for Resolution
  • Auto Escalation Email for Resolution to Analyst
  • Auto Escalation Email for Resolution to Workgroup
  • Manual Escalation
  • Action "REMINDER" for Self, Assigned To, and Other Users
  • Incident Re-Opened by the Caller
  • Incident Updated by the Caller
  • Auto Escalation Email for Resolution to Caller
  • Incident Re-Opened
  • Incident Cancelled
  • Incident Cancelled (Caller/Analyst)
  • Closed Incident Update to Caller (Mail to Ticket)
  • Incident Pending for User Response Reminder
  • Auto Escalation Email for Response
  • Escalation Reassigning Ticket - IM
  • Incident Resolved
  • Incident Resolved (Other Sources)
  • Auto Escalation Email for Pending to Caller
  • Auto Escalation Email for Response to Caller
  • Incident Closed
  • Major Incident Identified (from job)
  • Feedback Reminder
  • Incident Updated by External User
  • Action "REMINDER" for Caller
  • Incident Updated with User Communication
API

ADD API

To add API, perform the following steps:

  1. Under the API tab, click ADD API. The API pop-up is displayed.


    Figure: BUSINESS RULE - ACTION 


    Figure: API pop-up - Body tab

  2. Fill in the required details. For more information, see Field Description.

  3. Click SAVE. A new API is created and displayed under the Unlinked Notifications section.
  4. Click SAVE AND SELECto save and select the template under the API tab of the ACTION section.
  5. Click CANCEL to close the API pop-up.

Field Description

The following table describes the fields on the API pop-up:

Field Description
API Configuration Name

Type in the Name for the API Configuration.

Method

Select the required Method from the drop-down list.

The available methods are:

  • GET - for new request
  • POST - add new data
  • PUT - replace existing data
API Timeout (In seconds)Specify the Timeout in seconds
API URLSpecify the API URL
Params

You can send path and query parameters with your requests using the Params tab.

To send a path and query parameter,

  1. Click the Params tab.
  2. Click  icon to add a new row.
  3. Enter the Key, Value, and Description
  4. Slide the toggle button to right- hand side to make this path/query parameter  active.
Authentication

Authentication involves verifying the identity of the client sending a request, and authorization involves verifying that the client has permission to carry out the endpoint operation.

Open the Authorization tab to configure your access details. Select the required Authentication type from the drop-down list.

The available types are:

  • API Key
  • Bearer Token
  • Basic
  • OAuth 2.0
Headers

Some APIs require you to send particular headers along with requests, typically to provide additional metadata about the operation you are performing. You can set these up in the Headers tab. 

Enter any key-value pairs you need and will send them along with your request.

BodyThe Body tab allows you to specify the data you need to send with a request. 
ResponseUnder this tab, you can view the API response.

Linked to this Business Rule

Under this section, you can view the list of APIs linked to this Business Rule. Also, you can edit and delete the APIs available under this section.

Linked to other Business Rule

Under this section, you can view the list of APIs linked to other Business Rules. Also, you can edit and delete the APIs available under this section.

Unlinked APIs

Under this section, you can view the list of unlinked notifications. These notifications are created but not linked with any business rule


ACTIONS

This section explains all the icons displayed on the ACTIONS panel of the BUSINESS RULE configuration page.

SHOW LIST

Click SHOW LIST to display the BUSINESS RULES table showing all the configured Business Rule details for the selected Tenant. 


Figure: BUSINESS RULE LIST Page


Figure: BUSINESS RULE LIST Page

You can perform the following actions on the BUSINESS RULES Page.

  1. By clicking the  (Edit) icon, you can edit the business rule order or execution order from the BUSINESS RULES Page.



  2. You can make the specific business rule active or inactive from the BUSINESS RULES Page.

    To inactive a Business Rule, perform the below steps:
    1. Uncheck the check Active check box, a pop-up displayed with a message as shown below.



    2. Click OK to inactive a Business Rule.

      Note:

      To display the inactive business rules, click the Include Inactive check box.


CHANGE HISTORY

Click CHANGE HISTORY to view the changes that occurred on the Business Rule, the user who made the changes, the date and time when the change was made, and also the Old and New values for the Business Rule.

ACTIONS

This section explains all the icons displayed on the ACTIONS panel of the BUSINESS RULES LIST page.

FILTERS

Click Filters to specify particular filter criteria to display the Business Rules. On clicking the Filters icon, the FILTERS pop-up page is displayed.

FILTERS pop-up

ADD NEW

Click ADD NEW to configure a new Business Rule. 

Notes:

  • End User screen will be frozen when manually escalated, reopened, closed/cancelled

  • Async rule will be processed based on the latest data of the Incident.

  • Admin has to configure the required notifications for the Business Rule. Default notifications applicable for Incident Management module will not be sent.

  • Orchestration call will be triggered for the Incident after business rule processing in case of update fields action.

  • Tenant Settings: Below Tenant configuration checks are applicable for Business Rule Configuration.

    • Enable Manual Incident Cancellation Icon

    • Enable Category Parent Node Selection

    • Enable Classification Parent Node Selection

    • Minimum Symptom Length

    • Description Length

    • Do Not Allow Images in Description

    • Enable Capture of Closure Category

    • Enable Secondary Analyst

    • Minimum Characters for Solution

    • Allow Analyst to Edit Symptom

    • Allow Analyst to Edit Description

    • Additional Information Tab

Known Issues

  • CC recipients are not grouped by customer.



  • No labels