Genesys Adapter Evaluation Table Relationships

Genesys Adapter Evaluation Table Relationships

This article explains how the Genesys Adapter stores Genesys Cloud quality evaluation data and how the evaluation tables relate to the wider reporting model.

The evaluation data model has four core physical tables:

  • evalData: one row per evaluation instance.
  • evalQuestionGroupData: one row per scored question group within a finished evaluation.
  • evalQuestionData: one row per scored question answer within a finished evaluation.
  • evalDetails: evaluation form lookup data, including form name, question groups, questions, answer options, and answer values.

The schema does not declare database-level foreign key constraints for these joins. Any FK markers in the diagrams below mean "logical reporting join key", based on shared Genesys Cloud identifiers.

Entity Relationship Diagram


Table Grain

TableGrainUse it for
evalDataOne row per evaluation instanceEvaluation status, assigned/release dates, evaluated agent, evaluator, scores, calibration summary, and source conversation.
evalQuestionGroupDataOne row per question group score for a finished evaluationGroup-level score totals, max scores, critical/non-critical splits, NA flag, kill-question flag, and comments.
evalQuestionDataOne row per scored question answer for a finished evaluationQuestion-level score, selected answer ID, NA flag, failed kill-question flag, and comments.
evalDetailsOne row per form question answer optionForm name, question group names, question text, question type, answer text, answer value, and question metadata.
userdetails / vwUserDetailOne row per Genesys Cloud userAgent, evaluator, manager, department, and division lookup context.
convsummarydata / vwConvSummaryDataOne row per conversation summaryConversation date/time, media type, queue, direction, division, wrap-up, and handle metrics.

Join Rules

Use these joins when building customer reports directly from the physical tables.

FromToJoin conditionNotes
evalDataevalQuestionGroupDataevalData.evaluationid = evalQuestionGroupData.evaluationidParent evaluation to scored group rows. Child rows are expected for finished evaluations.
evalDataevalQuestionDataevalData.evaluationid = evalQuestionData.evaluationidParent evaluation to scored question rows. Child rows are expected for finished evaluations.
evalQuestionGroupDataevalQuestionDataevaluationid, evaluationformid, and questiongroupidKeeps questions tied to the correct group inside the same evaluation form.
evalQuestionDataevalDetailsevaluationformid, questiongroupid, questionid, and answerid = questionanwseridAdds form name, group name, question text, answer text, and configured answer value. The column name questionanwserid is intentionally misspelled in the schema.
evalDatauserdetails or vwUserDetailevalData.userid = userdetails.idAdds evaluated agent details.
evalDatauserdetails or vwUserDetailevalData.evaluatorid = userdetails.idAdds evaluator details.
evalDataconvsummarydata or vwConvSummaryDataevalData.conversationid = convsummarydata.conversationidAdds conversation date, media type, queue, direction, and related interaction context.

Important Naming Note

In evalData, evaluationid is the actual Genesys Cloud evaluation instance ID.

In evalDetails, evaluationid is a historical column name and is documented in the schema as containing the evaluation form ID. It is not the same business key as evalData.evaluationid. For form/question lookups, prefer the explicit evaluationformid column and the question/group/answer identifiers.

Reporting View Model

The adapter also provides views that pre-join common lookup data for reporting.


ViewPurpose
vwEvalDataEvaluation header rows enriched with agent, manager, and evaluation form name.
vwEvalDetailsDirect view over evalDetails, including the corrected questiontype column and the deprecated quesiontype alias.
vwEvalQuestionGroupDataThin view over evalQuestionGroupData with a form/group fact key.
vwEvaluationGroupDataGroup-level scored evaluation data enriched with question group name, division ID, and conversation ID.
vwEvalquestiondataQuestion-level scored evaluation data enriched with form, group, question, answer, and division details.
vwEvaluationQuestionDataCurrent question-level reporting view. Some deployments also expose mvwevaluationquestiondata as a compatibility alias.
vwEvaluationOverviewFinished evaluation overview data enriched with agent, evaluator, manager, conversation, queue, and media context. Some deployments also expose mvwevaluationoverview as a compatibility alias.

For most customer reporting, start with vwEvaluationOverview, vwEvaluationGroupData, and vwEvaluationQuestionData. Use the physical tables when you need exact join control or need to troubleshoot missing lookup context.

Data Flow


The scheduled evaluation job is recurring. Evaluations that are not yet finished may appear first in evalData without group or question rows, then receive child rows after Genesys Cloud marks the evaluation as finished and a later adapter run retrieves the answers.

Common Query Patterns

Evaluation Overview

Use this when the customer needs one row per completed evaluation with agent, evaluator, and conversation context.

SELECT
evaluationid,
conversationid,
userid,
"Agent Name",
evaluatorid,
"Evaluator Name",
status,
totalscore,
totalcriticalscore,
totalnoncriticalscore,
releasedate,
queuename,
mediatype
FROM vwEvaluationOverview
WHERE releasedate >= '2024-01-01';

Question-Level Results

Use this when the customer needs the questions, selected answer text, answer value, and actual score.

SELECT
ed.conversationid,
ed.evaluationid,
ed.userid AS agentid,
eqd.evaluationname,
eqd.questiongroupname,
eqd.questiontext,
eqd.questionanswertext,
eqd.questionanswervalue,
eqd.score,
eqd.markedna,
eqd.failedkillquestions,
eqd.comments
FROM evalData ed
JOIN evalQuestionData eq
ON eq.evaluationid = ed.evaluationid
LEFT JOIN evalDetails eqd
ON eqd.evaluationformid = eq.evaluationformid
AND eqd.questiongroupid = eq.questiongroupid
AND eqd.questionid = eq.questionid
AND eqd.questionanwserid = eq.answerid
WHERE ed.status = 'FINISHED';

Group-Level Results

Use this when the customer needs one row per question group score.

SELECT
ed.conversationid,
ed.evaluationid,
eg.questiongroupid,
det.questiongroupname,
eg.totalscore,
eg.maxtotalscore,
eg.totalcriticalscore,
eg.totalnoncriticalscore,
eg.markedna,
eg.failedkillquestions
FROM evalData ed
JOIN evalQuestionGroupData eg
ON eg.evaluationid = ed.evaluationid
LEFT JOIN (
SELECT DISTINCT
evaluationformid,
questiongroupid,
questiongroupname
FROM evalDetails
) det
ON det.evaluationformid = eg.evaluationformid
AND det.questiongroupid = eg.questiongroupid
WHERE ed.status = 'FINISHED';

Customer Guidance

  • evalData answers "which evaluation was performed, for which agent, by which evaluator, against which conversation, and what was the total score?"
  • evalQuestionGroupData answers "how did each section or group of the form score?"
  • evalQuestionData answers "how was each question answered and scored?"
  • evalDetails answers "what did the form, group, question, and answer option mean at the time the form metadata was loaded?"
  • If an evaluation exists in evalData but has no child rows, check status. Non-finished evaluations are normally header-only until a later sync.
  • For customer dashboards, prefer the vwEvaluation* views unless the customer needs a custom grain or a troubleshooting query.