Deployment Guide - CX Campaigns
Overview
This document illustrates the procedure and steps to deploy CX Campaigns.
Solution Prerequisites
Following are the solution prerequisites.
Items | Recommended | |
---|---|---|
Software Requirements |
|
|
Hardware Requirements |
|
|
Deployment Steps
All the CX-Campaigns related files are available in the folder cx-campaigns
which is present in the kubernetes
directory in the official repository of ExpertFlow CX v4.6 or greater.
Step 1: Navigate to correct directory
Make sure you are in the directory cim-solution/kubernetes
. The command cd
can be used to move between directories.
Step 2: Update FQDN
Expertflow CX should be accessible by a fully qualified domain name. Assign the FQDN that resolves to the control plane node or KubeVIP.
Replace <FQDN> with your FQDN for Expertflow CX and run the following command.
sed -i 's/devops[0-9]*.ef.com/<FQDN>/g' cx-campaigns/ConfigMaps/* cx-campaigns/Ingresses/nginx/* cx-campaigns/Ingresses/traefik/*
Step 3: Apply the CX Campaigns' ConfigMaps
kubectl apply -f cx-campaigns/ConfigMaps/
Step 4: Apply all the Services required for CX Campaigns
kubectl apply -f cx-campaigns/Services/
Step 5: Apply the required Deployment manifests
kubectl apply -f cx-campaigns/Deployments/
Step 6: Make sure all components are up and ready before moving on to the next step
kubectl -n expertflow get pods
Step 7: Setup Ingress Routes
kubectl apply -f cx-campaigns/Ingresses/nginx/
Keycloak Configuration
Before using the CX Campaigns' management menu in Unified Admin, you must configure Keycloak since CX Campaigns is an optional feature of ExpertFlow CX. Here are the configuration steps:
Step 1: Login to Keycloak
Access the Keycloak Administration console by opening this URL in your browser: https://<FQDN>/auth
Default username and password is “admin” and “admin” respectively.
Step 2: Open the cim client
In the ExpertFlow realm, select Clients from the left navigation bar, then click on the cim client.
If the ExpertFlow realm is not present. Refer to this documentation to import the ExpertFlow realm and additional configuration
Step 3: Navigate to the Import pop-up
In the cim client, select the Authorization tab, then click Import.
Step 4: Navigate to the Import pop-up
After clicking Import, a popup window will appear. Upload this file campaign-authorization-config.json which contains all the CX Campaigns related authorization configuration and click Confirm.
Campaigns tab should now be visible in the Unified Admin.
Environment Variables
Following are the details of all the variables available in ConfigMaps
Environment Variables for Campaign Studio
Variable | Description |
---|---|
TZ | Timezone to be used by the Campaign Studio component. For a list of all the supported time-zones, refer to this page. |
FQDN | FQDN of the EF CX deployment that you want to integrate campaigns with |
CAMPAIGNS_BACKEND | URL of the campaigns backend service. |
SCHEDULER_URL | URL of the EF CX scheduler service. |
URIForWebhook | Base URL to be used for the registering webhooks on the scheduler. This URL should be accessible by the scheduler for it to deliver notifications successfully. |
GATEWAY_ID | The default gateway id to be displayed in Action node for voice based campaigns. This can also be configured later for each action from the nodered UI. |
IVR_EXTENSION | The default IVR extension to be displayed in Action node for voice based IVR campaigns. This can also be configured later for each action from the nodered UI. |
Environment Variables for (Campaigns) backend
Variable | Description |
---|---|
PORT | The port on which the backend server will listen on. |
LOG_LEVEL | The level of logs to print. |
NODERED_URI | Nodred service URL, accessible within the current network. |
NODERED_USERNAME | Username to be used for the Node-RED authentication (If authentication is enabled in Node-RED). |
NODERED_PASS | Password for the Node-RED authentication (If authentication is enabled in Node-RED). |
UPLOAD_CSV_BATCH_SIZE | Size of the batch that will be formed when uploading contacts from a CSV file. |
NODERED_SYNC_BATCH_SIZE | Size of the batch when syncing contacts between backend and relative Node-RED flow. |
CCM_URL | URL of the CCM service. |
SCHEDULER_URL | URL of the scheduler service. |