The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December. Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
Hi,
I'm doing an LTI 1.3 LtiDeepLinkingRequest from Canvas into my tool. When I was working with the canvas.docker environment, I could check the return_url for "context_module" querystring and determine that the launch was coming from a module instead of the rich editor or an assignment. Once I moved to a production environment, Canvas stopped sending that variable (just getting a "data" querystring instead).
I then tried using variable substitution with "$Canvas.module.id" and "$Canvas.moduleItem.id" but that's just coming as the same variable names, meaning they're blank, even when the LtiDeepLinkingRequest is coming from a Module.
The variable substitution documentation states:
====
Canvas.module.id
Returns the module_id that the module item was launched from.
Availability: when content tag is present
====
What is a "content tag"? I can't find that anywhere in the LTI 1.3 documentation or Canvas' own documentation. How do I make it so the "content tag" is present when launching an LtiDeepLinkingRequest from a Module, or what is the best way to determine when an LtiDeepLinkingRequest is coming from a Module vs an Assignment?
Thanks.
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in