No idea why this is happening, our Lexbot flow is routing to the default fallback instead of matching high-confidence intents. We migrated from Zendesk Answer Bot, where simple keyword matching worked fine, but Genesys Cloud’s NLP seems stricter. The /api/v2/analytics/conversations/details/query endpoint shows nlu_intent_confidence at 0.45, yet our threshold is set to 0.8 in the Architect flow. Is there a specific NLU model version mismatch or a training data format issue we are missing?
To fix this easily, this is to check the NLP model version in the bot configuration. Genesys Cloud uses a different intent matching algorithm than Zendesk. Try lowering the threshold to 0.6 temporarily. Also, verify the language code matches the training data. The confidence scores drop if the input text has unexpected punctuation or casing. Check the NLU logs for detailed tokenization errors.
The
/api/v2/analytics/conversations/details/queryendpoint showsnlu_intent_confidenceat0.45, yet our threshold is set to0.8in theArchitectflow.
You need to check if the NLU model is actually trained on the new Zendesk data, as confidence scores plummet when the training set doesn’t match the input distribution. Consider using a Data Action to log the raw NLU payload to ServiceNow for deeper inspection of the tokenization mismatch.
How I usually solve this is by adjusting the threshold to 0.6 temporarily. This allows the system to capture more interactions while the model trains on the new Zendesk data distribution.
Monitoring the Performance dashboard is crucial here. You will see deflection rates improve as the NLU confidence stabilizes, ensuring accurate business metrics without manual intervention.
It’s worth reviewing at the training data distribution rather than just tweaking the threshold, because the confidence score of 0.45 suggests the model simply isn’t recognizing the intent patterns from the migrated Zendesk data. When we moved our historical tickets into the Genesys NLP training set, we noticed that the original keyword-heavy phrases didn’t map well to the new semantic embeddings without explicit retraining. The solution is to export the failed intent logs using the /api/v2/analytics/conversations/details/query endpoint, filter by nlu_intent_confidence < 0.6, and then bulk import those transcripts as negative examples or new utterances in the NLP training interface. This forces the model to learn the specific phrasing variations your agents are seeing. Also, ensure that the language code in the Architect flow matches the training corpus exactly; even a minor mismatch like en-US versus en can cause significant confidence drops. Once you update the training data, schedule a model retraining job and monitor the adherence metrics during the next shift swap window to see if the deflection rates improve. It’s a bit of extra work upfront, but it prevents the bot from falling back to human agents unnecessarily, which keeps the schedule adherence stable and reduces the load on the workforce management team. Don’t forget to validate the new model version in the bot configuration before publishing to production, as the old model will still be active until the new one is explicitly selected.