Outbound Flow Configuration

Outbound Campaign Configuration Guide

This guide explains how to configure and run outbound campaigns across different channels and dialing modes.


Supported Campaign Types

Type

Modes / Channels

CX Voice Campaigns

Predictive Dialing · Power Dialing · Progressive Dialing

Cisco Campaigns

UCCX · UCCE

Multi-Step SMS Surveys

Digital Channel Campaigns

WhatsApp · SMS · Email


1. Customer Data Preparation

Before creating any outbound campaign, you must prepare the customer dataset (CX Customers) that will be used as the campaign source. Customers can be added either by importing a CSV file or by creating them one at a time.

Option A: Import Customers via CSV

  1. Log in to Unified Admin.

  2. Click Import Record.

  3. Choose the type of records you want to import (e.g., Customers).

  4. Upload your CSV file.

  5. Select the Channel Identifier(s) used to search for existing records — for example, Phone Number — and choose the Action to take on matching records (e.g., Ignore).

  6. Map your CSV columns to the corresponding CX Customer attributes.

Prequisite: CX Load hub must be running to upload the contact in CX Customer.

⚠️ Important: CSV column headers should match the system-defined customer attributes so columns map correctly. Before completing the import, double-check the column mapping shown on screen — any required field left unmapped will cause that row to be rejected.

cx customer.png


Option B: Create a Customer Manually

  1. Log in to Unified Agent using a Supervisor role.

  2. Click Customer in the menu.

  3. Create a new customer and enter their details.

create.png

2. Customer Filters (Audience Segmentation)

Filters define the target audience for your campaign.

Creating a Filter

  1. Log in to Unified Agent.

  2. Click Customer, then click Advance Filter.

  3. Select Advance Filter to create a new one.

  4. Give the filter a Title.

  5. Build the filter by selecting a Customer Attribute, an Operation, and a Value.

  6. To add more conditions to the same filter, add additional rules and combine them using AND / OR.

filter real.png


Purpose

Instead of targeting all customers, filters allow you to create focused segments such as:

  • Overdue customers

  • Premium customers

  • Region-based customers

  • Newly registered customers

Dynamic Behavior

  • Filters are continuously active

  • Newly added customers matching filter conditions are automatically included

  • Campaigns using filters always stay up to date


3. Channel Management

You can follow the below guide to setup channel which will be use to interact with the customer.

For CX Voice: CX Voice Channel Configuration Guide

For Cisco: Cisco Voice Channel Configuration Guide

General Guide: Manage Channels and Channel Categories

4. Campaign Management

All outbound campaigns are managed from the Campaign Dashboard.

Dashboard Overview

The dashboard provides a centralized view of all campaigns, where you can:

  • Search campaigns by name

  • View campaign status and details

  • Monitor execution progress

Key Campaign Attributes

Attribute

Description

Campaign Title

Name of the campaign

Status

Current state — see Campaign Status Definitions below

Creation Date

When the campaign was first created

Last Modified Date

When the campaign was last updated

Campaign Controls-20241007-123558.png


Creating a Campaign

  1. Click Add New Campaign

  2. Enter campaign details

  3. Configure the outbound flow

  4. Save and publish the campaign

Edit (Pencil Icon): Opens the settings page where you can change the Title, Description, and access the Flow Builder.

image-20260218-101729.png


Managing Existing Campaigns

Action

Description

Edit

Modify campaign details or flow configuration

Delete

Permanently remove the campaign

Stop

Immediately terminate campaign execution

Campaign Status Definitions

Status

Meaning

Unpublished

Campaign is in draft or paused state — no outbound activity is triggered

Published

Campaign is active — outbound flow execution is in progress

Stopped

Campaign has been terminated — no further processing occurs


5. Outbound Flow Design

Once customer data, filters, and campaign setup are complete, you can design the outbound flow. The flow defines how the campaign interacts with customers across different channels.

Supported Flow Types

  • CX Voice Campaigns (Predictive, Power, Progressive Dialing)

  • Cisco Campaigns (UCCX, UCCE)

  • Multi-Step SMS Surveys

  • Digital Channel Campaign

Upon clicking Flow Builder in campaign panel, it will open node-red flow for that campaign. Here we can design our flow base on our requirement.

5.1. CX Voice Campaign

Components Involved in CX Voice Campaign

The following components are required and must be operational for a CX Voice Campaign:

Component

Role

Campaign Backend

Manages campaign configuration and sends scheduled contacts for processing.

Scheduler

Triggers campaign contacts at their configured schedule.

Customer Channel Manager (CCM)

Coordinates communication between campaign services and voice resources.

CX Voice Connector (VC)

Acts as the integration layer between CCM and the Dialer.

EFCX Dialer

Processes campaign contacts, manages dialing operations, and handles call outcomes.

CPA Module

Optional Dialer component used to identify whether an answered call was picked up by a human or an answering machine/voicemail. Call Progress Analysis

Routing Engine

Provides routing capabilities and agent selection logic required during campaign execution.

Conversation Manager

Manages conversation and interaction workflows within the CX platform.

Components Required for Analytics and Reporting

Component

Role

Campaign Reporting

Provides campaign execution reports and historical data.

Campaign Dashboard (Grafana)

Provides real-time campaign monitoring, analytics, and visualization of campaign metrics. Accessing Campaign Studio Dashboard in Grafana
Outbound Metrics

Screenshot 2026-06-19 180223.png

5.1.1. Control & Logic Nodes

Node

Role in the Flow

Required?

Docs

Start Node

Pulses the flow at a set interval; gates execution by time window, days, and/or date range.

Compulsory — every campaign

Start

Check Undelivered Contacts

Confirms contacts are still left to process before continuing, so the campaign doesn't re-dial the same customers.

Recommended

Check Undelivered Contacts

5.1.2. Agent Management Nodes

Node

Role in the Flow

Required?

Docs

Seize Agent

Reserves an agent from a Voice queue/MRD before dialing, using either a fixed count or a PROMQL formula.

Compulsory for agent-based campaigns

Seize Agent

Check Seize Agent Event

Listens for the reservation outcome and branches the flow: AGENT_RESERVED continues toward dialing; RESERVATION_TIMEOUT, RONA, and NO_AGENT_AVAILABLE can each be routed separately.

Compulsory for agent-based campaigns

Check Seize Agent Event

5.1.3. Init Node

Node

Role in the Flow

Required?

Docs

Init Node

The gatekeeper — pulls a batch of contacts into the flow, sized according to your dialing mode (Progressive, Power, or Predictive).

Compulsory — every campaign type

Init Node


5.1.4. Channel & Decision Nodes

Node

Role in the Flow

Docs

Dial Node

Places the outbound call through the configured voice channel.

Dial (CX Voice)

Call Decision

Uses Call Progress Analysis (CPA) to detect Human vs. Answering Machine and branches accordingly.

Call Decision

Route to Agent

Connects a detected human caller to the agent reserved earlier in the flow.

Route to Agent

End Call

Ends the call — typically wired from a failed Call Decision branch, or when no agent is available.

End Call


5.1.5. How the Nodes Connect

For a standard agent-based CX Voice flow, the nodes are wired together as follows:

Start Node
   │  (pulse, only if within configured time/day/date window)
   ▼
Check Undelivered Contacts
   │  True — contacts remain
   ▼
Seize Agent
   ▼
Check Seize Agent Event
   │  AGENT_RESERVED
   ▼
Init Node
   │  (pulls in contacts, sized by dialing mode)
   ▼
Dial Node
   ├── Live Call Event ────────▶ Call Decision ──┬── True (Human) ───▶ Route to Agent
   │                                              └── False (Machine) ▶ End Call / follow-up message
   │
   └── (Optional) Delivery Notiication ──▶ Post-Attempt Decision ──▶ Retry (loop back to Dial) or follow-up message

Reading the flow: the Start Node's pulse only makes it past Check Undelivered Contacts if there's someone left to call. Once an agent is reserved and confirmed, the Init Node releases a batch of contacts sized to match your dialing mode, and the Dial Node places the calls. From there, the flow splits in two directions at once — the Live Call Event path filters out answering machines before connecting a real person to the waiting agent, while optionally the Delivery Notification path independently handles what to do once each call attempt is finished (retry, follow-up, or drop).

5.1.6. Dialing Modes

Mode

Description

Progressive

Dials one contact per reserved agent — the safest setting for keeping abandonment low.

Power

Dials a fixed number of contacts per reserved agent (e.g., 3–5) to keep agents continuously busy.

Predictive

Uses a live PROMQL formula instead of a fixed ratio, dialing just enough contacts to keep agents busy without over-dialing.

In the flow, additional nodes can also be used to extend functionality.

  1. Condition Node: Condition
    Used to filter contacts before dialing. It is typically placed after the Init node and before the Dialing node.

  2. Post Decision Attempt Node: Post Attempt Decision
    Used to take actions based on the final call result. It branches the flow according to outcomes such as Busy, No Answer, Invalid Gateway, etc., and can be used for retries or follow-up actions.