Architecting Quality Management Evaluation Data Migration from Calabrio to Genesys Cloud
What This Guide Covers
You are migrating your Quality Management (QM) operations from Calabrio ONE to Genesys Cloud Quality Management. A key requirement is preserving historical evaluation scores and reviewer feedback for compliance and agent performance trending. This guide outlines the architecture for exporting evaluation data from Calabrio, mapping it to the Genesys Cloud QM schema, and ingesting it as “External Evaluations.” This ensures that when a supervisor looks at an agent’s history in Genesys Cloud, they see a seamless timeline of performance including their past Calabrio scores.
Prerequisites, Roles & Licensing
- Genesys Cloud: CX 1, 2, or 3.
- Calabrio: Access to the Calabrio Data Management (CDM) exports or the Calabrio Export API.
- Licensing: Genesys Cloud CX 3 or the QM add-on for CX 1/2.
- Permissions:
Quality > Evaluation > AddQuality > Form > View
The Implementation Deep-Dive
1. The Migration Strategy
Genesys Cloud does not support “re-importing” third-party evaluation forms. Instead, you migrate the results of the evaluations as External Evaluations.
Data Flow:
- Extract: Fetch JSON/CSV evaluations from Calabrio.
- Transform: Map Calabrio question scores to a normalized 0-100 scale.
- Link: Associate the evaluation with a Genesys Cloud
conversationId. - Load: Push via the
POST /api/v2/quality/evaluationsendpoint.
2. Extracting Data from Calabrio
Calabrio data is typically exported via scheduled CDM tasks or the API.
Key Fields to Extract:
AgentID(Email or AD Login)EvaluatorIDEvaluationDateTotalScoreSectionScores(e.g., Compliance, Soft Skills)CommentsRecordingID(to link back to the call)
3. Normalizing the Evaluation Schema
Genesys Cloud evaluations require a formId. You must create a “Legacy Migration Form” in Genesys Cloud that acts as a container for these historical scores.
Mapping:
- Calabrio “Soft Skills” Score → Genesys Form Question 1
- Calabrio “Compliance” Score → Genesys Form Question 2
4. Linking to Interactions
The most difficult part of QM migration is linking the Calabrio evaluation to the correct interaction in Genesys Cloud.
- If the recording was migrated: Use the
conversationIdgenerated during the recording migration. - If the recording was NOT migrated: You can still create the evaluation record in Genesys Cloud by providing a dummy
conversationIdor using the External Evaluation API which allows for decoupled performance records.
5. Programmatic Ingestion (Python)
import requests
def ingest_legacy_evaluation(token, agent_id, score, comments):
headers = {"Authorization": f"Bearer {token}", "Content-Type": "application/json"}
payload = {
"conversationId": "migrated-conv-uuid",
"evaluationFormId": "legacy-form-uuid",
"agentId": agent_id,
"status": "PUBLISHED",
"answers": {
"questionGroupScores": [
{
"questionGroupId": "group-1",
"totalScore": score,
"comments": comments
}
]
}
}
resp = requests.post("https://api.mypurecloud.com/api/v2/quality/evaluations", headers=headers, json=payload)
return resp.json()
Validation, Edge Cases & Troubleshooting
Edge Case 1: Scoring Scale Discrepancy
Calabrio uses a 1-5 scale, but Genesys Cloud uses 0-100 percentages.
Solution: Normalize all scores to percentages during the Transform phase ($Score_{GC} = \frac{Score_{Calabrio}}{5} \times 100$).
Edge Case 2: Inactive Users
Calabrio contains evaluations for agents who have already left the company and do not have a Genesys Cloud account.
Solution: You cannot ingest evaluations for users who do not exist in Genesys Cloud. Create “Archive Only” user accounts or aggregate these scores into a “Legacy Team” user for long-term reporting.
Edge Case 3: Missing Metadata
Some Calabrio records might be missing the Evaluator’s name or the date.
Solution: Implement a “System Default” evaluator (e.g., migration_admin@company.com) and use the CreatedDate from Calabrio as the default evaluation date if the explicit EvaluationDate is missing.