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 2026 Super Stars!
Thanks to all of our 2025 Community Spotlight stars!
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Suriyanarayanan V 22
Tom_Gioielli 18 Super User 2026 Season 1
Encore Business Sol... 14