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 all,
I've been trying to set up a basic LTI 1.3 integration, and it's mostly working correctly. I have set up a course and attached a resource from my integration using a deep link response containing the following deep-link item:
{
"https://purl.imsglobal.org/spec/lti-dl/claim/content_items": [
{
"type": "ltiResourceLink",
"title": "Deep Link to: Resource2",
"url": "https://my.example.tool/launch",
"custom": {
"name": "Resource2",
"value": "value2"
}
}
]
}
Canvas successfully registers the link. Subsequent launches correctly pick up the URL and the custom parameters as specified above. All is well.
However, when I then copy this course (by any method), the link isn't copying over correctly: launches happen to the correct URL, but the custom properties are never available in the payload - thus I can never actually resolve my deep link. My expectation was that the custom parameters would be copied over to the new course.
Are my expectations incorrect? Or is this a known bug with Canvas' LTI 1.3 deep links and course-copy?
(I am aware that, until recently, Canvas did not completely support the custom parameters, and they needed to be added as query-parameters on the `url` in the `ltiResourceLink` item. I'd prefer not to use that approach as it doesn't work in other LTI platforms. However, I can appreciate that it may work more reliably for the interim.)
Update: I also tried creating a Page and used the RCE editor_button placements to embed the same Deep Links. In this case, the Deep Links do copy correctly, and bring their custom parameters with them. It seems to be particular to the link_selection placement.
Thanks in advance,
David
Solved! Go to Solution.
I've been in touch with Instructure support, and they informed me that the custom-parameter under copy issue should have been fixed recently. I've re-tested this morning, and can confirm it has been. That's resolved my original issue - thanks Instructure!
Hi David,
I'm trying to use the "copy to" feature to copy a page into another course. The page has links to assignments and quizzes. However, when I do the "copy to", it doesn't bring over the assignments or quizzes that were linked in the page. It's a bit frustrating since I wouldn't bring the page into another course if those links (and related items) weren't important to have.
I apologize if this is not related to what you're doing ... but it seemed somewhat similar.
I agree that the expectation is that these assessments and quizzes should be brought across to the new module.
> I apologize if this is not related to what you're doing ... but it seemed somewhat similar.
It does indeed, and what I've observed may well account for the same thing - it depends how you're establishing the links from content to assignments and quizzes.
To work out if it is the same problem, I'd suggest you debug the LTI payloads for your original course and the copied course. If the launch of the original course includes custom parameters in the LTI payload, and the launch of the copied-course does not, I'd suggest it's the same problem.
Of course, it may be something else - the ability to copy and roll-over content requires co-operation between the Platform (Canvas) and the Tool (whatever provides the assessments and quizzes). However, the issue I'm describing essentially prevents the Tool from co-operating, because Canvas is not providing sufficient information to resolve deep-links in copied courses.
Best,
David
I've been in touch with Instructure support, and they informed me that the custom-parameter under copy issue should have been fixed recently. I've re-tested this morning, and can confirm it has been. That's resolved my original issue - thanks Instructure!
Hi,
I am experiencing the same issue with custom parameters not being included in the content item during course copy.
The original assignment is created using the LTI Advantage DeepLinking workflow, and the custom parameters appear in the LTI launch payload OK. However, when the assignment is copied to another Canvas course, the custom parameters do not appear in the launch payload of the copied assignment.
This makes it difficult for the LTI tool to properly configure the copied assignment.
The post above indicated that Instructure solved this issue in Sept 2021, but I can't get it to work with LTI 1.3. Anyone with a proposed solution, please help!
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