Community Champion

Is it possible to add an LTI SSO link in the left navigation area? Not the left course nav area.

ImageI've seen how to put a link on the left navigation area (not course nav) using JavaScript, but is there a way to use LTI and have a similar link?  What is the left nav area called?

11 Replies
Coach Emeritus

 @bgibson ​, I'm not sure about the answer to your questions, but I'm going to share this with the following groups to see if they can help: Canvas Developers​ and User Group: New UI

Community Champion

Here is an LTI XML Config Builder​, part of Instructure's Edu Apps Center.

  • I found that the left nav area is called "global_navigation". 
  • Was able to create a SSO link in the Global Navigation menu with LTI, but initially, the "Canvas Commons" icon appeared above the link, even after entering "NO ICO".  Not sure if this will be correctable.  
  • My link was 13 characters long, which was too wide for the menu width. 
  • Also, the LTI app opened in the Canvas window.  I would prefer to have it open in a new window.  *This I think is more easily done with JavaScript. 
Community Contributor

For those who also stumble upon this, a few additional tidbits that I've gleaned in the last few hours:

  • It looks like global_navigation is a placement only available to LTIs installed in the root account.
  • You can only see global_navigation placements on your live instance. (This makes testing things a little… hair-raising.)
  • global_navigation placements can also be created via the external_tools API (the parameters would be things like global_navigation[text] and global_navigation[url], etc.)
  • The potential properties of global_navigation that I have seen so far are url, visibility, display_type (I've only seen full_width as a parameter), icon_url (to an SVG file), icon_svg_path_64 (if your icon is simple enough to be described with a single path), canvas_icon_class (doesn't seem to do anything), text (the caption on the navigation bar), label (again, seems to have no impact), selection_width, selection_height, enabled
  • Seems like you can get the global_navigation placement with just that option (see below).
  •  @bgibson , The latest beta release notes suggest that in course_navigation, you can now set the target for the launch -- perhaps this will also be coming to global_navigation as well?

Here's a minimal configuration XML file that works for me:

<?xml version="1.0" encoding="UTF-8"?>

<cartridge_basiclti_link xmlns="" xmlns:blti="" xmlns:lticm="" xmlns:lticp="" xmlns:xsi="" xsi:schemaLocation="">

<blti:title>Global Nav Test</blti:title>

  <blti:description>Testing to see if I can get a global_navigation placement to appear</blti:description>


<blti:extensions platform="">

  <lticm:property name="tool_id">global-nav-test</lticm:property>

  <lticm:property name="privacy_level">anonymous</lticm:property>

  <lticm:property name="domain"></lticm:property>

  <lticm:options name="global_navigation">

  <lticm:property name="visibility">admins</lticm:property>

  <lticm:property name="icon_url"></lticm:property>



<cartridge_bundle identifierref="BLTI001_Bundle"/>

<cartridge_icon identifierref="BLTI001_Icon"/>


Thank you Seth for putting this together! I tried a bunch of different properties using global_navigation and couldn't get it to work. I even tried to just copy and paste your XML and I don't see anything on the global nav. I felt like I'm probably missing something painfully obvious...

Community Contributor

jyan​, hmm. I know  @karl ​ notes that they've found it a little… kludgy. I found it pretty straight-forward. I've got some free time tomorrow. I'll see if I can slap together a screencast of exactly what I'm seeing.

Huh. I just tried this again on my test instance. I set up an LTI in my root account (I think that's key -- can't be a sub-account, I'm guessing: they probably don't poll every account in which a user is active for global_navigation).

This is exactly the XML I posted above (broken link to an icon and all). It seems to work whether or not you give it a key and secret (makes sense, since there's nothing on the tool provider end checking them):

Screen Shot 2016-09-22 at 9.05.42 PM.png

And then, bingo bango, it seems to work (well, the icon is, of course, broken):

Screen Shot 2016-09-22 at 9.05.58 PM.png

I'll try putting something for "icon_url" and see if that replaces the "Canvas Commons" logo that originally appeared.  Thanks.


I thought I should chime in here on this subject. The global navigation LTI extension is not supported at this time for any third party tools. It was only developed to place the link for Instructure tools in that location like Commons. We've even run into some issues with this placement as we are working on other tools/offerings. Currently, there's no guarantee on what contextual data if any will be passed from this location needed for LTI launches. There has been discussions internally to figure out a way to responsibly open up this extension, but there hasn't been any work completed to date.

At this point, I can't discourage you to keep investigating since our code base is open source and there may be something which will work, but thought it might be helpful to bring some background information into this conversation. The fact there is interest within this thread demonstrates this could be a useful placement for both schools and vendors. I'll work on relaying this information internally as we consider work around future UI development.

Community Contributor

 @karl ​, another layer of conversation that I hope is happening within Canvas is about what is and is not internally an appropriate candidate for the global navigation placement. I've found that adding Commons, beta testing Arc and having our own hacked Resources menu​… creates too much stuff in global navigation, especially on laptop screens.

I diverted the Arc global navigation placement to user navigation, where I think it fits more logically (although I think there's an even better option: ​), but it's not clear to me that adding things to global navigation that aren't truly global navigation is a good idea. (SSO sign in does seem global to me, like our resources menu -- and I'll probably pursue my notes above eventually to implement something to keep our javascript menu from "bouncing" in.)

Hi Karl - I noticed this was reported in 2016 - and it's still a problem as there is no way to control the visibility of the tool at the course level.  Understanding that Instructure supports LTI, advantage currently, limits the exposure to your APIs (and I suppose with good reason) - this is a real problem for both admins and third party tool providers that wish to take advantage of a standard, as opposed to developing multiple one-offs for every LMS out there.

I'd appreciate a update from Instructure Dev / Product on this - thanks

0 Kudos
Coach Emeritus

 @bgibson ,

We are giving the Canvas Admins area a little bit of love (especially questions that are really, really old) and just want to check in with you.  This will also bring this question new attention. 


Were you able to find an answer to your question? I am going to go ahead and mark this question as answered because there hasn't been any more activity in a while so I assume that you have the information that you need. If you still have a question about this or if you have information that you would like to share with the community, by all means, please do come back and leave a comment.  Also, if this question has been answered by one of the previous replies, please feel free to mark that answer as correct.



0 Kudos