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.
Hello!
We're fairly new to Canvas, and have installed an LTI tool for What Do You Think? course evaluation. Having installed the LTI tool we get a message saying our institution isn't configured. We contacted their support and they have said it's something they need to set up on their side. However, before they can do so they asked for this information:
I have absolutely no idea where I can find this. I looked online at the Canvas docs but haven't really been able to figure out what they're looking for. They said that we were their first Canvas institution, and only provided this for which I am paraphrasing:
"What we receive from Canvas is pretty much just a big long piece of text. Like, "lis_person_contact_email_primary=yourEmail@domain.com, lis_person_name_given=YourFirstName, lis_person_name_family=YourLastName," and so on. We need to know which of those parameters to pull data from for specific purposes, so we know where to insert it in our end and how to make use of what we've received. Since different schools use different parameters for different things, we need to ask each school which ones we should look at for them.
For example, if we configured you to use the LTI parameter “lis_person_contact_email_primary” for email address, when we received a connect request from your institution's instance of Canvas we would know to look at the stored email addresses in WDYT and check against the value we've been sent for the parameter “lis_person_contact_email_primary.” Since you're using email address as your log in, we would then know who is logging in and what to display to them.
Similarly, for the source course id, we need to know what parameter from Canvas we need to look at in order to know what the course id is."
Where can I find this information that they're looking for? I thought when a vendor provided an LTI tool they would just be pretty straightforward as most of our others have been, but this one is driving us a wee bit nuts.
Thank you!
Spencer Varney
Solved! Go to Solution.
Hi Spencer --
It's a little difficult to know exactly what your vendor needs because they haven't been clear about exactly what they will be using the values for. Which parameters they should use depends on how they will be using the values. I gather that they are trying to identify users and courses. For the user parameter, it's important to know: do they need a stable, guaranteed unique ID? Will that ID be displayed in their UI, and does it need to be understandable by the person viewing it? Do they need an ID that can map back to your SIS or identity management system?
| field name | example value | unique | stable | opaque | relatable to SIS, identity management |
|---|---|---|---|---|---|
| user_id | 89b1619c5db9a0c6736bcf668b95dc19a8fb4c71 | yes | yes | yes | no |
| custom_canvas_user_id | 7 | yes | yes | no (this is the number that appears in Canvas profile URLs: https://<Canvas host>/users/7) | not directly |
| lis_person_contact_email_primary | user@school.edu | maybe? | no (a user's Canvas email address may change over time) | no | maybe |
| lis_person_name_full | John Doe | no | no | no | no |
| lis_person_sourcedid | 12345678 (the user's SIS ID, typically your institution's unique user ID) | yes | yes, generally | maybe/no | yes |
| custom_canvas_user_login_id | 12345678 (the user's Login ID, the unique ID used by your institution's SSO system) | yes | yes | maybe | maybe |
So - if the vendor needs a unique ID, they probably should use either the user_id or custom_canvas_user_id. If you know that all of your Canvas users have an sis_user_id populated, then the vendor could use lis_person_sourcedid. If you use single-sign-on with a local authentication provider, they could use custom_canvas_user_login_id as a unique user ID as well. Those values aren't great choices for display in a UI, though ("Hi, 12345678!"). A good practice would be to use one of the guaranteed-unique parameters as a unique ID in the vendor system, but to also store one of the user-readable values like lis_person_full_name or lis_person_contact_email_primary for display purposes.
There are a few options for identifying courses, too:
| field name | example value | unique | stable | opaque | relatable to SIS |
|---|---|---|---|---|---|
| lis_course_offering_sourcedid | 1234 (this is the course's SIS ID, your institution's unique course ID; it may or may not be human-readable depending on how your institution creates courses in Canvas) | yes | yes | no/maybe | yes |
| custom_canvas_course_id | 50 (this is the Canvas course ID that appears in Canvas URLs) | yes | yes | no | no |
| context_label | BIO 200 (this is the human-readable Course Code value from the course settings screen in Canvas) | no | maybe | no | maybe |
So - if the vendor needs a unique course ID they could use the custom_canvas_course_id or the lis_course_offering_sourcedid (assuming your institution populates the SIS ID for all of your courses). Those values may or may not be good human-readable identifiers depending on your institution's practices. A good practice would be for the vendor to use one of the unique parameters as the unique key in their system, and to also store a human-readable value like context_label (or context_title, which contains the course title) for display purposes.
Hope this is helpful -- most of the yes/no/maybe values in the tables above are from memory, so hopefully I've got them right!
--Colin
@svarney , I don't know the answer to this question (and I'm a Canvas Admin!), but I'm going to go ahead and share it with the Canvas Developers group in the Community. They are the ones more on the back-end tech side of Canvas so hopefully between this group and that group someone will be able to help! If not, or if not quick enough, my recommendation is to contact your CSM. CMS's are amazing and I'm sure yours will be able to help answer this question!
Thanks! I debated posting it there to begin with, but I thought since I wasn't developing one I'd start here. I assumed other admins would have run in to similar requests from their vendors as well.
As for our CSM, I was planning to get in touch with them if this didn't pan out - we're still new enough I'm trying to learn where to go for which questions and when. Thanks for the response!
No problem! I think it varies from Institution to Institution. For our Institution when I get a technical question like the one you asked, I defer to our Canvas Developer guru. My job is more on the front end of Canvas than the back-end. Yet, for other Admins I know they often have to know/do both sides of things. I figured by including both you're more likely to get a (quicker) response. As for your CSM, I'd feel free to use and abuse them with your questions, especially since you're just starting out.
I don't mean that in a mean way, but rather that they really are amazing (seem to know or be able to find out just about anything) and don't seem to mind when their customers contact them will all types of questions, complaints, issues, etc.
Hi Spencer --
It's a little difficult to know exactly what your vendor needs because they haven't been clear about exactly what they will be using the values for. Which parameters they should use depends on how they will be using the values. I gather that they are trying to identify users and courses. For the user parameter, it's important to know: do they need a stable, guaranteed unique ID? Will that ID be displayed in their UI, and does it need to be understandable by the person viewing it? Do they need an ID that can map back to your SIS or identity management system?
| field name | example value | unique | stable | opaque | relatable to SIS, identity management |
|---|---|---|---|---|---|
| user_id | 89b1619c5db9a0c6736bcf668b95dc19a8fb4c71 | yes | yes | yes | no |
| custom_canvas_user_id | 7 | yes | yes | no (this is the number that appears in Canvas profile URLs: https://<Canvas host>/users/7) | not directly |
| lis_person_contact_email_primary | user@school.edu | maybe? | no (a user's Canvas email address may change over time) | no | maybe |
| lis_person_name_full | John Doe | no | no | no | no |
| lis_person_sourcedid | 12345678 (the user's SIS ID, typically your institution's unique user ID) | yes | yes, generally | maybe/no | yes |
| custom_canvas_user_login_id | 12345678 (the user's Login ID, the unique ID used by your institution's SSO system) | yes | yes | maybe | maybe |
So - if the vendor needs a unique ID, they probably should use either the user_id or custom_canvas_user_id. If you know that all of your Canvas users have an sis_user_id populated, then the vendor could use lis_person_sourcedid. If you use single-sign-on with a local authentication provider, they could use custom_canvas_user_login_id as a unique user ID as well. Those values aren't great choices for display in a UI, though ("Hi, 12345678!"). A good practice would be to use one of the guaranteed-unique parameters as a unique ID in the vendor system, but to also store one of the user-readable values like lis_person_full_name or lis_person_contact_email_primary for display purposes.
There are a few options for identifying courses, too:
| field name | example value | unique | stable | opaque | relatable to SIS |
|---|---|---|---|---|---|
| lis_course_offering_sourcedid | 1234 (this is the course's SIS ID, your institution's unique course ID; it may or may not be human-readable depending on how your institution creates courses in Canvas) | yes | yes | no/maybe | yes |
| custom_canvas_course_id | 50 (this is the Canvas course ID that appears in Canvas URLs) | yes | yes | no | no |
| context_label | BIO 200 (this is the human-readable Course Code value from the course settings screen in Canvas) | no | maybe | no | maybe |
So - if the vendor needs a unique course ID they could use the custom_canvas_course_id or the lis_course_offering_sourcedid (assuming your institution populates the SIS ID for all of your courses). Those values may or may not be good human-readable identifiers depending on your institution's practices. A good practice would be for the vendor to use one of the unique parameters as the unique key in their system, and to also store a human-readable value like context_label (or context_title, which contains the course title) for display purposes.
Hope this is helpful -- most of the yes/no/maybe values in the tables above are from memory, so hopefully I've got them right!
--Colin
Colin,
That's great, thank you for the detailed explanation and writeup, I'm slowly starting to get a grasp on what exactly this is all about since LTI is new to me.
We also reached out to our CSM as recommended by @kona and it sounds out these folks aren't a Certified Partner with Canvas yet, so that may also have something to do with it. Yay for trailblazing! I'll this along as well, hopefully it helps them out.
Spencer
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
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.