Genesys Connector Missing Evaluation Answer Values
AnsweredWhich connector?: Genesys
Additional details:
When looking at specific records in the table EVALUATION, in the ANSWER_QUESTION_GROUP_SCORES column, I saw that there were entries which:
1. Had a questionGroupId
2. Corresponding questionScores array was populated
3. Within the array, entries had questionId values, but
answerId was an empty string.
Using the following query, I see all question/answer combinations with populated answers when TYPE = multipleChoiceQuestion, however, the join shows only null values from EVALUATION_FORM_QUESTION_GROUP_QUESTION_ANSWER_OPTION when TYPE = multipleSelectQuestion.
select *
from evaluation_form_question_group_question q
left join evaluation_form_question_group_question_answer_option a
on q.evaluation_form_id = a.evaluation_form_id
and q.evaluation_form_question_group_index = a.evaluation_form_question_group_index
and q.index = a.evaluation_form_question_group_question_index;
I suspect that this may be due to the way that the Genesys API returns information about evaluation forms. For example, in the API /api/v2/quality/publishedforms/evaluations/{formId}, the response body has two sections for answer options,
questionGroups:questions:answerOptions and questionGroups:questions:multipleSelectOptionQuestions:answerOptions.
The former is only used for multiple choice questions, the latter would be used for multiple select questions.
See documentation here: https://developer.genesys.cloud/useragentman/quality/#get-api-v2-quality-publishedforms-evaluations--formId-
Under the API responses, 200 Successful Operation.
In other words, as far as I can tell, the connector currently only supports multipleChoiceQuestion type questions in Genesys. In order to properly support Genesys evaluation forms, it will also need to be able to support multipleSelectQuestion type questions.
-
Official comment
Hi Johnathan,
Thank you for the detailed analysis and for sharing the query and API reference.
We will review how the Genesys connector handles
multipleSelectQuestionquestions, including their answer options and scores, to assess whether the nested data is being captured correctly. We will get back to you once our review is complete.Could you share a bit more about how you use this data downstream? That will help us scope the fix correctly. We will keep you updated on this thread as we make progress.
Best,
Syead Mujtaba Imam Rizwi -
Additional technical evidence supporting this request
We independently investigated this same issue and can confirm and extend the original reporter's findings with concrete data:
1. The gap is quantified: In our environment, 26% of answer rows (48 out of 185 in
EVALUATION_ANSWER_QUESTION_GROUP_QUESTION_SCORE) reference sub-option question IDs and answer IDs that do not exist in any relational table. These are themultipleSelectOptionQuestionschildren.2. The problem spans three tables, not just answer options: The connector correctly inserts the parent
multipleSelectQuestionintoEVALUATION_FORM_QUESTION_GROUP_QUESTION, but the child sub-options (nested undermultipleSelectOptionQuestionsin the API response) are missing from both:-
EVALUATION_FORM_QUESTION_GROUP_QUESTION— the sub-option question IDs, text labels, and types are not inserted -
EVALUATION_FORM_QUESTION_GROUP_QUESTION_ANSWER_OPTION— the Selected/Unselected answer options for each sub-option are not inserted
Meanwhile,
EVALUATION_ANSWER_QUESTION_GROUP_QUESTION_SCOREdoes contain individual answer rows for each sub-option (withQUESTION_IDandANSWER_IDpopulated), making these orphaned foreign keys that cannot be resolved through the relational model.3. The parent question's
ANSWER_IDis always empty: FormultipleSelectQuestionrows in the answer scores table, theANSWER_IDis consistently an empty string, which aligns with the original reporter's observation. The actual Selected/Unselected state is only recorded on the child sub-option rows — which are themselves unresolvable.4. Published version vs. master form matters: Each published version of a form generates new unique IDs for all questions and answer options. Even if a workaround involves loading form JSON manually, it must come from the published form endpoint (
GET /api/v2/quality/publishedforms/evaluations/{id}), not the master form endpoint, because the IDs differ between versions.Suggested implementation: The connector should flatten the
multipleSelectOptionQuestionsarray intoEVALUATION_FORM_QUESTION_GROUP_QUESTION(as child rows with a reference to the parent question) and theiranswerOptionsintoEVALUATION_FORM_QUESTION_GROUP_QUESTION_ANSWER_OPTION, similar to how it already handlesmultipleChoiceQuestiontypes. This would make the existing answer score rows resolvable without any external API calls. -
Please sign in to leave a comment.
Comments
2 comments