Architecting Quality Management Evaluation Data Migration from Calabrio to Genesys Cloud

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 > Add
    • Quality > 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:

  1. Extract: Fetch JSON/CSV evaluations from Calabrio.
  2. Transform: Map Calabrio question scores to a normalized 0-100 scale.
  3. Link: Associate the evaluation with a Genesys Cloud conversationId.
  4. Load: Push via the POST /api/v2/quality/evaluations endpoint.

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)
  • EvaluatorID
  • EvaluationDate
  • TotalScore
  • SectionScores (e.g., Compliance, Soft Skills)
  • Comments
  • RecordingID (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” ScoreGenesys Form Question 1
  • Calabrio “Compliance” ScoreGenesys 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 conversationId generated during the recording migration.
  • If the recording was NOT migrated: You can still create the evaluation record in Genesys Cloud by providing a dummy conversationId or 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.

Official References