Announcements
you did the right thing by creating a Global variable (Global.UserId) with "external sources can set values" and a “Set context variables” topic (which doesn’t need to be invoked). The missing link is: Copilot Studio will not auto-populate Global.UserId unless you explicitly push it into the bot’s conversation payload when the session starts.
Global.UserId
That’s why you’re only seeing System.Activity.ChannelData (technical session info like widget/session IDs, locale, channel, etc.) that data comes directly from Omnichannel/ACS, not from your custom injection.
What’s Happening Global variable is defined correctly External sources can set values But no value is ever assigned at runtime because Omnichannel chat widget (or ACS Web Chat) hasn’t been told to push UserId into the bot session. Result: Bot sees it as null/empty until agent handoff, because only at escalation does Omnichannel enrich the transcript with CRM session context.
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
Congratulations to our community stars!
Expanding mentorship, skilling, and AI innovation
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Muhammad Shahzad Sh... 54 Most Valuable Professional
11manish 21
AT-28040446-0 13