3.1 Overview

The AIUNIFY Call Center Dashboard is the main operational summary page displayed after login.

It combines:

Role-based statistics
Recent Campaign activity
Recent Call activity
Telephone-number information
Campaign-status summaries
Seven-day Call trends
KYC warnings
Global Search
Notifications
Customer Credit Balance

The Dashboard changes according to the signed-in user’s role:

Administrator
Customer
Agent

The system prepares Dashboard statistics, recent Campaigns, recent Calls, Call-chart data, and Campaign-status data each time the Dashboard route is loaded.

Opening the Dashboard

3.2 Dashboard Address

The Dashboard is available at:

/dashboard

It normally opens automatically after a successful login.

3.3 Opening the Dashboard from Navigation

To return to the Dashboard:

  1. Select Home from the Sidebar.
  2. Wait for the statistics to load.
  3. Confirm the greeting contains the correct user’s Name.
  4. Confirm the displayed information matches the expected role.

3.4 Role-Based Dashboard

The same Dashboard route determines which view to display by checking whether the user is an:

Administrator
Customer
Agent

A Customer should not see the Administrator’s system-wide statistics.

An Agent should not see Customer billing, team-management, or platform-administration information.

Dashboard Header

3.5 Header Controls

The authenticated header contains:

Sidebar control
Breadcrumbs
Global Search
Language Switcher
Notifications
Credit Balance — Customers only

These controls remain available across authenticated pages because they are part of the main application layout.

3.6 Sidebar Control

The Sidebar control expands or collapses the main navigation.

On smaller screens, it opens the Sidebar as a mobile navigation panel.

3.7 Breadcrumbs

Breadcrumbs identify the current location.

On the Dashboard, the breadcrumb normally displays:

Home

On deeper pages it can display a path such as:

Campaigns
→ Campaign Details

Greeting

3.8 Time-Based Greeting

The Dashboard greeting changes according to the browser’s local clock:

Before 12:00 PM:
Good morning

12:00 PM through 5:59 PM:
Good afternoon

6:00 PM and later:
Good evening

Example:

Good morning, Danielle! 👋

3.9 Greeting Time Versus Reporting Time

The greeting uses the browser’s local time.

Dashboard statistics are calculated by the Laravel server, whose current application Time Zone is:

UTC

This can create a difference near midnight.

Example:

Browser:
11:30 PM Eastern Time

Server:
3:30 AM UTC on the next calendar day

The greeting may still say Good evening, while the Dashboard’s Today Call count is already using the next UTC date.

Dashboard Refresh Behavior

3.10 Snapshot Data

The Dashboard is a snapshot of application data at the time the page is loaded.

It does not contain automatic repeating polling for:

New Calls
Campaign progress
New Contacts
Credit deductions
New telephone requests

3.11 Refreshing the Dashboard

To obtain updated statistics:

  1. Return to Home through the Sidebar.
  2. Refresh the browser page.
  3. Navigate away and return to the Dashboard.
  4. Confirm the latest activity appears.

For live Campaign activity, use the Campaign or Call pages rather than relying only on the Dashboard.

Customer Dashboard

3.12 Customer Heading

A Customer sees a greeting and a message similar to:

Ready to launch your next campaign?

The heading also contains:

Create Campaign

which opens:

/campaigns/create

3.13 KYC Warning

When KYC is enabled and the Customer is unverified, the Dashboard can display:

Verify Your Account

or:

Account Suspended – Verification Required

The nonexpired warning can be dismissed for the current browser session.

The expired warning cannot be dismissed through the same close control.

As explained in Chapter 2, the displayed KYC grace period does not currently override the backend’s approved-KYC requirement on protected routes.

Customer Quick Statistics

3.14 Campaigns

The Campaigns Card displays:

Total Campaigns
Active Campaigns

The total count includes all nondeleted Campaign records owned by the Customer, regardless of Campaign Status.

3.15 Current Campaign-Status Mismatch

The current Campaign model uses:

draft
scheduled
running
paused
completed
failed

It does not use:

active

as the normal running Status.

However, the Dashboard controller currently calculates Active Campaigns using:

status = active

Therefore, the Active Campaign count can display:

0

even when one or more Campaigns are actually:

running

3.16 Correction to Chapter 1

The correct current Campaign statuses are:

Draft
Scheduled
Running
Paused
Completed
Failed

The Dashboard’s use of Active is an older or inconsistent status reference.

For the authoritative Campaign Status, open:

Campaigns
→ All Campaigns

3.17 Contacts

The Contacts Card displays:

Total Contacts
Active Contacts

The total is based on Contact records owned by the Customer.

The active count includes Contacts whose Status is:

active

3.18 Customer Contacts Label Mismatch

The Customer Dashboard correctly supplies the active Contact count, but the descriptive text reuses the translation intended for:

active campaigns

The Card can therefore display wording similar to:

125
35 active campaigns

even though 35 represents active Contacts.

The numeric value is the active Contact count; the wording is incorrect in the current interface.

3.19 Total Calls

The Total Calls Card displays:

All Call records associated with the Customer User ID
Calls created today

The Today period is calculated using the server date.

3.20 My Team

The My Team Card counts User records whose:

parent_user_id

matches the Customer.

The interface describes the value as active Agents, but the current query does not filter by:

Agent role
Active User status

Therefore, the Card is more accurately interpreted as:

Total child User records attached to the Customer

rather than a guaranteed count of active Agents.

Customer Call Activity

3.21 Call Activity Section

The Customer Dashboard displays:

Today
This Week
This Month

3.22 Today

Today counts Call records whose creation date matches the Laravel server’s current date.

3.23 This Week

This Week counts Call records between:

Start of the current server week
and
End of the current server week

3.24 This Month

This Month counts Call records whose month and year match the server’s current month and year.

3.25 Calls Versus Conversations

These Cards count Call database records.

They do not necessarily count only successful conversations.

Depending on how Calls were created, the count can include:

Completed
Failed
Busy
No Answer
Canceled
In Progress

3.26 Customer Versus Agent Calls

The Customer Dashboard filters Call records using:

call.user_id = Customer User ID

Calls stored directly under an Agent User ID are not included in that Customer query.

Use the Call History and Agent reporting pages when comparing team performance.

Customer Telephone Numbers

3.27 My Numbers

The My Numbers Card counts Phone Number records whose:

user_id

matches the Customer account.

The Card provides:

View all numbers

which opens:

/numbers/my-numbers

3.28 Pending Requests

Pending Requests counts the Customer’s Number Request records whose Status is Pending.

The Card provides:

Browse available

which opens the available-number section.

Customer Call Trends

3.29 Seven-Day Chart

Call Trends covers:

Today
+
The previous six calendar days

The backend fills missing dates with zero values so all seven dates appear.

3.30 Completed Calls

The green portion counts Calls with:

status = completed

3.31 Failed Calls

The red portion combines:

failed
busy
no-answer

3.32 Other Call Statuses

The chart’s total value includes all Calls created on the date.

However, only Completed and the three listed failure statuses receive visible green or red bars.

Statuses such as:

in-progress
canceled
queued
ringing

can contribute to the day’s total and chart scaling without appearing as a colored result bar.

3.33 Chart Interpretation

Use Call Trends to identify broad patterns.

Do not use the chart alone to calculate an exact answer rate.

For exact results, review:

Call History
Campaign Analytics
Call exports

Customer Campaign Status

3.34 Displayed Status Categories

The Dashboard’s Campaign Status Card displays:

Active
Draft
Paused
Completed

3.35 Missing Current Statuses

The current model also supports:

Scheduled
Running
Failed

but these categories are not displayed separately in the Dashboard Card.

Because the Card looks for active instead of running, a running Campaign can be omitted from the visible summary.

3.36 Authoritative Campaign Status

Use:

Campaigns
→ All Campaigns

to determine whether a Campaign is actually:

Scheduled
Running
Paused
Completed
Failed

Customer Recent Activity

3.37 Recent Campaigns

The Dashboard controller retrieves the five newest Campaigns owned by the Customer.

The Card displays:

Campaign Name
Contacted count
Total Contact count
Status badge

A View All button opens the full Campaign list.

3.38 Contacted Count

The recent Campaign list uses the Campaign’s stored:

contacted_count

value.

This should not automatically be interpreted as:

Answered Calls
Completed Calls
Conversions

3.39 Recent Calls

The Dashboard retrieves up to ten newest Customer Call records, but the visible Card displays the first five.

Each item displays:

Destination telephone number
Duration
Status

The Customer Card does not display the Call date, even though the backend supplies it.

3.40 Duration

Duration is displayed as:

0s
45s
2m 18s

A missing or zero duration displays:

0s

This can represent a failed or unconnected Call rather than an actual zero-second conversation.

3.41 Call Status Badges

The Dashboard assigns special Badge styles to:

completed
failed
busy
no-answer
in-progress

Other statuses receive the default secondary Badge style.

Agent Dashboard

3.42 Intended Agent Dashboard

The Agent Dashboard interface is designed to display:

Available Campaigns
Available Contacts
Today’s Calls
This Week
Total Calls
Quick Actions
Available Campaigns list
Your Recent Calls

3.43 Agent Quick Actions

The available actions are:

View Campaigns
Make Calls
Call History

View Campaigns

Opens:

/campaigns

Make Calls

Opens:

/calls

Call History

Currently points to:

/calls/history

No matching route exists in the installed route list.

Use:

Communication
→ History

or open:

/calls

instead.

Agent Dashboard Data Mismatch

3.44 Values Sent by the Backend

The Dashboard controller currently sends these Agent statistics:

total_campaigns
active_campaigns
total_contacts
my_calls_today
my_calls_this_week

3.45 Values Expected by the Interface

The Agent Dashboard interface expects:

available_campaigns
available_contacts
calls_today
calls_this_week
total_calls

These field names do not match.

3.46 Result of the Mismatch

Agent Dashboard Cards can display:

Blank
Undefined
Missing values

for Available Work and Call Performance.

This is a current implementation defect, not proof that the Agent has no work or no Call activity.

3.47 Agent Campaign Scope

The backend retrieves recent Campaigns using the parent Customer’s:

user_id

This allows the Agent to see the parent Customer’s newest Campaigns.

3.48 Agent Recent Call Scope

The backend also retrieves recent Calls using the parent Customer’s User ID.

However, the Agent Dashboard labels the Card:

Your Recent Calls

The Card can therefore display Customer-owned Call activity rather than only Calls made by the signed-in Agent.

3.49 Agent Performance Verification

Until the field and ownership mismatches are corrected, Agents should use:

Communication → History
Campaign details
Agent-specific reporting

instead of treating the Dashboard performance Cards as authoritative.

Administrator Dashboard

3.50 System Overview

The Administrator Dashboard displays:

Total Users
Customers
Agents
Campaigns
Contacts
Total Calls

These values are system-wide.

3.51 Total Users

Total Users counts every User record.

3.52 Customers and Agents

Customer and Agent counts are based on assigned roles.

The Customer and Agent quantities appear as descriptive text beneath Total Users.

3.53 Campaigns

The total Campaign count includes all nondeleted Campaigns system-wide.

The displayed Active Campaign count currently searches for:

status = active

and therefore has the same mismatch with the current running Status described earlier.

3.54 Contacts

The Administrator Contact count includes all Contact records across the platform.

3.55 Total Calls

The Administrator Total Calls value counts all Call records.

The backend also calculates:

Calls today
Calls this month

but the current System Overview Cards do not visibly display those two values.

Administrator Phone Inventory

3.56 Phone Inventory Cards

The Administrator Dashboard displays:

Total Numbers
Purchased
Available
Assigned
Pending Requests

3.57 Total Numbers

Counts all Phone Number records in the system.

3.58 Purchased

Counts telephone numbers with a stored Twilio SID.

This is not necessarily a count of every number obtained through SIP or another carrier.

3.59 Available

Counts Phone Number records matching the model’s available scope.

3.60 Assigned

Counts Phone Number records matching the assigned scope.

3.61 Pending Requests

Counts all pending Customer Number Requests.

Administrator Financial Overview

3.62 Financial Cards

The Administrator interface attempts to display:

Phone Cost
Credits Sold
Credits Used

3.63 Phone Cost

Phone Cost is calculated from the sum of:

monthly_cost

for Phone Number records containing a Twilio SID.

The Card labels this as the monthly Phone cost.

3.64 Currency Limitation

The Phone Cost Card currently places a literal:

$

before the value.

It does not use the application’s configurable base-currency formatter.

When the system base currency is not USD, the symbol can be incorrect.

3.65 Credits Sold and Credits Used Defect

The Administrator Dashboard interface expects:

credits_sold
credits_used

but the current Dashboard controller does not provide those fields.

The Cards can therefore display:

$undefined

or otherwise lack valid values.

Use the dedicated Administrator Credit Management and Profit sections for authoritative financial reporting.

Administrator Charts and Recent Activity

3.66 Administrator Call Trends

The Call Trends chart uses system-wide Calls for the latest seven days.

3.67 Administrator Campaign Status

The Campaign Status Card uses system-wide Campaign records but has the same current status mismatch:

Dashboard expects:
active

Current Campaign model uses:
running

3.68 Administrator Recent Campaigns

The backend returns the five newest Campaigns and includes the Campaign owner’s Name.

The current Dashboard Card does not display that owner.

Administrators should open the Campaign to confirm which Customer owns it.

3.69 Administrator Recent Calls

The backend retrieves the ten newest Calls and includes owner information.

The visible Card displays only five and does not display the owner.

Global Search

3.70 Opening Global Search

Global Search appears in the upper-right header.

It can be opened by:

Selecting the Search field

or:

Windows/Linux:
Ctrl + K

macOS:
Command + K

The interface visually displays the Command key shortcut, but both Command and Control are accepted.

3.71 Search Input

The dialog displays:

Type to search across everything...

3.72 Minimum Search Length

Search begins only after at least:

2 characters

have been entered.

A one-character query returns no results.

3.73 Search Delay

The interface waits approximately:

300 milliseconds

after the user stops typing before requesting results.

This reduces unnecessary requests while typing.

3.74 Keyboard Navigation

The Search dialog supports:

Up Arrow and Down Arrow:
Navigate results

Enter:
Open selected result

3.75 Search Categories

The interface can group results under:

Menu
Customers
Agents
Campaigns
Contacts
Phone Numbers
Call Logs

3.76 Maximum Results

The backend limits most categories to approximately:

5 results per category

The Global Search is therefore a quick-navigation tool rather than a complete report.

Menu Search

3.77 Menu Items

Menu search can return links such as:

Dashboard
Softphone
Call History
My Numbers
Request New Number
Campaigns
Campaign Templates
Analytics
Contacts
Contact Lists
Knowledge Base
Credits
Settings

Available menu results are generated according to broad role.

3.78 Menu Search Does Not Fully Check Permissions

The Search menu generator checks whether the account is generally an Administrator or Customer.

It does not apply every:

Permission
KYC restriction
Feature-access rule

A result can appear even when the user is not permitted to open the destination.

Customer and Agent Search

3.79 Customer Results

Administrators can search Customer accounts by:

Name
Email Address

A non-Administrator search is restricted to the signed-in Customer record.

3.80 Agent Results

Agent account search is available only to Administrators.

Campaign Search

3.81 Campaign Search

Campaigns are searched by:

Campaign Name

Administrators can search all Campaigns.

Normal users are intended to search only Campaigns whose:

user_id

matches the signed-in user.

3.82 Agent Campaign Search Limitation

The Search controller scopes non-Administrator Campaigns directly to:

signed-in User ID

It does not substitute the Agent’s parent Customer ID.

An Agent can therefore receive no Campaign result even though the Agent can see the parent Customer’s Campaigns elsewhere.

Contact Search

3.83 Contact Search Fields

Contacts are searched by:

Name
Telephone Number

3.84 Contact Search Ownership Defect

The current Contact search query combines:

Name matches
OR
Phone matches
AND
User ownership

without grouping both search conditions before applying ownership.

Because of SQL condition precedence, a non-Administrator Contact Name search can potentially return a Contact belonging to another Customer.

This is a current data-isolation defect and should be corrected before Global Search is relied on in a multitenant production environment.

Users should not use Global Search to access or act upon records that do not belong to their account.

Phone Number Search

3.85 Administrator-Only Phone Search

Administrators can search Phone Numbers by:

Raw number
Formatted number
Friendly Name

The result links to the central Administrator number inventory rather than a dedicated number detail page.

Call Search

3.86 Call Search Fields

Call records can be searched by:

From Number
To Number
Twilio Call SID

Results are ordered newest first.

3.87 Call Result Description

The result can display:

Call from [number]

or:

Call to [number]

with a subtitle containing:

Direction
Status
Campaign Name, when available

Current Global Search Route Problems

3.88 Search Route Mismatches

Several routes constructed by the Search controller do not match the installed application route list.

Examples include:

Search Softphone link:
/calls/softphone

Installed Softphone route:
/softphone

Search Knowledge Base route name:
knowledge-base.index

Installed route name:
knowledge-bases.index

Search Customer Credit routes:
credits.index
credits.top-up

Installed routes:
credit.index
credit.top-up

The Search code also references Administrator route names that are not present under those exact names.

3.89 Effect of Invalid Named Routes

Laravel’s route() helper resolves named routes while building the Search response.

A missing route name can cause the entire Search request to fail before results are returned.

This means Global Search can show:

No results found

or fail silently even when matching records exist.

3.90 Search Failure Is Hidden

The frontend catches request failures and replaces the result set with an empty array.

It does not display a technical error message.

A backend Search failure can therefore look identical to a valid search with no matches.

3.91 Search Workaround

When Global Search does not work:

  1. Use the Sidebar.
  2. Open the relevant module.
  3. Use that module’s search or filter.
  4. Confirm the record belongs to the correct account.
  5. Report repeated Search failure to the Administrator.

Notifications

3.92 Opening Notifications

Select the Bell icon in the header.

The dropdown can display:

Notifications
Mark all as read
Loading notifications...
No notifications yet
Notification entries
View all notifications


3.93 Unread Badge

When unread Notifications exist, a red Badge appears on the Bell.

The Badge displays:

1 through 9

When more than nine unread Notifications exist, it displays:

9+

3.94 Latest Notification Limit

The API retrieves the latest:

20 Notifications

for the signed-in user.

The unread count is calculated across all unread Notification records, not only the latest twenty shown in the dropdown.

3.95 Notification Ordering

Notifications are ordered:

Newest first

3.96 Notification Contents

A Notification can contain:

Title
Message
Read or unread state
Creation time
Optional destination URL
Type

3.97 Default Values

When a Notification does not provide a Title, the dropdown uses:

Notification

When a Notification does not provide a Type, it uses:

info

3.98 Notification Colors

Types are displayed using different text colors:

Info:
Blue

Success:
Green

Warning:
Yellow

Error:
Red

3.99 Relative Time

Recent Notifications display relative times such as:

just now
5m ago
2h ago
3d ago

After approximately seven days, the dropdown displays a browser-formatted date.

3.100 Unread Appearance

An unread Notification receives:

A blue dot
A lightly highlighted background

Reading Notifications

3.101 Opening a Notification

Selecting a Notification:

  1. Marks it as read when it is unread.
  2. Reduces the local unread Badge count.
  3. Opens its destination when the Notification contains a URL.

3.102 Notification Without a URL

When no destination URL is stored, selecting the Notification only marks it as read.

The user remains on the current page.

3.103 Mark All as Read

When unread Notifications exist, select:

Mark all as read

The backend marks all unread Notifications belonging to the signed-in user as read.

3.104 Ownership Protection

The mark-as-read operation applies both:

Notification ID
+
Signed-in User ID

A user cannot normally mark another user’s Notification through this route.

Notification Sources

3.105 Contact Import Completed

A Contact import can create:

Import Completed Successfully

with a message such as:

Successfully imported 450 of 500 contacts.

This is a database Notification and does not depend on Email delivery.

3.106 Contact Import Failed

A failed Contact import can create:

Import Failed

with the stored import error message.

3.107 Number Request Created

When a Customer requests a telephone number, Administrators can receive an in-app Notification that a new Number Request was created.

3.108 Number Request Approved

The Customer can receive an in-app Notification after a Number Request is approved.

The Notification’s database data contains:

Type
Request ID
Phone Number
Message

It does not currently provide a custom Title or destination URL, so the dropdown can show the generic Title:

Notification


3.109 Number Request Rejected

The Customer can receive a Notification after rejection, including the rejection message or reason where stored.

Like the approval event, it does not provide a direct dropdown destination URL in the current Notification data.

3.110 Email and Database Channels

Number Request Notifications are configured for:

Mail
Database

The in-app Notification can be stored even when production Email delivery is not configured correctly.

As described in Chapter 2, the current runtime mail driver is log, so inbox delivery should not be assumed.

Notification Refresh Behavior

3.111 Initial Fetch Only

The Notifications component requests data when it first mounts.

It does not automatically:

Poll repeatedly
Refresh every time the dropdown opens
Subscribe to a live WebSocket Notification channel

3.112 Stale Notification Count

A new Notification created while the user remains on the same loaded layout may not appear immediately.

To update it:

  1. Refresh the page.
  2. Navigate to another full page.
  3. Return to the application.
  4. Open the Bell again.

3.113 Notification Fetch Failures

When Notification retrieval fails, the interface sets:

Notifications:
Empty

Unread count:
0

The dropdown can therefore display:

No notifications yet

even when the actual problem is a failed API request.

View All Notifications Limitation

3.114 View All Notifications

When at least one Notification exists, the dropdown displays:

View all notifications

The link opens:

/notifications

3.115 Missing Full Notification Page

The installed route list contains the Notification API routes but does not contain a normal:

GET /notifications

page.

The View all notifications action can therefore lead to a Not Found page.

Use the dropdown as the current Notification interface.

Notification Management Limitations

3.116 No Delete

Users cannot delete individual Notifications through the current interface.

3.117 No Archive

There is no Archive function.

3.118 No Unread Filter

The dropdown does not provide filters for:

Unread
Read
Success
Warning
Error

3.119 No Mark as Unread

Once marked read, a Notification cannot be returned to unread state through the interface.

3.120 No User Notification Preferences

The current header Notification system does not provide settings to enable or disable individual in-app Notification types.

Customer Credit Balance

3.121 Header Credit Display

The Credit Balance control appears only for users whose role includes:

customer

It does not appear for:

Administrator
Agent


3.122 Balance Display

On desktop, the control displays:

[Formatted amount] credits

Example under a USD base currency:

$125.00 credits

On smaller screens, only the formatted amount is displayed.

3.123 Base Currency

The amount uses the application’s configured base currency.

The current default is:

USD

but an Administrator can configure another supported base currency.

3.124 Low Credit Indicator

The Coin icon changes according to the numeric balance:

10 or more:
Green

Below 10:
Yellow

The threshold is:

10 base-currency units

For a USD-based system, the warning begins below:

$10.00

3.125 Low Balance Is Not a Hard Stop

A yellow Coin icon is a visual warning.

It does not itself prevent Calls or SMS.

Actual operations can be blocked when the platform’s credit checks determine that the balance is insufficient for the expected charge.

3.126 Opening Top Up

Both of these controls open:

/credit/top-up

Credit Balance button
Plus button

3.127 Balance Refresh

The Credit Balance comes from the User data shared with the current Inertia page.

It does not poll continuously.

After:

A Call
An SMS
A telephone-number charge
A Credit adjustment
A successful top-up

the header can temporarily display the previous balance until a page request refreshes the User data.

3.128 Platform Credits Versus Provider Balance

AIUNIFY Credits are the platform’s internal billing balance.

They are not the same as:

Twilio balance
SIP carrier balance
Razorpay account
Stripe account
Customer bank balance

A Customer can have AIUNIFY Credits while an external provider account is unavailable, and the reverse can also occur.

Account Activity

3.129 What the Dashboard Shows

Dashboard activity is summarized through:

Recent Campaigns
Recent Calls
Call Trends
Campaign Status
Telephone-number requests
Notification events

3.130 What the Dashboard Does Not Show

The Dashboard is not a complete audit log.

It does not provide a unified history of:

Every Login
Every Profile change
Every Permission change
Every Credit transaction
Every Contact edit
Every Notification
Every Administrator action

3.131 Recent Activity Limits

The backend retrieves:

5 recent Campaigns
10 recent Calls

The visible interface normally shows:

5 Campaigns
5 Calls

3.132 Newest Record Logic

Recent Campaigns and Calls are ordered by database creation date, newest first.

They are not ordered by:

Last Call attempt
Last Campaign update
Last Contact response
Last result change

3.133 Detailed Activity Sources

For detailed investigation, use:

Campaigns:
Campaign Details and Analytics

Calls:
Communication → History

AI Calls:
Conversational AI → Call History

Credit activity:
Billing → Account Statement

Telephone requests:
Phone Numbers → My Requests

Administrator system activity:
Call Logs, Error Logs, Cron Jobs, Credit Management

Current Dashboard Reliability Summary

3.134 Reliable Customer Values

The following Customer values are directly and consistently queried:

Total Campaigns
Total Contacts
Active Contacts
Total Calls under Customer User ID
Calls Today
Calls This Week
Calls This Month
Customer Phone Numbers
Pending Number Requests

3.135 Values Requiring Caution

Use caution with:

Active Campaigns
Campaign Status chart
My Team active-agent wording
Customer Contact subtitle
Agent Dashboard performance
Agent Recent Calls ownership
Administrator Credits Sold
Administrator Credits Used

3.136 Current Campaign Status Rule

The current Campaign model’s authoritative status sequence is:

Draft
→ Scheduled or Running
→ Paused, Completed, or Failed

The Dashboard’s Active category should be interpreted carefully until it is changed to use:

running

Troubleshooting the Dashboard

3.137 Dashboard Does Not Load

Check:

Authentication session
Network connection
Server availability
Correct role
Browser console errors

Refresh once and sign in again when necessary.

3.138 Statistics Appear Outdated

The Dashboard does not poll automatically.

Refresh or navigate away and return.

3.139 Active Campaign Shows Zero

Open All Campaigns and look for:

Running

The Dashboard currently checks for the outdated active Status.

3.140 Contact Count Description Is Wrong

The number beneath Contacts can be correct while the text says active Campaigns.

Interpret that number as active Contacts.

3.141 Agent Cards Are Blank

The Agent Dashboard frontend expects different field names from those returned by the controller.

Use Campaigns and Call History until the mapping is corrected.

3.142 Administrator Credits Display Undefined

Use:

Administration
→ Credit Management

or:

Administration
→ Profit Tracking

The main Dashboard does not currently receive valid credits_sold and credits_used values.

Troubleshooting Global Search

3.143 Search Does Not Start

Enter at least two characters.

3.144 Search Shows No Results for a Known Record

Possible causes include:

Search route failure
Invalid route name
Role restriction
Ownership restriction
Agent-parent ownership mismatch
Search field not supported

Use the module’s own page search.

3.145 Search Opens Not Found

The selected Search result may use an outdated destination such as:

/calls/softphone

Use the Sidebar’s current route.

3.146 Contact Appears from Another Account

Do not open, modify, or use it.

Report the issue to the platform Administrator because the current Contact search query does not properly group ownership conditions.

Troubleshooting Notifications

3.147 Bell Shows No Notifications

Refresh the page.

The component fetches Notifications only when it mounts.

3.148 Badge Count Exceeds Visible Items

The dropdown shows only the latest twenty Notifications, while the unread Badge counts all unread records.

3.149 Notification Has Generic Title

Number Request Notifications do not currently provide a custom title field in their database payload.

The interface therefore uses:

Notification

3.150 Notification Does Not Open a Page

The Notification may not contain a destination URL.

Selecting it still marks it as read.

3.151 View All Returns Not Found

Use the Bell dropdown.

A full /notifications page is not currently registered.

Troubleshooting Credit Balance

3.152 Credit Balance Does Not Appear

The Header credit control is Customer-only.

Confirm the account has the Customer role.

3.153 Balance Is Zero Unexpectedly

Possible causes include:

Actual balance is zero
Credit value missing from User data
Stored value is invalid
Page data is stale
Wrong account signed in

Open My Credits or Account Statement for confirmation.

3.154 Balance Did Not Change After a Call

Reload the page or navigate to another authenticated page.

The header balance is not a live-polling value.

3.155 Coin Is Yellow

The balance is below ten units in the configured base currency.

Review expected Call, SMS, and telephone-number charges before starting a large operation.

Daily Dashboard Checklist

3.156 Customer Checklist

Review:

KYC warning
Credit Balance
Active or Running Campaigns
Calls Today
Pending Number Requests
Recent failed Calls
Recent Campaign progress

3.157 Agent Checklist

Review:

Campaigns available through All Campaigns
Assigned Phone Numbers
Softphone status
Call History
Recent Call outcomes

Because the current Agent Dashboard fields are mismatched, confirm activity in the operational pages.

3.158 Administrator Checklist

Review:

Total Users
Campaign volume
Call volume
Phone inventory
Pending Number Requests
Error Logs
Cron Jobs
Credit Management

Do not rely on the main Dashboard’s Credits Sold or Credits Used Cards until their data fields are connected.

Global Search Checklist

3.159 Before Selecting a Result

Confirm:

Correct result category
Correct account owner
Correct Campaign Name
Correct Contact telephone number
Correct Call direction and status

3.160 Safe Search Use

Do not use Global Search to bypass:

Role restrictions
KYC restrictions
Resource ownership
Permissions

Notification Checklist

3.161 Reviewing Notifications

Confirm:

Unread Badge reviewed
Phone Number approvals reviewed
Phone Number rejections reviewed
Contact import results reviewed
Important results verified in the related module

3.162 Marking as Read

Marking a Notification as read means:

The in-app Notification was acknowledged

It does not mean:

The underlying operational issue was resolved

Credit Checklist

3.163 Before Production Calling

Confirm:

Current AIUNIFY Credit Balance
Expected Call volume
Expected SMS volume
Telephone-number rental charges
Pricing rate
External provider availability

3.164 After a Top-Up

Confirm:

Payment completed
Credit Balance updated
Account Statement contains the transaction
Correct currency
Correct amount
Correct Customer account

Chapter Completion

At the end of this chapter, the user should understand how to open and interpret the role-based Dashboard; how Customer, Agent, and Administrator statistics differ; how the greeting uses the browser’s local time while Dashboard periods use the server’s UTC Time Zone; and why Dashboard values remain a snapshot until the page is refreshed.

The user should understand the Customer Dashboard’s Campaign, Contact, Call, Team, Phone Number, Call Activity, Campaign Status, Call Trends, Recent Campaign, and Recent Call sections.

The user should also understand the current Campaign-status inconsistency:

Current Campaign model:
draft, scheduled, running, paused, completed, failed

Dashboard:
draft, active, paused, completed

A running Campaign may therefore be missing from the Dashboard’s Active count and status summary.

The user should recognize the current Agent Dashboard data-field mismatch and understand that its Available Work and Call Performance Cards may be blank or inaccurate. The Agent’s Recent Calls Card also uses the parent Customer’s Call scope rather than a confirmed Agent-only scope.

The Administrator should understand that system-wide User, Campaign, Contact, Call, and telephone-number statistics are calculated, but the Credits Sold and Credits Used Cards currently expect values not supplied by the Dashboard controller.

The user should understand how to open Global Search with the header or Ctrl/Command + K, enter at least two characters, navigate grouped results, and recognize that several Search destinations use outdated or missing routes. The user should also understand that Contact search currently contains an ownership-grouping defect and should not be relied on as a secure cross-account search boundary.

The user should know how to open the Notification dropdown, interpret the unread Badge, mark one or all Notifications as read, recognize Contact-import and Number Request events, and understand that the dropdown retrieves only the latest twenty records and does not poll continuously. The View all notifications link currently points to a page that is not registered.

Finally, the Customer should understand that the Header Credit Balance uses the system’s base currency, displays a yellow warning below ten units, and opens the Top Up page. It is an internal AIUNIFY account balance, not an external Twilio, SIP-carrier, or bank balance, and it may require a page refresh after new charges or payments.

Write Your Comment