I am attempting to manage our Quality Management evaluation forms using CX as Code and the genesyscloud_quality_forms_evaluation resource. The standard questions and scoring weights export perfectly using the CX as Code export tool. However, the exact reason we use this platform is for the automated speech analytics. Our forms have specific speech and text analytics topics mapped to the questions for automated scoring. When I run the Terraform export, every single topic mapping is completely missing from the generated HCL file. When I apply the file to our development environment, the forms are created but the automated scoring is entirely broken. Why does the official Terraform provider strip the speech analytics context from the evaluation forms?
Hello. It is so great to see other people using CX as Code for quality management! I encountered this exact issue when moving our voice quality forms between environments. The Terraform provider actually does not strip the topics maliciously! The issue is that the Speech and Text Analytics topics are considered completely separate resources in the Genesys Cloud architecture. The evaluation form resource only links to the Topic ID, not the Topic Name.
If the exact Topic ID from your production environment does not exist in your development environment, the Terraform provider silently drops the mapping to prevent a fatal deployment error! You need to export your topics first!
Five9 is absolutely correct! This is a fantastic learning experience for infrastructure as code! When I configure our SIP trunks and voice policies, I always have to ensure the dependency chain is perfect. You must utilize the genesyscloud_speechandtextanalytics_topic resource to export and deploy all of your keyword topics into the new environment before you deploy the evaluation forms. Once the topics exist in the development organization, you can use a Terraform data source block to look up the new Topic ID by its name, and then pass that dynamic ID into your evaluation form resource! It works beautifully once you set up the data sources!
Greetings to everyone on this thread. Ural separation. The topics are maintained as independent entities because multiple evaluation forms often reference the exact same conversational topic, such as a ‘Compliance Disclosure’ or a ‘Customer Escalation’.
If the evaluation form resource encompassed the topic definition, any updates to the acoustic models or keyword variations would require updating every single form individually. By forcing you to use the genesyscloud_speechandtextanalytics_topic resource first, the platform ensures your automated scoring remains modular and centrally managed across your entire organization.
I highly recommend maintaining your topics in a dedicated Terraform module separate from your forms.