Is it possible to retrieve quality evaluation metadata in bulk export jobs? We are processing a legal discovery request that requires linking specific conversation recordings to their associated quality scores and evaluator comments. The standard recording API provides audio files and basic transcript data, but it does not include the detailed quality management attributes needed for our audit trail.
We attempted to use the /v2/analytics/conversations/details/query endpoint with the quality_evaluation attribute included in the filter. However, the response payload contains only the conversation ID and a reference to the evaluation ID, not the actual score or evaluator notes. Fetching each evaluation individually via the Quality Management API is not feasible given the volume of records, which exceeds 50,000 interactions.
Our current setup uses Genesys Cloud API version 2 with a Python SDK integration for the bulk export process. The environment is configured for UK data residency, and we have verified that the export job has the necessary permissions to access quality management data. The issue appears to be a limitation in the bulk export schema rather than a permissions error, as individual API calls return the full metadata correctly.
Has anyone found a workaround to include quality evaluation details in the bulk export payload? We need to maintain chain of custody for these records and require the metadata to be embedded directly in the exported JSON or CSV files for compliance purposes. Any guidance on API limitations or alternative export methods would be appreciated.
The way I solve this is by skipping the bulk export for qm data and using the quality evaluation api to fetch scores, then joining them in servicenow via the incident number.
Check your Quality Management (QM) configuration specifically for the “Exportable” flag on your evaluation forms. This is a frequent blind spot when setting up audit trails. The standard bulk export jobs for recordings do not automatically pull QM metadata because the data models are distinct. You need to ensure that the specific fields you require (scores, comments, evaluator IDs) are marked as available for export in the Quality Settings.
However, relying solely on the /v2/analytics/conversations/details/query endpoint often hits limitations with detailed text comments. For a legal discovery request requiring a robust audit trail, a hybrid API approach is usually more reliable than a single bulk export.
First, fetch the conversation IDs from your bulk export job. Then, use the Quality API to retrieve the detailed evaluations. Here is the recommended sequence:
Get Conversations: Use the bulk export to get the list of conversation IDs.
Fetch QM Details: Loop through those IDs using the Quality Evaluation API.
# Example logic for fetching QM details
for conv_id in conversation_list:
response = client.quality.get_evaluation(
conversation_id=conv_id,
evaluation_type="speech" # or "chat"
)
audit_record = {
"conversation_id": conv_id,
"quality_score": response.score,
"evaluator": response.evaluator.name,
"comments": response.comments
}
save_to_audit_db(audit_record)
Requirement
Endpoint
Limitation
Conversation List
Bulk Export
No QM metadata included
QM Scores/Comments
/v2/quality/evaluations
Rate-limited; requires loop
This method ensures you capture the full evaluator comments, which are often truncated in standard analytics queries. It’s a bit more manual, but for legal holds, accuracy trumps convenience. Make sure your API token has quality:view permissions to avoid 403 errors during the loop.