Performance Management Results Analysis Report

📘

Shared Explore API pattern

This report is exposed through the same shared Explore API report-job pattern used by other report types (WFM, QM, CSAT, etc.). It is not a dedicated new endpoint.

Overview

The Performance Management (PM) Results Analysis report is available through the existing Explore API report-job workflow. This lets customers extract PM results data into their own data warehouse or BI tooling instead of manually exporting the report from the product UI.

This report belongs to Talkdesk Performance Management and is exposed through the same shared Explore API pattern used by other report types.

Use this report when you need recurring, programmatic access to agent measure results for analytics, dashboards, or downstream performance review workflows.

Typical use cases include:

  • Syncing agent performance measure results into an external data warehouse on a schedule.
  • Building custom dashboards that combine PM data with operational or business data.
  • Automating performance review inputs without manually downloading report files.

Business Problem-Solving Context

What can I achieve with this API?

  • Pull agent-level measure results — Request the Results Analysis report for a given period using the report-job API.
  • Track report generation status — Poll the job by ID until processing finishes, then download the generated file.

What business problems does this API solve?

  • Manual export elimination — Removes the need to log in, run the report, and manually send exported files to a data team.
  • Data warehouse integration — Supports scheduled ingestion of PM data alongside other Explore exports.
  • Consistency with existing tooling — Reuses the same Explore job pattern customers may already use for WFM, QM, CSAT, and other report types.

What does this API support, and what are its limitations?

  • A maximum of 15 simultaneous report jobs per account is allowed across all report types.
  • Supported output formats are csv, json, and json_bulk.
  • Time filtering is defined with timespan.from and timespan.to using ISO 8601 date-time values.
  • This report uses the shared Explore API job model rather than a custom PM-specific execution flow.
  • The simultaneous job quota is shared at the account level across Explore report types, not reserved specifically for pm_result_analysis.

Use Case: Pulling the Results Analysis Report into a Data Warehouse

A workforce analytics team wants to track agent measure results outside of Talkdesk:

  1. Create a report job with POST /data/reports/pm_result_analysis/jobs, providing a timespan and optional output format such as csv.
  2. Poll the job status using GET /data/reports/pm_result_analysis/jobs/{id} until the report reaches a final state.
  3. When the job is complete, call GET /data/reports/pm_result_analysis/files/{id} to retrieve the generated file through a redirect to a pre-signed download URL.

Usage

The pm_result_analysis report is retrieved through the shared Explore API job endpoints:

  • POST /data/reports/pm_result_analysis/jobs — Creates a new report job
  • GET /data/reports/pm_result_analysis/jobs/{id} — Retrieves job execution status
  • GET /data/reports/pm_result_analysis/files/{id} — Retrieves the generated report file

Create a Report Job

POST /data/reports/pm_result_analysis/jobs

POST https://api.talkdeskapp.com/data/reports/pm_result_analysis/jobs
Content-Type: application/json

Creates a new report job for the authenticated account.

Request Body

ParameterTypeRequiredDefaultDescription
namestringNoNoneLabel for the report job. Does not affect report contents.
formatstringNocsvOutput format: csv, json, or json_bulk.
timezonestringNoNoneIANA timezone applied to the provided timespan.
timespan.fromstring (date-time)NoNoneStart of the reporting period.
timespan.tostring (date-time)NoNoneEnd of the reporting period.

Response: 202 Accepted

{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "status": "created"
}

Error Responses

HTTP StatusDescription
400Bad Request — invalid input, invalid timespan, or invalid timezone
401Unauthorized
403Inputs Misconfiguration, such as a missing required scope
429Too Many Requests — the account-level simultaneous job quota has been reached
503Unable to audit operation

Retrieve Job Status

GET /data/reports/pm_result_analysis/jobs/{id}

GET https://api.talkdeskapp.com/data/reports/pm_result_analysis/jobs/{id}

Retrieves the current execution state of a report job.

Path Parameters

ParameterTypeRequiredDescription
idstring (UUID)YesThe unique identifier of the report job returned by the create-job request.

Response

Returns 200 OK while the job is in progress, or may return a redirect when the report is already available.

Job Status Lifecycle

StatusDescription
createdThe job was accepted and created.
processingThe report is being generated.
uploadingThe generated file is being prepared for retrieval.
doneThe report is complete and available for download.
failedThe report job ended unsuccessfully.
canceledThe report job was canceled.
deletedThe report job was deleted.

Error Responses

400, 401, 403, 404 (job not found), 503


Retrieve the Report File

GET /data/reports/pm_result_analysis/files/{id}

GET https://api.talkdeskapp.com/data/reports/pm_result_analysis/files/{id}

Retrieves the generated report file for a completed job.

Path Parameters

ParameterTypeRequiredDescription
idstring (UUID)YesThe identifier of the completed report job whose output file should be downloaded.

Response: 302 Found

The response redirects to a pre-signed download URL in the Location header.

Error Responses

400, 401, 403, 404 (file not found), 503


Report Field Schema

🚧

Synthetic example data only

The example values below are synthetic placeholders. Real captured output may contain personally identifiable information and should not be copied into public documentation.

The CSV column headers use the report's display labels in Title Case rather than raw internal field IDs.

Agent,Agent ID,Agent Email,Agent Name,Measure Name,Team ID,Team Name,Queue Type,Queue Name,Volume,Result Value,Goal Value,Mean Value,Interval Type,LeaderBoard Date
AGENT-PLACEHOLDER-001 ([email protected]) [AGENT-ID-PLACEHOLDER-001],AGENT-ID-PLACEHOLDER-001,[email protected],AGENT-NAME-PLACEHOLDER-001,SCHEDULE ADHERENCE,TEAM-ID-PLACEHOLDER-001,Example Team,All,,63000,17.14,31.25,15.21,Monthly,2026-02-01
Column HeaderDescription
AgentComposite display value in the format Name (Email) [Agent ID].
Agent IDUnique identifier of the agent.
Agent EmailEmail address of the agent.
Agent NameDisplay name of the agent.
Measure NameName of the performance measure used to calculate the result, such as SCHEDULE ADHERENCE or AVERAGE HANDLE TIME.
Team IDUnique identifier of the team associated with the row when team-scoped.
Team NameName of the team associated with the row when team-scoped.
Queue TypeIndicates whether the result applies to All queues or a Specific queue.
Queue NameName of the queue when Queue Type is Specific.
VolumeNumber of interactions or events used to calculate the result.
Result ValueThe agent's measured result for the period.
Goal ValueThe target value defined for the measure during the period.
Mean ValueThe average result across agents for the measure during the period.
Interval TypeAggregation interval of the record, such as Daily, Weekly, or Monthly.
LeaderBoard DateReference date of the entry in YYYY-MM-DD format.

Authentication & Authorization

This API requires OAuth 2.0 authentication using a Bearer token with the client credentials grant.

ScopeRequired for
data-reports:writePOST requests that create report jobs
data-reports:readGET requests that retrieve job status or files

Subscription Limits

  • Maximum of 15 simultaneous report jobs per account, shared across all Explore report types.
  • Rate limit of 25 requests per second per account on the /data/reports/** route.
  • Pre-signed download URLs remain valid until expiration, according to the shared Explore file delivery behavior.

Did this page help you?