SkyData¶
SkyData is a managed MySQL data service from Skybox Communications that gives your team direct SQL access to NICE CXone call center data for reporting, dashboards, and analytics.
Product Overview¶
SkyData continuously retrieves and consolidates call center data from NICE CXone into a query-ready MySQL database.
- Near real-time visibility: Data is refreshed every 10–15 minutes.
- Historical reporting: Data is continuously appended, making trend analysis easy.
- Analyst-friendly access: Connect with standard SQL and ODBC tools.
- Broad operational coverage: Agents, contacts, skills, campaigns, dispositions, teams, and state/activity rollups.
Typical Use Cases¶
- Contact center performance dashboards
- SLA and queue analysis
- Agent productivity reporting
- Operational trend and historical analysis
SkyData Service Highlights¶
- Hosted MySQL database access
- Hosted on AWS for reliable, scalable access
- Month-to-month subscription model
- No annual contract (cancel anytime)
- Includes core call center entities (agents, states, contacts, skills, and more)
Getting Started with Skybox¶
Before configuring ODBC, complete these onboarding steps:
- Create an API application in your CXone Business Unit with access to required APIs.
- Create a CXone user with Business Unit admin access.
- Contact Skybox Communications to provision your SkyData database.
- Configure your ODBC connection using the steps below.
Source: Skybox SkyData Product Page
Configuration / Installation¶
To connect to SkyData from your reporting tools, complete the following steps.
1) Install MySQL ODBC Driver¶
Download and install the standard MySQL ODBC connector:
2) Create an ODBC Connection¶
Use these connection settings:
- TCP/IP Server:
skydata.skyboxcommunications.com - Port:
3306 - User: Provided by Skybox Support
- Password: Provided by Skybox Support
3) Select Database¶
Only one database is available for your SkyData account—select that database.
4) Set Time Zone in Advanced Options¶
Open Details in the ODBC setup and set the Initial Statement value so returned date/time values match your reporting timezone.
Example:
Example ODBC configuration screens:
Data Model Summary¶
SkyData includes the following tables:
AgentAgent_State_LogAgent_State_Summary_By_HourAgent_Summary_By_DayAgent_TimeCardCampaignContact_Custom_DataContact_DetailDispositionPoint_Of_ContactSkillTeam
Table Definitions¶
1) Agent¶
- Purpose: List of users/agents in the business unit, including profile and reporting attributes.
- Source: REST
- Endpoint:
/Agents - Method:
GET
| Field | Type | Description |
|---|---|---|
| AgentID | int(11) | Unique inContact agent identifier |
| UserName | varchar(101) | Email-formatted login |
| FirstName | varchar(101) | Agent first name |
| MiddleName | varchar(101) | Agent middle name |
| LastName | varchar(101) | Agent last name |
| varchar(101) | Agent email | |
| IsActive | tinyint(1) | Active status |
| TeamID | int(11) | Team identifier |
| TeamName | varchar(101) | Team name |
| ReportToID | int(11) | User ID the agent reports to (optional) |
| ReportToFirstName | varchar(101) | Supervisor first name |
| ReportToMiddleName | varchar(101) | Supervisor middle name |
| ReportToLastName | varchar(101) | Supervisor last name |
| IsSupervisor | tinyint(1) | Supervisor flag |
| LastLogin | timestamp | Last login timestamp |
| LastModified | timestamp | Last modified timestamp |
| Location | varchar(101) | Custom location value |
| Custom1 | varchar(101) | Custom variable |
| Custom2 | varchar(101) | Custom variable |
| Custom3 | varchar(101) | Custom variable |
| Custom4 | varchar(101) | Custom variable |
| Custom5 | varchar(101) | Custom variable |
| InternalID | varchar(101) | No longer used |
| BusinessUnitId | int(11) | Business unit identifier |
2) Agent_State_Log¶
- Purpose: Agent state transitions during login sessions (availability, work state, durations).
- Source: Data Download Report
350083
| Field | Type | Description |
|---|---|---|
| Agent_Session_Id | bigint(20) | Unique ID of agent login session |
| Agent_No | int(11) | Unique agent ID |
| Agent_Name | varchar(101) | Agent display name |
| Team_No | int(11) | Team ID |
| Bus_No | bigint(20) | Business unit ID |
| StateIndex | int(11) | State identifier |
| Start_Date | timestamp | State start date/time |
| Working | int(11) | Work state (0-4) |
| Available | int(11) | Available flag (0/1) |
| Outstate_code | int(11) | Unavailable reason code ID |
| Outstate | varchar(45) | Unavailable reason text |
| Log_State | int(11) | Log state marker (0/1/2) |
| Skill_No | int(11) | Skill ID |
| Skill_Name | varchar(30) | Skill name |
| Duration | bigint(20) | Time in state (ms) |
| End_Date | timestamp | State end date/time |
3) Agent_State_Summary_By_Hour¶
- Purpose: Hourly rollup of agent state activity.
- Source: Custom rollup of
Agent_State_Log
| Field | Type | Description |
|---|---|---|
| Agent_Session_Id | bigint(20) | Unique agent login ID |
| Agent_State | varchar(50) | State name |
| State_Start | timestamp | Hour start |
| State_End | timestamp | Hour end |
| Agent_No | int(11) | Agent ID |
| Agent_Name | varchar(101) | Agent display name |
| Team_No | int(11) | Team ID |
| DurationInSeconds | decimal(32,0) | Total duration in seconds |
4) Agent_Summary_By_Day¶
- Purpose: Daily summary of inbound/outbound activity and time metrics.
- Source: Data Download Report
30
| Field | Type |
|---|---|
| Agent_No | int(11) |
| Agent_Name | varchar(101) |
| Date | date |
| Team_No | int(11) |
| Inbound_Contacts | int(11) |
| Outbound_Contacts | int(11) |
| ACD_Time | float |
| Ave_Acd | float |
| Outbound_Time | float |
| Ave_Outbound | float |
| Unavailable_Time | float |
| Available_Time | float |
| Total_Time | float |
| ReFused_Contacts | int(11) |
| Held_Party_Abandon | int(11) |
| InContact_Percent | float |
| ACD_Outbound_Avail_Percent | float |
5) Agent_TimeCard¶
- Purpose: Agent login/logout sessions by week.
- Source: Data Download Report
23
| Field | Type | Description |
|---|---|---|
| Sequence_No | bigint(20) | Unique session ID |
| Name | varchar(101) | Agent display name |
| Agent_No | int(11) | Agent ID |
| Team_No | int(11) | Team ID |
| Login_Date | timestamp | Login date/time |
| Logoff_Date | timestamp | Logout date/time |
| Duration | int(11) | Session duration in seconds |
| Wk | int(11) | Week number (1-52) |
6) Campaign¶
- Purpose: Campaign catalog.
- Source: REST
- Endpoint:
/Campaigns - Method:
GET
| Field | Type |
|---|---|
| CampaignID | int(11) |
| CampaignName | varchar(80) |
| Description | varchar(1026) |
| IsActive | int(11) |
| Notes | varchar(1026) |
| LastModified | timestamp |
| BusinessUnitId | int(11) |
7) Contact_Custom_Data¶
- Purpose: Custom key/value elements captured during contact processing.
- Source: Data Download Report
2
| Field | Type |
|---|---|
| Contact_id | bigint(20) |
| data_Name | varchar(45) |
| data_value | varchar(400) |
8) Contact_Detail¶
- Purpose: Comprehensive inbound/outbound contact detail dataset.
- Source: REST
- Endpoint:
/Contacts/Completed
This table contains 40+ elements related to contact timing, routing, queue, hold, disposition, skill, team, and identifiers.
Commonly used fields include:
Contact_IDMaster_Contact_IDStart_Date,Start_TimeAgent_Name,Agent_NoTeam_Name,Team_NoSkill_Name,Skill_NoCampaign_Name,Campaign_NoDisposition_Code,Disposition_Name,Disp_CommentsInqueue,Prequeue,Postqueue,Hold_Time,Routing_TimeAgent_Working_Time,ACW_Time,Callback_TimeTotal_Time_Plus_DispositionAbandon,Abandon_TimePoint_Of_Contact_Code,Point_Of_Contact_NameMedia_Name,SLA,Logged,Tags
9) Disposition¶
- Purpose: Dispositions defined for the business unit.
| Field | Type |
|---|---|
| dispositionId | int(11) |
| dispositionName | varchar(101) |
| displayOrder | varchar(101) |
| classification | varchar(101) |
| reportingGroup | varchar(101) |
| systemOutcome | varchar(101) |
| requireCommitmentAmount | tinyint(1) |
| requireRescheduleDate | tinyint(1) |
| agentSpecific | tinyint(1) |
10) Point_Of_Contact¶
- Purpose: Business unit points of contact and associated routing metadata.
| Field | Type |
|---|---|
| ContactCode | bigint(20) |
| ContactAddress | varchar(60) |
| ContactDescription | varchar(80) |
| IsActive | tinyint(1) |
| DefaultSkillId | int(11) |
| Notes | varchar(450) |
| ScriptName | varchar(60) |
| MediaTypeId | mediumtext |
| MediaTypeName | varchar(30) |
| IsOutbound | tinyint(1) |
| OutBoundSkill | tinyint(1) |
| BusinessUnitId | mediumtext |
11) Skill¶
- Purpose: Skill definitions and behavior settings.
| Field | Type |
|---|---|
| SkillID | int(11) |
| SkillName | varchar(30) |
| MediaTypeID | varchar(45) |
| MediaTypeName | varchar(45) |
| IsActive | int(11) |
| CampaignID | int(11) |
| CampaignName | varchar(80) |
| IsDialer | int(11) |
| Notes | varchar(1026) |
| OutBoundStrategy | varchar(45) |
| IsOutbound | int(11) |
| PriorityBlending | int(11) |
| EmailFromAddress | varchar(101) |
| UseACW | int(11) |
| BusinessUnitId | int(11) |
| RequireDisposition | int(11) |
| UseDisposition | int(11) |
| ScreenPopTriggerEvent | varchar(45) |
| UseSecondaryDispositions | int(11) |
| ScriptDisposition | varchar(45) |
| IsNaturalCallingRunning | int(11) |
| EmailFromEditable | int(11) |
| HoursOfOperationProfileId | int(11) |
12) Team¶
- Purpose: Team definitions in the business unit.
| Field | Type |
|---|---|
| TeamId | int(11) |
| TeamName | varchar(45) |
| isActive | int(11) |
| Notes | varchar(255) |
| lastUpdatetime | timestamp |
| agentCount | int(11) |
| description | varchar(45) |
| businessUnitId | int(11) |
Notes¶
- Refresh interval references in source materials mention both 10 minutes and 15 minutes; operationally, SkyData is near real-time in 10–15 minute intervals.

