Campaign Pipeline Health tells you why an AI agent campaign is not placing calls. It lists your active AI campaigns, shows how long each one has been quiet, and explains in one plain sentence what is wrong and what to do next. Open it from Campaign Pipeline Health in the left menu.
Watch the walkthrough
Who can see it
The screen is not part of the default roles. Two separate permissions control it, and an administrator has to assign them (Administration, Identity management, Roles, Actions, Permissions, group Outbound).

| Permission | What it unlocks |
|---|---|
| View Campaign Pipeline Health Screen | The Campaign Pipeline Health menu item and the page itself. Without it the menu item does not appear |
| View Campaign Pipeline Platform Signals | The Platform stages strip at the top of the page and the shared steps in a campaign's Dial pipeline tab. Without it those steps show a lock and the text You do not have permission for platform signals |
Both are children of View Campaigns, so a role needs View Campaigns first. The default Agent and Supervisor roles have neither permission.
The page at a glance

The page has two parts: Platform stages on top, and a table with one row per campaign below. Select Back to campaigns to return to the Campaigns list.
The page refreshes by itself every 15 seconds, so you can leave it open on a second screen. If a refresh is late, an Out of date badge appears next to the title. If a refresh fails, the page keeps the last data and shows Could not refresh; showing the last snapshot.

Platform stages
An AI campaign places a call in four steps. The first two are shared by every campaign and are shown at the top of the page.
| Step | What it does |
|---|---|
| Pacing planner | Decides when each call is due, so the campaign meets its pace and respects its call window |
| Queueing | Takes the calls the planner has issued and passes them on to be placed |
The other two steps belong to one campaign each and appear in the campaign's Dial pipeline tab (see below):
| Step | What it does |
|---|---|
| Origination | Places the call through the telephony system |
| Call outcome | Records how the call ended |
Hover over a step to see its latest numbers and the time of its last signal.

Each step shows one of these status words:
| Status | Meaning |
|---|---|
| Working | The step is doing its job |
| Waiting | Nothing is wrong. The step has nothing to do right now, for example because the call window is closed or no call request is waiting |
| Needs attention | A real problem that you can still act on |
| Broken | The flow has stopped |
| No signal | The step is not reporting, so its health is unknown. This does not necessarily mean calls are failing |
| You do not have permission for platform signals | You lack the Platform Signals permission |
The status is never shown by colour alone: each state has its own icon and its own word. A Waiting step is healthy, not a fault.

When a shared step has a problem, a banner appears under the stages. It states the problem, names the service responsible (Owned by) and gives the next step (What to do).

The campaign table

| Column | What it shows |
|---|---|
| Status | An icon with the overall state of the campaign, using the same states as above |
| Campaign | The campaign name. Select it to open the campaign. Two small labels can appear underneath: Paused automatically and Not planned yet |
| Silent for | How long it has been since the campaign last made progress. Hover to see the exact time. A dash means there is no time yet |
| Diagnosis | One sentence that explains the situation |
| Actions | Open campaign opens the campaign page |

- Paused automatically means SESTEK AgenticCX stopped the campaign itself after repeated failed call attempts. See the next section.
- Not planned yet means the planner has not reached the campaign yet. This is normal for a new campaign.
- A campaign that waits for an outside trigger (an instant campaign) shows No call request is waiting; the campaign is ready for the next trigger. This is the normal resting state, not a problem.
- The table shows 25 campaigns per page. There is no search or filter on this page.
- When no campaign qualifies, the table says No campaign matches this view.
Long sentences can be wider than the table. Hover over a diagnosis to read it in full.


What the diagnosis means and what to do
These are the sentences you are most likely to meet. The screen shows the suggested action in the banner of the Dial pipeline tab and under Platform stages.
| Diagnosis | What to do |
|---|---|
| Calls are being placed on schedule. | Nothing. The campaign is healthy |
| No call window is open right now. | Nothing. This is a normal waiting state |
| No call request is waiting; the campaign is ready for the next trigger. | Nothing for an instant campaign. It is waiting for the next request |
| The planner has not reached this campaign yet; it will be visited on an upcoming pass. | Wait for the next pass |
| {n} contact(s) are waiting but none can be called right now. | Review the call rules, the call window and the contacts' next-call times |
| Call failures are building up towards the automatic pause ({n} of {limit}; last cause: ...). | Check the telephony connection and the outbound number before the campaign pauses itself |
| The campaign was paused automatically at {time} after {n} consecutive failed call attempts (last cause: ...). | Fix the underlying cause, then start the campaign again |
| Dial requests are stuck in the queueing step ({n} waiting, oldest overdue by {s} seconds). | Check the message broker connection and the queueing service |
| AI campaign execution is switched off, so no call will be placed. | Enable AI campaign execution in the configuration |
| Pipeline monitoring cannot be reached, so nothing can be reported. The pipeline itself may be fine. | Check that the cache service is running |
If none of these fits, the sentence on screen is the authority.
Why a campaign pauses by itself
When too many call attempts fail in a row before they connect, SESTEK AgenticCX pauses the campaign by itself. The row is marked Paused automatically and the sentence shows how many attempts failed and the last cause. Common causes:
| Last cause shown |
|---|
| the inbound number is missing or inactive |
| the IVR instance behind the inbound number is missing or inactive |
| no active outbound number is configured |
| no active FreeSWITCH server is available |
| the switch rejected the call |
| the call request was rejected before it reached the switch |
| the contact's phone number is unusable |
| the call was started but never confirmed |
| the call timed out without an answer |
For call failures in general, the screen suggests checking the telephony connection, the outbound number, the trunk, the SIP profile and the IVR instance behind the inbound number.
To resume a campaign that paused itself, fix the underlying cause first, then start the campaign again from the Campaigns page.
The Dial pipeline tab of a campaign
Open a campaign (Open campaign, or select its name) and choose the Dial pipeline tab, next to Contacts and Activity Log. It follows that one campaign through all four steps.

The tab shows Updated: with the time of the last refresh, a refresh button, the four steps and the banner. When the campaign has a problem, the banner carries the sentence, Owned by: and What to do:.

Hover over a step for its numbers.

| Step | Numbers you can see |
|---|---|
| Pacing planner | Slots issued, Calls in flight, Fleet coverage |
| Queueing | Queued for this campaign, Waiting to be queued, Failed to queue |
| Origination | Consecutive failures, Calls placed (last 15 min), Waiting in the dial queue |
| Call outcome | Calls finished (last 15 min), Awaiting manual review |
Good to know
- Times follow your tenant's time zone and date format, set under Settings, Localization.
- Waiting and No call request is waiting are healthy states. Only Needs attention, Broken and Paused automatically need action.
- No signal means the screen cannot see the step. It is not proof that calls have stopped.
- The screen is read only. To change a campaign, open it and use its own actions.
