The Call Logs section is the central historical record of telephone activity in AIUNIFY Assistant.
While Campaign Details focuses on one Campaign, Call Logs provides an account-wide view of individual call attempts and conversations.
A Call Log can contain:
The underlying Call Log model supports both inbound and outbound calls and both Twilio and SIP providers. The supported stored statuses are initiated, queued, ringing, in-progress, completed, failed, busy, no-answer, and canceled.
A Call Log represents one telephone-call record.
Example:
If Danielle is called again, the second attempt can create another Call Log.
Therefore:
A Lead represents the person or organization being contacted.
A Call Log represents a telephone interaction involving that Lead.
Example:
This represents:
A Campaign groups Leads into an outbound calling operation.
Call Logs record the individual attempts produced by that Campaign.
The relationship is:
A Call Log can also exist without a Campaign.
The interface displays those records as:
Inbound calls can create Call Logs even though no outbound Campaign initiated the call.
An inbound Log can contain:
When no Campaign exists, the Call Logs page displays One-off Call in the Campaign/context area.
Outbound Call Logs can originate from Campaign calling or another supported outbound operation.
They commonly contain:
After signing in:
The page heading is:
The page describes itself as:
The backend returns the user's Logs newest first and populates the related Lead, Agent, outbound Phone Number, and Campaign information.
For a normal user, the Call Logs request is restricted by:
A normal user therefore sees the Call Logs belonging to that account.
A Super Administrator can retrieve a broader platform-level list.
When Call Logs first opens, AIUNIFY Assistant retrieves:
The table displays a loading indicator while waiting for the Log request.
When no Call Logs satisfy the current view, the page displays:
This can mean:
The top-right portion of Call Logs contains:
The current page does not provide a separate:
The inspected frontend applies Campaign, qualification, and direction filtering locally to the retrieved Logs.
The Call Logs table contains:
The Lead column displays the associated Lead Name.
Example:
When the Lead information is unavailable, the interface can display:
The telephone number appears beneath the Lead Name.
Example:
This information should be treated as customer data and protected accordingly.
Beside the Lead Name, the page displays:
or:
The badge provides a quick distinction between calls received by the organization and calls initiated by AIUNIFY Assistant.
When an older Call Log contains no Direction value, the current frontend treats it as outbound for display and outbound-filter purposes.
This provides compatibility with records created before Direction was consistently stored.
The Context / Agent column displays the associated Campaign Name.
Example:
When no Campaign is associated, it displays:
Below the Campaign context, the page displays the AI Agent.
Example:
This helps determine which Prompt, voice, Knowledge Base, and conversation behavior produced the interaction.
When the Agent has an outbound Phone Number, the number appears beneath the Agent Name.
Example:
This is useful when multiple caller IDs are used across Campaigns or Agents.
The Date is based on the Call Log's creation time.
The interface formats dates in a form such as:
The Call Time uses the account's selected time-display format.
Depending on Settings, time can be presented using the configured 12-hour or 24-hour format.
The table's date and time are based on:
They should not automatically be interpreted as:
The model separately supports Start Time and End Time even though those fields are not displayed as separate columns in the current Call Logs table.
Call duration is stored in:
Example:
The table converts duration into:
Example:
When duration is zero, the table displays:
This can occur for:
Stored status:
Displayed:
The provider call process has begun.
Stored:
Displayed:
The call exists but has not yet reached a ringing or active-conversation stage.
Stored:
Displayed:
The destination is being alerted.
Ringing does not mean the call has been answered.
Stored:
Displayed:
The call is active according to the calling system.
Stored:
Displayed:
This means the telephone call reached completed status.
It does not automatically mean:
Stored:
Displayed:
Review error information and provider configuration before retrying.
Stored:
Displayed:
The provider reported a busy condition.
Stored:
Displayed:
The call did not progress to an answered conversation.
Stored:
Displayed:
This can occur when:
The status mappings used by the Call Logs page correspond to the CallLog model's stored execution states.
When a Call Log contains one or more recorded errors, an alert icon appears beside the Status.
The browser tooltip on that indicator uses the first stored error message.
The Call Log model can associate errors with:
Each error can contain:
An ElevenLabs error can indicate problems with:
Check the ElevenLabs key and voice configuration.
A Deepgram error can indicate problems with:
OpenRouter errors can affect:
Twilio errors can relate to:
A System error can represent internal application or voice-processing problems that are not assigned to a specific external service.
The AI Score column summarizes the stored AI qualification analysis.
When analysis exists, the page displays:
Example:
The current display colors scores using these visual ranges:
These colors are presentation thresholds.
They are not the rule that determines whether the Lead is technically stored as Qualified.
The analysis stores both:
The AI is asked to provide both values.
The current analyzer does not define a fixed rule such as:
Therefore, the authoritative displayed qualification label comes from:
rather than being calculated from the score color.
When no AI analysis exists and Status is:
the table displays:
This is a frontend presentation rule.
It does not mean OpenRouter actually analyzed the conversation and assigned a zero score.
When a Call Log is:
but has no stored analysis, the AI Score column displays:
The conversation may be awaiting Automatic Call Analysis or manual analysis.
For calls without analysis that are still:
the AI Score column normally displays:
The top filter provides:
Qualified displays Logs where:
The current frontend considers a Log Unqualified for filtering when:
or when no analysis exists at all.
This creates an important interface distinction.
A completed call that displays:
can still appear when the user selects:
because no analysis exists yet.
The same can occur for active, unanalyzed Calls.
Do not assume every record returned by the Unqualified filter has been formally analyzed and rejected.
Review the AI Score column.
Distinguish:
from:
The Direction filter contains:
Selecting Inbound displays Logs explicitly marked:
Selecting Outbound displays Logs marked outbound.
It also includes older Logs whose Direction field is absent, because the frontend treats missing Direction as outbound.
The Campaign filter contains:
followed by the available Campaign Names.
Selecting a Campaign limits the table to Logs whose Campaign ID matches that Campaign.
This is useful for:
Logs with no Campaign association display:
They remain visible under All Campaigns but do not match a specific Campaign selection.
Qualification, Direction, and Campaign filters are applied simultaneously.
Example:
The result includes only Logs that satisfy all three conditions.
Assume there are 500 total Logs.
After selecting:
the page might show 42 Logs.
Selecting Export at that point exports those 42 filtered records rather than all 500.
Select:
to retrieve the current Call Log list again.
While the request is processing, the Refresh icon rotates.
A successful manual Refresh displays:
The inspected Call Logs page loads Logs when the page opens and when the user selects Refresh.
It does not show the repeating three-second polling behavior used by active Campaign Details.
Therefore, during live Campaign activity:
Select:
to create a CSV file from the currently filtered Call Log list.
When the current filters return zero Logs, the page displays:
The CSV includes:
When no Campaign exists, the exported Campaign value is:
The export uses:
and falls back to outbound when no stored direction is available.
When analysis exists:
Example:
When no analysis exists for:
the export assigns:
When analysis exists, QualificationStatus becomes:
or:
When a terminal unsuccessful Log lacks analysis, it exports:
Other unanalyzed records export:
The current export does not include:
The CSV is an operational summary rather than a full Call Log archive.
The current build automatically uses a filename in the form:
The name is generated when Export is selected.
A Call Log export can contain:
Store the CSV securely and follow the organization's retention and privacy policies.
When a Log contains a Recording URL, the Call Recording column displays an audio player.
When no recording is available, it displays:
A recording can depend on:
A completed call does not guarantee that a recording will exist.
For Twilio, AIUNIFY Assistant retrieves the audio through an authenticated backend recording route.
The backend:
This avoids requiring the frontend to directly expose Twilio credentials.
For SIP calls, AIUNIFY Assistant retrieves a local WAV recording from the Asterisk recording storage path.
The backend supports range requests so the browser audio player can seek through the file.
The frontend requests the recording through:
with the current authentication token.
The recording is therefore delivered through an authenticated application route rather than displayed as an unrestricted provider link.
The backend can return:
when:
For a SIP Log whose Recording URL exists but the actual WAV file is missing, the backend can return:
Possible causes include:
Twilio playback can fail with:
when the account no longer has the Account SID and Auth Token required to retrieve the provider recording.
The backend can return:
when the provider request or recording stream fails.
Settings contains:
described in the current interface as:
SIP call-processing source also supports storing SIP recording references when recording is enabled.
Before recording customer calls, the organization should confirm applicable requirements concerning:
AIUNIFY Assistant's technical ability to record a call does not itself establish lawful authority to do so.
The Action column contains:
Select it to open the detailed Call Log drawer.
The current Details button is disabled when:
or:
A Log can therefore exist in the table without being openable through Details.
A failed or no-answer call may have:
but no Transcript.
In that situation, the user may not be able to open the full Details drawer from the current interface.
The drawer is titled:
with the description:
It also displays the final eight characters of the Call Log record ID as a short reference badge.
The drawer contains:
The Summary tab opens first.
The Summary tab displays:
Unlike the main table's minutes-and-seconds format, the Details drawer displays Duration directly in seconds.
Example:
When one or more stored call errors exist, the Summary tab displays:
Each error is identified by service.
Possible labels include:
The corresponding error message is displayed beside the service badge.
Unlike the small table warning, which uses the first error for its tooltip, the Details panel displays all stored error entries.
This makes the Details drawer the better place to investigate calls with several voice or AI failures.
The Summary tab contains:
This section stores post-call AI analysis rather than the live Agent conversation.
When no AI analysis exists, the panel displays:
and explains that analysis uses OpenRouter to qualify the Lead and summarize the conversation.
When no analysis exists, the user can select:
During processing, the button changes to:
When analysis completes successfully, the page displays:
and updates both the selected Call Log and its table row.
A failed request can display:
or a more specific backend error message.
Settings provides:
with the description:
The option is stored as:
and defaults to off in the reviewed settings configuration.
When Automatic Call Analysis is enabled, completed calls can trigger the analyzer automatically.
The reviewed source includes automatic analysis after completed:
provided an appropriate transcript exists.
When Automatic Call Analysis is disabled or did not successfully produce analysis, a completed Log with a Transcript can be processed through:
AI analysis requires:
When no Transcript exists, the analyzer returns no analysis.
The user's Settings must contain an OpenRouter API key.
Without it, the analyzer cannot produce:
The analyzer uses the account's stored OpenRouter key for the post-call analysis request.
When a Call Log already has a Summary, the analyzer treats it as previously analyzed and returns the stored Summary and Analysis instead of generating another one.
The current interface also removes the Analyze Now button once analysis exists.
The analyzer generates:
This is a concise AI-generated explanation of the conversation.
Example:
The analyzer determines:
or:
based on its interpretation of the conversation.
This is stored as:
The AI also generates a numerical score:
Example:
This value is stored separately from the Qualified/Unqualified Boolean.
The analyzer attempts to identify budget information mentioned in the conversation.
The Details panel displays:
When budget information is unavailable, the analysis prompt instructs the model to return:
The analyzer attempts to identify the Lead's purchase or action timeline.
Examples:
The Details panel displays:
This is the AI-generated explanation for its qualification assessment.
Example:
The analyzer generates:
Examples might include:
These are AI recommendations, not automatically executed actions.
The underlying analysis record also contains:
representing the model's brief overall assessment of Lead quality.
The current Call Log Details UI does not visibly display this field even though it is stored in the model.
The current analyzer is explicitly instructed to analyze a:
and provide Lead qualification information.
Its analysis prompt requests:
Because the analyzer is written as a sales qualification tool, its fields may be less meaningful for calls such as:
For example, a support caller may have no meaningful:
Do not force sales interpretations onto non-sales call types.
The score and qualification are model outputs.
They should not be treated as guaranteed facts.
Review:
before making consequential decisions.
The current analyzer does not implement a deterministic scoring calculation such as:
Instead, OpenRouter is asked to interpret the full Transcript and return the score.
The current Call Log model and Call Logs page do not contain a dedicated:
field.
The current post-call intelligence is focused on Lead qualification, Summary, Budget, Timeline, Reasoning, Next Steps, and AI Opinion.
Do not document sentiment analysis as a current user-facing Call Logs feature unless it is added in a later system version.
When analysis identifies the Lead as Qualified, AIUNIFY Assistant can trigger the configured:
webhook event.
The webhook can include:
The webhook is triggered because the Lead was determined to be Qualified.
The external webhook recipient does not determine the score within this analysis operation.
Webhooks are covered more fully in the Integrations chapter.
Inside Call Log Details, select:
The page displays the recorded conversation messages in chronological order.
The Transcript can contain three roles:
The interface displays them as:
A Transcript item stored as:
is labeled:
Example:
A Transcript item stored as:
is displayed under the associated Lead Name.
Example:
When the Lead Name is unavailable, the interface can fall back to:
A Transcript item stored as:
is labeled:
System messages can contain operational conversation information rather than spoken dialogue.
The live voice engine can add internal System entries such as command results produced by Appointment functions.
These can appear in the Transcript as SYSTEM entries.
A System message should not automatically be interpreted as something the caller heard.
Each Transcript item can store a Timestamp.
However, the current Transcript user interface displays the speaker and message content without showing each line's timestamp.
The Call-level Date, Time, and Duration remain available in the Summary tab.
Speech transcription can be affected by:
Use the recording when exact wording matters.
During the standard Twilio speech flow, AIUNIFY Assistant can append pairs of:
to the Call Log Transcript as the conversation proceeds.
The streaming voice system records:
into its Transcript and saves the resulting conversation when the session ends.
The SIP streaming engine similarly stores:
and saves the Transcript as the call is finalized.
Possible causes include:
The current analyzer requires at least one Transcript entry.
A Call Log without a Transcript cannot receive meaningful automatic or manual qualification analysis through the standard analyzer.
A Recording contains:
It is useful for:
A Transcript contains:
It is useful for:
When a business decision depends on a call:
Do not rely exclusively on one representation when accuracy is important.
When a Twilio call reaches:
and Automatic Call Analysis is enabled:
The Twilio status callback also stores the final Duration and Recording URL when Twilio supplies them.
For SIP custom voice:
The call can be complete before its Summary and Qualification appear.
Analysis is a separate post-call operation.
When the table shows:
wait briefly and select Refresh.
Use Analyze Now when:
Use AI qualification to prioritize review rather than automatically treating it as final truth.
Recommended process:
A high score may indicate that the model identified strong buying or action signals.
Review:
before proceeding.
A medium score may indicate:
A low score can indicate:
A short or incomplete Transcript can also reduce the usefulness of the analysis.
Remember that the table can assign:
to unsuccessful calls without actual AI analysis.
Do not treat that zero as a model-generated evaluation of the Lead's business potential.
Select Refresh after:
A Call Log can initially show:
and later gain a recording after provider processing and callback completion.
Refresh before concluding that the recording permanently failed.
Similarly:
can later become:
after Automatic Analysis finishes.
For a failed Log:
One failure may indicate:
Do not immediately stop the entire Campaign unless the pattern repeats.
A repeated failure pattern can indicate:
Stop the Campaign when continuing could create unnecessary failed attempts.
A no-answer call did not establish the Lead's business interest.
Although the current table presents an unanalyzed no-answer call as:
that is a technical UI classification, not a conversation-based qualification result.
For an approved retry:
A busy result does not mean that the person refused the offer.
It means the provider reported a busy telephone condition.
Treat retry eligibility separately from qualification.
A canceled Call Log may result from:
Review the Campaign's stop history before assuming a Lead caused the cancellation.
For an inbound Log:
Automatic analysis can apply the current sales-oriented analyzer to an inbound call.
Use the result carefully when the inbound call was:
because the analysis model is specifically prompted as a sales Lead qualifier.
The current Call Logs page does not provide a text search for:
Use available filters or exported data when locating large historical sets.
There is no current top-level filter specifically for:
The current page does not provide controls such as:
Exports therefore use the full currently loaded history after Campaign, Qualification, and Direction filtering.
The underlying Call Log stores:
but the Call Logs page does not currently provide a Provider filter or Provider table column.
The inspected user interface does not provide:
This helps preserve historical calling records from ordinary user deletion through the Call Logs page.
Users cannot directly edit:
through the current Call Logs interface.
These values originate from the calling and analysis systems.
The current Export button does not export full Transcript content.
When a Transcript must be preserved for an authorized purpose, follow the organization's approved record-preservation process.
Never report:
unless unique Lead counts have been verified.
One Lead may have several attempts.
Never report:
Completed is a telephone execution status.
Qualification is a separate post-call analysis.
Never report:
Qualification indicates potential according to the AI analysis.
Conversion requires separate business confirmation.
Possible causes include:
Try:
Check:
Select Refresh after checking the filters.
A Call Log's Campaign association is stored when the call is created.
Confirm:
This means the Call Log has no populated Campaign relationship.
This can be normal for:
The Log has no usable Transcript.
Check whether the Call:
Check:
For Twilio, check:
For SIP, check:
Possible causes include:
Refresh first, then use Analyze Now when available.
Check:
Review:
The current score is model-generated and is not based on a fixed formula configured by the user.
This is a current frontend behavior.
The Unqualified filter includes Logs without stored analysis.
Review the AI Score column rather than assuming all filtered records were formally evaluated.
Compare the Transcript with the Recording.
Potential causes include:
This can be normal.
System entries can represent internal command results or operational messages produced during the AI conversation.
They are not necessarily spoken audio.
Call Logs can contain:
Treat the page as sensitive operational data.
Only authorized personnel should listen to customer recordings.
Do not:
Transcripts can contain information customers said during a call.
Do not assume the Transcript is safe to share merely because it is text rather than audio.
Budget, Timeline, Qualification, and AI Reasoning can constitute customer or prospect profiling information.
Limit access to users who require it for approved business purposes.
CSV exports should be stored in:
rather than unsecured personal folders or public cloud links.
Use Campaign Details for live monitoring.
Use Call Logs to investigate:
Select Refresh when updated information is needed.
For each Qualified Lead:
For an analyzed Unqualified Lead:
Do not confuse failed calls with analyzed Unqualified calls.
Use Call Logs to evaluate:
Do not evaluate an Agent from one conversation.
Review:
When repeated Transcript or Recording review shows an Agent problem:
Confirm:
Confirm:
Confirm:
Confirm:
Confirm:
Before Export:
After Export:
Before placing another call:
At the end of this chapter, the user should understand how AIUNIFY Assistant records individual inbound and outbound telephone interactions; how Call Logs relate to Leads, Campaigns, Agents, Phone Numbers, Twilio, and SIP; how to interpret Date, Time, Duration, Direction, Status, AI Score, Recording, and error information; how Campaign, Direction, and Qualification filters work; how filtered Call Logs are exported to CSV; how Twilio and SIP recordings are delivered through authenticated application routes; how to open Summary and Transcript views; how Automatic Call Analysis and Analyze Now use OpenRouter; and how Conversation Summary, Qualified status, Qualification Score, Budget, Timeline, Reasoning, Next Steps, and AI Opinion are produced.
The user should especially understand that technical call completion, AI qualification, and business conversion are three different measurements:
The user should also understand that the current interface can display failed, busy, no-answer, and canceled calls with 0% / Unqualified even when no AI analysis was performed, and that the Unqualified filter currently includes Logs with no stored analysis. AI qualification should therefore always be interpreted together with the Transcript, Recording, call status, and business context.
Finally, the user should understand that the current Call Logs intelligence is qualification-focused. The inspected system does not currently expose a dedicated sentiment score or Positive/Neutral/Negative sentiment field.