Virtual Agent Topic Not Ending After Static Choice Selection in CSM Portal (Zurich 11M)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi Team,
I'm facing an issue with ServiceNow Virtual Agent (Zurich Patch 11M) in the CSM Portal.
Behavior observed:
- I have a Static Choice node with an option like "I'm Done".
- When the user selects the choice, the flow correctly traverses to the next node.
- Debug logs show that the choice value is sometimes coming as empty, null, or undefined.
- Despite the empty value, Virtual Agent still follows the correct path based on the selected option.
- However, the conversation does not end. The topic remains active and the interaction stays open.
Additional observations:
- The same configuration appears to work differently in the VA Test Panel.
- The issue is primarily occurring in the CSM Portal.
- Since the flow is able to transition to the next state, it seems the choice selection is being recognized internally, but the conversation termination is failing.
Question: Has anyone experienced a similar issue where Static Choice values are empty/undefined but the flow still navigates correctly, while the conversation fails to close? Are there any known fixes, workarounds, or Zurich 11M limitations related to ending a Virtual Agent topic from a Static Choice selection?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
Hi,
I've seen a similar pattern before where the Test Panel behaves fine but the portal keeps the conversation open. Couple of things to narrow it down:
1. Looking at your diagram, the "I am done" edge seems to route around the Decision node rather than into an explicit End node. If the branch loops back or just stops without a Topic End / End node, VA in the web client keeps the topic active even though the flow looks finished. Can you confirm what the last node on that path actually is?
2. How are you reading the static choice value - through the Decision node's built-in condition on the choice, or via a Script Decision using vaInputs.<node_name>? The empty / undefined you see in the debug logs is usually the choice being evaluated before the input is committed, which also explains why it still branches correctly.
3. Is this the OOB Customer Service Portal with the standard sn-va-web-client widget, or an embedded / custom widget? And was the topic built by hand or generated via the Zurich Setup Topic wizard?
If you can share those I'll rebuild the topic on a Zurich instance and post back a screenshot of a flow that closes properly.
