Skip to main content
Skip table of contents

CX QM Deployment Guide

This deployment guide provides detailed, step-by-step instructions to deploy the Quality Management (QM) as part of the Expertflow CX platform. It also includes guidance for deploying the QM-Connector, which extends quality management capabilities to conversations conducted via Cisco Contact Center.

QM Backend Deployment

The Quality Management (QM) backend is the core engine for evaluating and improving agent performance in Expertflow Contact Center. It enables evaluators to score agent-customer interactions, provide feedback, and ensure high-quality service delivery. This deployment is the first step to enable comprehensive quality assurance for your contact center operations.

First, move to the kubernetes directory in the cloned Expertflow CX branch

CODE
cd {target_release}/kubernetes

1. Create the database in Postgres

QM Backend requires a db named qm_backend in Postgres, already deployed in the ef-external namespace. Follow the steps below to create one.

  1. exec into the ef-postgresql-0 pod in the ef-external namespace

CODE
kubectl -n ef-external exec -it ef-postgresql-0 -- bash
  1. execute the environment setup for ef-postgresql-0 ( Only needed when the postgresql is running in non-HA mode , like no pgpool and multiple replicas of postgresql are running )

CODE
/opt/bitnami/scripts/postgresql/entrypoint.sh /bin/bash
  1. Log into Postgres using the following command

CODE
psql --host ef-postgresql -U sa postgres -p 5432
  1. The system will ask for the password for the user sa. Enter the password, configured during deployment of Postgres. You should now be logged into the Postgres shell.

  2. Create the required database and extensions using the following commands.

If you are creating the database for MTT deployment, the name of the db must be different for each tenant. Replace the name “qm_db” in the commands below with the ID of the tenant in case of MTT only.

CODE
CREATE DATABASE qm_db;
\c qm_db;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
  1. Then to exit from the shell

CODE
\q
exit
exit

2: Deploy QM Backend

Create and Customise cx-qm-custom-values.yaml

Customise cx-qm-custom-values.yaml

You must first create custom values.yaml file to define your minimum required configurations.

Step 1: Create the Values File

Run the following command to create a new file:

CODE
vi helm-values/cx-qm-custom-values.yaml

Step 2: Add Required Minimum Configuration

In the opened file, add the following section to define the FQDN (Fully Qualified Domain Name) for ingress routing:

CODE
global:   
  ingressRouter: <CUSTOM-FQDN> 

🔁 Replace <CUSTOM-FQDN> with your actual domain, e.g., devops.example.com.

This is the minimum required customisation for the CX Helm chart to work.

Optional: Add Further Customisations

You can extend the same cx-qm-custom-values.yaml file with additional configurations as needed, including environment variables, replica counts, etc.

To view all available default configurations and decide what you want to override:

CODE
helm show values expertflow/qm --version {target_version}

This command prints the full default values.yaml file used by the CX chart, which serves as a reference for all configurable parameters.

We recommend only overriding the values you need in your custom file to keep the configuration lean and maintainable.

Finally, deploy the QM using the following command.

CODE
helm upgrade --install --namespace=expertflow --set global.efCxReleaseName="ef-cx" qm  --debug --values=helm-values/cx-qm-custom-values.yaml expertflow/qm --version {target_version}

To see the QM-related options in Unified Admin, you also need to do some configuration on IAM (Keycloak) and assign related roles to the users. Follow these instructions for the configurations.

Optionally, If you want to configure QM with CISCO follow this guide. This is only required when CISCO interaction are not handled via Unified Agent

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.