Ingest Contact Center Performance Data

This guide provides information on using metrics for Contact Center performance. Many Customers wish to ingest Contact Center performance data into their data warehouses to slice and dice information how they'd like. For example, this could be ideal if you'd like to report on SLA attainment differently than Gladly currently calculates.

Get Contact Center Performance Data

Ingest Work Sessions Report

Sample cadence:

URL: Generate Work Sessions Report Filters:

  • startAtTime: now() - 24 hours

  • endAtTime: now() Cadence: every 24 hours Available For: Forever Note: This data is one hour behind.

Why use this API

Of the APIs, Work Sessions provides the best level of granularity on a Contact-by-Contact basis. It tells you how long an Agent spent working on a particular Contact and whether multiple Agents worked on it.

You can use this to gather information like:

  • How many Contacts were initiated within a given time period?

  • How many Contacts ended within a given time period?

  • How many Contacts were associated with a Conversation?

  • How many OUTBOUND Contacts were started within a given time period?

  • How many Agents worked on a given Contact?

  • What was the average speed of the answer?

Relevant API Notes

  • A Conversation can have zero or more Contacts.

    • A Contact can have zero or more work sessions (i.e.: Agents working on the Contact).

  • A Contact ID or work session ID can appear in multiple runs.

    • Do an UPSERT when ingesting this data based on contact_session_id and id.

    • The id for the work session ID does not generate until a Contact ends.

  • A Contact can move between Work Session calls.

    • If a Contact started at 11:02 AM PT, has not ended at 1PM PT, and you make an API call at 1:05 PM PT to get Contacts from 11:00 AM PT to 12:00 PM PT, this Contact will be available in the pull.

    • If the Contact ends at 1:05 PM PT, and you make an API call at 5:00 PM PT to get data from 11:00 AM PT to 12:00 PM PT, the Contact will not be in that batch, because it ended at 1:05 PM PT.

    • Make sure to set up your ingestion so that the next time you run ingestion, the startAtTime in the API call is set to the time of last run.

  • The work session report will only show what Inbox the Contact first started.

    • The Contact could move elsewhere after.

    • If you are already ingesting Inbox assignments using the Conversation method, then you won't need to supplement with an additional GET Conversation call to get current Conversation assignment.

    • If not, you might wish to call the GET Conversation API to log where the Contact is at end time.

  • If data sync fails, files are available in perpetuity and are retrievable in the following run.

Ingest ContactExportReport

Sample cadence:

URL: Generate Report API Further Documentation: Contact Export Report Filters:

  • startAt: today

  • endAt: today Cadence: every 24 hours Available For: Forever Note: This data is one hour behind.

Why use this API

The ContactExportReport will allow you to see which Inboxes a Contact is currently in, along with a phone call's hold time (which is not retrievable via the Work Sessions API). Creation date anchors the Contact Export report, not end date.

Ingest AgentSummaryReport

Sample cadence:

URL: Generate Report API Further Documentation: Agent Summary Report Filters:

  • startAt: today

  • endAt: today Cadence: every 24 hours Available For: Forever Note: This data is one hour behind.

Why use this API

The Agent Summary Report allows you to review performance compiled at an Agent level. It anchors on when the Event occurred and can only be grouped at the half-hour level at the most granular.