Skip to content

Exporting Raw Call Data

Views
7
Last updated

HappyFox Contact Center provides two raw data exports the Call Report and the Call Leg Report. The Call Report gives you one row per call and covers outcomes, durations, and agent details. The Call Leg Report goes deeper, giving you one row per participant entry so you can see exactly who joined a call, in what capacity, and for how long. Use both together for complete call-level and participant-level analysis.

Permission required: Your agent role must have the View Contact Center Report permission enabled to access these exports.


How to export

  1. Go to Reports > Agent Performance.
  2. Apply the filters you need - Phone Line, Category, and Date Range - using the controls at the top of the page. These filters are applied to the exported data.
  3. Scroll to the bottom of the page.
  4. Select Download Call Report or Download Call Leg Report depending on which export you need.

The file downloads as a CSV.

Note: The filters you set on the report page - phone line, category, and date range are carried through to the export. You can export up to 30 days at a time.


Call Report

One row per call. Every call that passed through your contact center appears here - inbound, outbound, callbacks, voicemails, and missed calls.

Identity and contact

Column Description Example
call_id Unique identifier for the call. Use this to join rows to the Call Leg Report. CALL-10001
ticket_id ID of the ticket associated with this call. 5521
ticket_category_id ID of the ticket category. 23
ticket_category_name Name of the ticket category. Billing Support
contact_id ID of the contact record in HappyFox. 8801
contact_name Display name of the contact. Mark Boucher
contact_phone_number Phone number of the contact. +18005550100
contact_group_id ID of the contact group the contact belongs to. 12
contact_group_name Name of the contact group. Enterprise Clients

Phone line

Column Description Example
phone_line The contact center phone number the call came in on or went out from. +18005550100
phone_line_display_name The configured display name for that number. HappyFox Support

Call classification

Column Description Possible values
call_direction Whether the call was initiated by the contact or by an agent. Inbound, Outbound
routing_type How the call was routed once it entered the system. Category, IVR
routing_strategy The agent assignment method used. Ringall, LIAF
routing_category_id ID of the routing category or queue. 31
routing_category_name Name of the routing category or queue. Billing Support

Call outcome

Column Description Possible values
call_status The final outcome of the call. Completed, Abandoned, Missed, Discarded
call_sub_status The specific reason for the outcome. Populated when call_status is Abandoned or Missed. Abandoned in queue, Abandoned in IVR, Abandoned on hold, Abandoned in voicemail, Ring no answer, Queue wait timeout, Queue full blocked, Outside business hours
voicemail Whether the call resulted in a voicemail. TRUE, FALSE
callback Whether the contact requested a callback instead of waiting in queue. TRUE, FALSE
callback_parent_call_id The call_id of the original inbound call where the callback was requested. Populated only on callback calls. CALL-10000
forwarded Whether the call was forwarded to an external number. TRUE, FALSE
forwarded_to The external number the call was forwarded to. +1234567890
recorded Whether the call was recorded. TRUE, FALSE

Timestamps

All timestamps are in UTC in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).

Column Description
call_started_at When the call first entered the system. This is the primary timestamp used for date range filtering.
call_queue_entered_at When the call entered the queue.
call_first_offered_at When the first agent notification was sent.
call_answered_at When an agent answered. Empty for unanswered calls.
call_ended_at When the call ended.
callback_requested_at When the contact requested a callback. Populated on callback calls only.
callback_first_attempted_at When the first callback attempt was made.
callback_connected_at When the callback was answered by the contact.
callback_ended_at When the callback call ended.

Durations

All values are in seconds.

Column Description
call_duration End-to-end call time from when the call entered the system to when it ended.
wait_time Time the contact spent waiting in queue before connecting to an agent or leaving.
talk_time Active conversation time, excluding hold.
hold_time Total time the contact spent on hold.

Agent details

Column Description Example
accepted_agent_id ID of the agent who answered. 31
accepted_agent_name Name of the agent who answered. John
agents_offered_ids Comma-separated IDs of all agents offered the call. 88, 102
agents_offered_names Comma-separated names of all agents offered the call. John, Rahul
agents_declined_ids Comma-separated IDs of agents who actively declined. 88
agents_declined_names Comma-separated names of agents who declined. John
agents_not_answered_ids Comma-separated IDs of agents who did not answer before the call moved on. 102
agents_not_answered_names Comma-separated names of agents who did not answer. Rahul
agents_transferred_ids Comma-separated IDs of agents the call was transferred to. 88, 102
agents_transferred_names Comma-separated names of agents the call was transferred to. John, Rahul
conference_participant_ids Comma-separated IDs of all agents who participated in a conference on this call. 88, 102
conference_participant_names Comma-separated names of conference participants. John, Rahul

Recording

Column Description Example
pause_counts Number of times the recording was paused. 3
pause_duration_seconds Total duration the recording was paused, in seconds. 180

Call quality

Column Description Possible values
call_quality Technical quality rating for the call. Good, Bad, No data
call_quality_issues Comma-separated list of quality problems detected. Empty when call_quality is Good or No data. High jitter, Packet loss, High latency, Silence

Call Leg Report

One row per participant entry. Every agent offered the call and every supervisor action appears as a separate row. All rows belonging to the same call share the same call_id.

How legs work

A leg is created each time a participant joins a call or changes their mode on a call. The same call produces multiple legs when:

For example, if a supervisor listens to a call and then switches to Barge, two legs are created - one for the Listen period and one for the Barge period. All legs share the same call_id.

Call linkage

Column Description Example
call_id Identifier of the parent call. Join this to the Call Report on call_id to see the full call context alongside per-participant detail. CALL-10001
leg_id Unique identifier for this leg. LEG-1001

Participant identity

Column Description Example
participant_id ID of the agent or supervisor on this leg. AGT001
participant_name Display name of the agent or supervisor. John
participant_type Whether the participant is an agent or a supervisor. Agent, Supervisor

Leg classification

Column Description Possible values
mode Why this participant joined the call and in what capacity. Accepted Offer - agent answered an inbound or callback offer. Transfer In - agent received a transfer from another agent. Supervisor Listen - supervisor joined silently; the agent and contact cannot hear them. Supervisor Whisper - supervisor joined in coaching mode; the agent hears the supervisor but the contact does not. Supervisor Barge - supervisor joined as a full active participant; all parties can hear each other. Consult Participant - participant was invited to join as a conference or consult party.

Leg timestamps

All timestamps are in UTC in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).

Column Description
start_time When this leg began.
end_time When this leg ended.

Leg durations

Column Description Example
duration Total duration of this leg in seconds, from start_time to end_time. 34
wrapup_time Time in seconds the agent spent in after-call work after the call ended. Populated only on Agent legs where exit_reason is Call Ended or Transferred Out. 34

Leg outcome

Column Description Possible values
exit_reason How this leg ended. Left Conference - participant voluntarily dropped off. Call Ended - the call terminated while the participant was still active. Transferred Out - agent handed the call off. Dropped - participant disconnected unexpectedly.

Leg quality

Column Description Possible values
quality Quality rating for this specific leg. More precise than call-level quality because it identifies which participant had the connection issue. Good, Bad, No data
quality_issues Comma-separated list of quality problems detected on this leg. Empty when quality is Good or No data. High jitter, Packet loss, High latency, Silence

Notes