The Campaign Details page is the operational control and monitoring area for an individual Campaign.
While the main Campaigns page provides a summary of all Campaigns, Campaign Details focuses on one Campaign and combines:
The page retrieves the Campaign together with its populated AI Agent, populated Lead records, and all Call Logs associated with that Campaign. The frontend then uses those records to calculate performance metrics and determine each Lead's latest execution status.
To open Campaign Details:
The page address uses the Campaign's unique record identifier.
Conceptually:
The top-left area contains a Back button.
Select it to return to:
Use the Campaigns page when you need to:
Those functions are not all exposed directly from Campaign Details.
While Campaign information is loading, the page displays a rotating loading indicator.
During loading:
When Campaign Details cannot be retrieved, the interface displays:
and redirects the user back to the Campaigns page.
Possible causes include:
The top of the page displays the Campaign Name prominently.
Example:
Always verify this name before selecting Start Campaign or Stop Campaign.
A status badge appears beside the Campaign Name.
Possible statuses are:
Each status determines which Campaign control appears in the header.
Below the Campaign Name, the page displays:
This is the date the Campaign record was created.
It is not necessarily:
An idle Campaign displays:
The Campaign exists but has not entered its active calling sequence.
A scheduled Campaign displays:
instead of the Start Campaign button.
The date is rendered using the browser's local date and time formatting.
A running Campaign displays:
The user can use this control to end the Campaign and attempt to terminate active calls.
A completed Campaign still shows the Start Campaign control area, but the button is disabled.
A completed Campaign therefore cannot be restarted from Campaign Details through the current interface.
A stopped Campaign displays:
again.
Restarting a stopped Campaign should be performed cautiously because new call attempts can be generated for Campaign Leads that were already processed.
Campaign Details displays four performance cards:
These metrics are calculated from the Campaign's Lead list and its Call Logs.
Total Leads is the number of Lead records currently stored in the Campaign's leadIds list.
Example:
A Lead can have multiple Call Logs.
Therefore:
Example:
This can occur after retries or restarting a Campaign.
The Campaign references Lead records.
When a Lead is deleted after being added to a Campaign, the historical relationship may no longer populate normally.
Avoid removing Leads needed for active Campaign management or reporting.
The Completed card counts Call Logs with exactly:
It does not count:
A completed Call Log means that the call reached the system's completed state.
It does not automatically mean:
Review the detailed Call Log and conversation results to determine the business outcome.
The Completed card counts Call Logs, not unique Leads.
Example:
even though only one Lead was involved.
This is especially important after Campaign restarts.
Avg. Duration is calculated by:
The result is displayed in minutes and seconds.
Example:
The calculation includes all Campaign Call Logs, including records whose duration is zero.
Example:
The displayed average becomes:
This means Avg. Duration is not specifically an average of successful conversations.
Call Logs that have already been created but have not yet received a final duration are included in the denominator.
During an active Campaign, Avg. Duration can therefore change as calls finish and their duration values update.
Campaign Avg. Duration is different from Dashboard Talk Time.
Campaign Details defines finished calls as:
The Success Rate is:
The percentage is rounded to the nearest whole number.
Assume:
Finished calls:
Success Rate:
The page displays:
These statuses do not enter the Campaign Details Success Rate denominator:
This prevents still-active calls from immediately lowering the Campaign's displayed Success Rate.
A Lead that has never received a Call Log is considered pending on the Campaign roster.
It is not included in the Campaign Success Rate until a terminal Call Log exists.
The Dashboard and Campaign Details use different formulas.
The Dashboard divides completed calls by all Call Logs.
Campaign Details divides completed calls by terminal Call Logs only.
Therefore, the two percentages can differ while a Campaign is still active.
Example:
Campaign Details:
Dashboard-style calculation:
Both can be correct according to their respective formulas.
The Campaign Details Success Rate should be interpreted as:
It is not automatically:
Campaign Details is organized into:
The page opens on:
by default.
The Live Activity tab displays:
It is the primary Campaign monitoring screen while calls are running.
The panel is titled:
with the description:
During a running Campaign, its appearance is visually emphasized.
The page identifies an Active Call when a Campaign Lead's latest Call Log has one of these statuses:
The first Lead matching one of these conditions is displayed in Active Operations.
An initiated Call Log is considered active enough to keep page polling running.
However, initiated is not included in the Active Operations lead-selection list.
Therefore, a Campaign could briefly have an initiated call while the panel still appears to have no displayed Active Call.
When multiple calls are active simultaneously, Active Operations displays only the first matching Lead in the Campaign list.
The panel is therefore:
not:
Use Call Logs for the complete calling record.
The Active Call panel displays the first character of the Lead's Name.
Example:
Below:
the current Lead's Name is shown.
Always remember that simultaneous calls may exist even when only one Lead is displayed.
When the Lead's latest status is:
Active Operations displays:
with an animated microphone indicator.
When the latest status is:
the panel displays:
The destination has not necessarily answered.
When the latest status is:
the panel displays:
The call is waiting in the execution process.
The adjacent Queue field displays:
when an active Lead is shown.
This is a visual indicator of Campaign activity. It is not a numeric queue position.
When no Lead currently has:
the panel displays:
and:
Seeing No Active Operations is normal when the Campaign is:
It can also appear briefly between calls.
Below Active Operations, the page displays:
with a percentage and progress bar.
The formula is:
The page displays:
where:
Here, the page groups:
together in the failed-count calculation.
The page displays:
using:
Assume:
Processed:
Progress:
Display:
The progress formula counts terminal Call Logs, not distinct Lead IDs.
This distinction becomes important when a Campaign is restarted.
Example:
The page can calculate:
because it has 15 finished Call Logs for 10 Leads.
Using the same example:
the displayed calculation becomes:
The current frontend does not clamp these Campaign Details calculations to a maximum of 100% or a minimum of zero remaining.
This can occur after repeated Campaign execution because these summary calculations are based on Call Log counts rather than unique Lead processing.
A displayed progress value greater than 100% does not mean new Leads were added automatically.
It usually indicates that the Campaign has produced multiple terminal Call Logs for one or more Leads.
Use:
to investigate.
The Live Activity tab contains:
described as:
The panel shows:
Handled by displays the Campaign's selected AI Agent.
Example:
This confirms which Agent is associated with the Campaign.
The Voice Engine displays either:
when the Agent uses Custom Voice, or:
when Custom Voice is not enabled.
The Session Summary Voice Engine field describes the Agent's voice mode.
It does not directly tell you whether the Campaign is using:
Check the Agent's outbound Phone Number and telephone configuration when the provider matters.
For a Custom Voice Agent, the Persona Voice uses:
when available.
If no name exists, it can fall back to:
and finally:
For Standard Voice, the Session Summary removes the Polly. portion of the stored voice.
Example:
When no standard voice value is available, the display can default to:
Total Calls represents:
It is not necessarily equal to Total Leads.
Example:
This is expected because the metric counts Call Log records.
The Session Summary displays:
using exactly the same calculated average duration shown in the top Avg. Duration card.
It is not a biological or sentiment metric.
Operationally:
Select:
to review the complete Campaign roster.
The tab contains a Card titled:
with the description:
The Contact List header displays:
This is the number of Leads in the Campaign's Lead list.
The current table contains:
Each row displays:
Example:
Because Lead Phone Numbers are visible on this page, Campaign Details should be treated as customer-data access.
Do not leave the Contact List visible on an unattended or shared device.
For each Lead, the frontend:
Therefore:
not:
Suppose Danielle has:
The Campaign Leads row displays:
because the completed Call Log is the latest.
Suppose:
The row can display:
because the latest Call Log determines the roster status.
The Campaign summary can still count both Call Logs.
This is another reason to use the full Call Logs section for historical analysis.
When the Lead has no matching Campaign Call Log, the status is:
Internal value:
This value is generated by the frontend for Leads without a Call Log; pending is not one of the stored CallLog status enum values.
Internal status:
Displayed as:
The call request has begun but has not yet progressed to a later state.
Internal:
Display:
The call has been created but is waiting for further processing.
Internal:
Display:
The destination is being alerted.
Internal:
Display:
The call is active.
Internal:
Display:
This means the call reached completed status.
It does not independently prove that the business objective succeeded.
Internal:
Display:
Open Call Logs to investigate the provider or system error.
Internal:
Display:
The destination could not accept the call because a busy condition was reported.
Internal:
Display:
The call did not reach an answered conversation.
Internal:
Display:
This can occur when a running Campaign is stopped or the call is canceled through the calling process.
When the frontend receives a status it does not recognize, it falls back to:
until the frontend mapping is updated.
When a matching Call Log exists, the Lead's Call Metrics column displays:
The time is based on the newest Call Log's createdAt timestamp.
It uses the account's selected 12-hour or 24-hour time-display setting through the Settings provider.
The displayed time represents when the latest Call Log was created.
It is not explicitly based on:
When the newest Call Log has a duration greater than zero, the table displays:
Example:
When duration is:
or not greater than zero, the row displays:
This can occur for:
When a Lead has no Campaign Call Log, Call Metrics displays:
This means no Campaign call attempt has yet been associated with that Lead.
The inspected Campaign Leads tab displays the entire Campaign Lead list.
It does not currently provide a roster-level:
Use the full Call Logs section for more detailed filtering and analysis.
The current Contact List does not display a row-level button for:
Campaign Details is primarily a monitoring interface.
The Campaign Leads table reduces potentially many Call Logs into one displayed status for each Lead.
Therefore:
Open Call Logs when you need:
Chapter 11 covers those functions in detail.
Select:
to review the AI Agent associated with the Campaign.
The tab contains:
The page displays:
followed by the Agent Name.
Example:
This allows the user to confirm which Agent is responsible for the Campaign.
Below the Agent Name, Campaign Details displays the Agent's outbound Phone Number.
Example:
When no outbound number is assigned, it displays:
An idle Campaign may exist even when the Agent has no outbound number.
Do not start it until the Agent has been corrected.
Return to:
and assign the correct connected number.
When:
the Agent Details panel displays:
This corresponds to the application's custom ElevenLabs voice mode.
When Custom Voice is not enabled, the panel displays:
For Premium Voice, the display preference is:
For Standard Voice:
The complete stored Polly name can appear in Agent Details.
Agent Configuration shows:
followed by the configured Agent First Message.
The message is displayed in quotation marks.
Placeholders written in the form:
are visually highlighted inside the Opening Message.
This helps users identify personalization variables before running the Campaign.
A highlighted variable does not prove that every Campaign Lead has a matching value.
Example:
Some Leads may have no Company field.
Review Lead data before launch.
The right side of Agent Details is titled:
with the description:
The scrollable panel displays the Agent's stored:
The user can review the instructions before starting or while monitoring the Campaign.
Although the interface description says:
the current Campaign Details frontend specifically renders the Agent's systemPrompt field.
It does not separately render the complete formatted Knowledge Base sections in this panel.
To verify the actual Knowledge Base assignment and section settings, open the Agent itself.
The AI Instructions area is placed inside a scrollable panel.
Users should review the complete Prompt rather than only the first visible paragraph.
Because Campaign Details exposes the Agent's complete System Prompt to the logged-in user, do not store:
inside an Agent prompt.
For an eligible idle or stopped Campaign, select:
The page sends the Campaign's ID to the start operation.
A successful response displays:
Unlike the main Campaign list, the Campaign Details start function sends the start request directly.
The backend then determines actual readiness, including the appropriate provider requirements.
This is particularly relevant for SIP-based Campaigns.
Starting from Campaign Details does not bypass backend requirements.
The Campaign can still be rejected for:
When status is running, select:
The interface asks:
After confirmation, the page displays:
while the backend stop operation is processing.
On success:
appears and Campaign Details reloads the Campaign data.
The backend changes Campaign status to:
first, preventing additional calls from being initiated.
It then identifies Call Logs in:
and attempts to terminate those calls.
For Twilio Campaigns, the backend attempts to terminate the remote Twilio call and changes successfully terminated Call Logs to:
For SIP Campaigns, the SIP manager attempts to stop Campaign channels through the Asterisk calling system.
Immediately after selecting Stop, some Lead rows may temporarily remain:
while provider and backend status updates complete.
Campaign Details continues polling when active Call Logs remain, even after the Campaign status changes.
Campaign Details automatically refreshes approximately every:
when:
The page treats these as active for the polling decision:
A stopped Campaign can continue refreshing while one of its Lead rows still has an active Call Log.
Polling stops after the Campaign is no longer running or scheduled and no active Call Log remains.
When the Campaign is:
the automatic three-second polling stops.
Refresh the page manually when another process may have changed historical data.
Telephony providers normally send status callbacks as calls progress.
A callback can occasionally be missed because of:
AIUNIFY Assistant includes a reconciliation process for stale Twilio Campaign Call Logs.
Each successful Campaign Details request starts the Twilio reconciliation process in the background.
The current Campaign response is returned first; reconciliation then runs asynchronously.
This means a stale status can appear briefly and be corrected by a later poll or refresh.
Twilio Call Logs are considered for reconciliation when they have remained nonterminal for more than approximately:
and have statuses such as:
The reconciliation service requests the call's current Twilio status.
When Twilio reports a terminal result, the Call Log can be updated to:
and the provider duration can be stored.
When a stale Call Log's call can no longer be found through Twilio with the handled not-found condition, the service changes that Call Log to:
and records an end time.
The specific stale-log reconciliation service described above is for Twilio.
SIP completion updates are handled through the SIP voice-processing workflow rather than this Twilio reconciliation routine.
For Campaign completion purposes, terminal call statuses include:
The reconciliation process compares:
with:
When:
the Campaign can be changed to:
The SIP voice workflow contains a similar Campaign-completion process when SIP calls finish.
Because completion compares finished Call Logs with the Campaign Lead count, repeated call attempts can influence the threshold.
Campaign completion should therefore be understood as a system execution state rather than proof that each unique Lead has one and only one final call.
Campaign Details primarily measures:
Determining whether the Campaign accomplished its actual business purpose requires additional information such as:
These are primarily reviewed through Call Logs, Leads, and Appointments.
Campaign Details may show:
But the actual business results could be:
Do not report an 85% sales conversion simply because Campaign Success Rate is 85%.
Example:
Possible explanations include:
Review recordings and transcripts.
This can indicate:
Review the Lead roster and Call Logs before retrying.
A large number of:
results can suggest:
Create a controlled retry group rather than restarting the entire Campaign.
A high number of:
records warrants immediate investigation.
Possible causes include:
Stop a running Campaign when failures indicate a system-wide configuration issue.
If many Campaign Leads remain:
check:
Queued Leads indicate Call Logs exist, but calls have not progressed beyond the queue.
Check:
A Lead remaining Ringing for an unusually long time can indicate:
For Twilio, Campaign Details can eventually trigger stale-log reconciliation.
An in-progress status that persists well after the actual call ended can result from a missed provider status callback.
Allow the reconciliation process time to correct stale Twilio Call Logs.
Campaign Details uses two different perspectives.
Count Call Logs.
Displays one Lead row using that Lead's latest Call Log.
Because of this, the numbers can appear inconsistent after retries.
Campaign:
Lead A has:
Summary:
Lead A row:
because the latest Call Log is completed.
Use:
for Campaign call-attempt totals.
Use:
for the latest status of each Lead.
Use:
for complete historical analysis.
The current Campaign Details interface does not expose an Edit Campaign button.
Although the backend supports updates to a non-running Campaign's:
the current normal-user Campaign Details page does not provide a visible form for those changes.
Do not instruct users to edit those fields from this page.
Duplicating a Campaign is performed from the main Campaigns page.
Return to Campaigns and use:
Campaign deletion is also performed from the main Campaigns page.
Running Campaigns must first be stopped.
Campaign Details does not provide an individual Lead-removal control.
Do not attempt to correct a running Campaign's roster by deleting Lead records from the Leads section.
Stop the Campaign and create an appropriately configured replacement when necessary.
A scheduled Campaign displays:
instead of an active Start control.
Use Campaign Details to verify:
before the scheduler launches it.
The page continues refreshing every three seconds while Campaign status remains:
This enables the browser to detect when the scheduler changes it to:
At launch:
When a Campaign completes:
On Campaign Leads, identify:
Do not immediately retry every unsuccessful status.
A safer retry process is:
Restarting a stopped Campaign can reprocess the full Lead list.
For targeted follow-up, a new Campaign is usually operationally safer.
Possible causes:
Confirm the Campaign still appears in the main Campaign list.
Check:
Refresh after more than two minutes when a Twilio status appears stale.
Possible causes include:
Remember that Completed counts Call Logs, not unique Leads.
This can occur when the number of terminal Campaign Call Logs exceeds the number of Campaign Leads.
Review for:
Do not interpret the percentage literally as unique-Lead completion.
This has the same underlying cause:
The current calculation does not clamp Remaining at zero.
Review Call Logs before reporting Campaign completion metrics externally.
Remember that active and pending calls are excluded from the denominator.
A running Campaign can temporarily show a high Success Rate while many Leads remain unprocessed.
Review:
All terminal failures contribute to the denominator.
Possible causes include:
Review individual Call Logs.
This is expected.
The panel selects the first Campaign Lead whose latest status is:
It is not a multi-call dashboard.
Possible reasons include:
Review the Campaign Leads tab.
This warrants investigation.
Possible reasons include:
Review the complete Campaign Call Logs before considering the Campaign fully processed at a unique-Lead level.
The summary counts all Call Logs.
The Lead row shows only its latest Call Log.
This can produce apparently conflicting results after retries.
Do not start the Campaign.
Return to Campaign management and verify:
Create a replacement Campaign when the current user interface does not provide the necessary edit operation.
The Agent Details tab can display:
Open AI Agents, assign the proper number, save the Agent, and retest before launching.
Because the Campaign uses the Agent's live configuration, correct the Agent before starting.
After editing:
Stop or postpone Campaign execution.
Correct the Agent's System Prompt, then verify Campaign Details reflects the updated Prompt.
Check for nonterminal Call Logs:
For stale Twilio calls, allow Campaign Details to trigger reconciliation.
For SIP, review the Voice Engine and SIP Call Log status.
Review:
Confirm:
Monitor:
Use Call Logs when more detail is required.
Example pattern:
Recommended response:
Review:
Report:
separately from:
because one Lead can generate multiple Call Logs.
Example:
This is more accurate than saying:
when the Campaign contained only 500 Leads.
A useful Campaign report may distinguish:
The page can expose:
Access should be limited to authorized users.
The Agent Details tab can display complete AI instructions.
Do not share screenshots of this area with unauthorized recipients.
Campaign Leads displays telephone numbers in plain text.
Before sharing screenshots:
When demonstrating Campaign Details:
Confirm:
Understand that:
Confirm:
Review:
Confirm:
Confirm:
Confirm:
Confirm:
Confirm:
At the end of this chapter, the user should understand how to open and interpret an individual Campaign; how idle, scheduled, running, completed, and stopped Campaign statuses affect the available controls; how Total Leads, Completed, Avg. Duration, Success Rate, Campaign Completion, Contacts Processed, Remaining, and Session Summary metrics are calculated; how Live Activity identifies an active Lead; how the Campaign Leads roster uses each Lead's latest Call Log; how Pending Execution, Initiating, Queued, Ringing, In Conversation, Contact Successful, Call Failed, Line Busy, No Answer, and Canceled statuses should be interpreted; how the Agent Details tab displays the selected Agent, outbound number, voice, Opening Message, and System Prompt; how automatic three-second polling keeps active Campaign information updated; how stale Twilio Call Logs can be reconciled; how Campaign completion is determined; and how to safely monitor, stop, review, and report Campaign activity.
The user should especially understand that Campaign Details uses Call Logs for several summary calculations while the Campaign Leads table shows one latest result per Lead. After retries or restarts, this can cause Total Calls and terminal-status counts to exceed the number of unique Campaign Leads, and can even make the current progress calculation exceed 100%. Campaign reporting should therefore distinguish Lead count, call-attempt count, technical completion, and business outcome.