Showing results for 
Search instead for 
Did you mean: 
Community Member

Changes to Menu Option Titles?


Disclaimer: I know very little about what I'm about to ask, which is why I have to ask and couldn't figure out how to research it in the previously answered questions.

I'm wondering if there is a way to edit the word "Syllabus" in the menu of options for Courses to "Agenda."  We are using Canvas in a non-degree setting, and syllabus is far too academic for what we do on a daily/weekly basis.  Is there a place I can recode the menu option, (if I know someone who could do the coding, because obviously I'm out of my league with the technical stuff)?

Thanks for any insight/guidance.


11 Replies
Community Team
Community Team

Hi, Welcome to the Canvas Community! I've shared your question with the Canvas Developers‌ group to see if someone there can provide a coding remedy for you.

There is a way to do this, which is both simple and cumbersome, on the front end. Using the Redirect LTI, you can create a custom link called "Agenda," and link it to the Syllabus page. As far as I know, you cannot implement this at the account level. You would have to do this individually for every course, and for every new iteration of that course, inasmuch as each course is going to have its own unique URL for the Syllabus page.

Let's hope the Canvas Developers can give you a more elegant backend coding solution. Smiley Happy

I ran into an issue with this workaround recently - A faculty member used the Redirect tool so that he could call the Syllabus "Schedule" instead. Then he hid the superfluous Syllabus link. But when he tried to view "Schedule" as the student, Canvas wouldn't load the page, because it was technically taking him to a hidden navigation item. stefaniesanders‌, do you know of a way around this?, if the Canvas Admin would sign off on it and add the custom JavaScript, the visibility could be set to none on the Syllabus navigation menu item instead of the instructor hiding it through the navigation settings. Of course, if the Canvas Admin signed off on this, they could just change the text directly using JavaScript and then the redirect tool wouldn't be necessary.

This comes back to discussion that has been had several times about changing the text on the buttons really needing to be at the account level so that students experience consistency and know where to find things and so that teacher A doesn't call it Syllabus while teacher B calls it Schedule and teacher C calls it Agenda. We could also mention how difficult it would be to support this if a student contacted help and said "My schedule page won't load." because someone is going to assume that the student typed poorly and meant the Scheduler from the calendar.

We could also rehash the argument about if a school really wanted to open the navigation links to renaming, whether it should be the teacher who gets to decide what to call them or if the students should have that ability, much like the nicknames on the dashboard course cards or the ability to remove the overlay on the images there.



Here is some quick code that will do what you want:

if(document.getElementsByClassName('syllabus')[0] != null && document.getElementsByClassName('syllabus')[0].getAttribute('title') == 'Syllabus'){
   document.getElementsByClassName('syllabus')[0].innerHTML = 'Agenda';
if(document.getElementsByClassName('syllabus active')[0] != null){
   document.getElementsByClassName('syllabus active')[0].innerHTML = 'Agenda';
   document.getElementsByClassName('ic-Action-header__Heading')[0].innerHTML = 'Course Agenda';

I did do some quick tests, but you will probably want to some tests of your own before you use it on your live site.

You can use it by adding it to the Custom JavaScript file in the Theme Editor. The Theme Editor and the Custom JavaScript in this guide: 

I will note that this will affect all the courses in the account (or sub-account).


Thanks for putting that out there akkaufmann. If can make a suggestion, it would be to use textContent instead of innerHtml. See the benefits at Node.textContent, warnings at Element.innerHTML,  and a comment about security at DOM based XSS Prevention Cheat Sheet.

That said, what you're inserting is safe since it's just text. It's just a recommendation I picked up as I was learning how to put things into the DOM for some of the scripts I've written.

Have you tested that code on the mobile apps to know if it works there?

Community Team
Community Team, everyone has made strong points and good suggestions so far. Before we continue the conversation, I made the assumption based on your description that you were in search of a solution that would affect all courses in the account. Is that indeed the case? 

Community Member

Hi everyone and stefaniesanders, thank you for your responses. You are correct. I am trying to change it for the whole account. We are operating in our own instance, separate from the university (degree-side), and across the board we use "agenda" and NEVER use syllabus. We are very cautious about changing much to the structure, because we know Instructure built Canvas for success. However, this is one case where the language doesn't translate as smoothly and it is customer-facing--so I'm glad to hear we have some solutions. Thanks!

Thanks for confirming that,! With that in mind, it sounds like the account-level Javascript changes recommended by and akkaufmann to be implemented through the Theme Editor are the way to go. Disregard the kludge-y Redirect LTI solution I provided. 😉

Community Coach
Community Coach


I thought that I would check in with you because there hasn't been any new activity in this thread since May 10th.  Were you able to implement the code that was provided by akkaufmann‌ and‌?  If so, did that meet your needs?  Or, are you still looking for some assistance with changing the button name from "Syllabus" to "Agenda"?  If you feel that one of the above responses has helped to answer your question, please go ahead and mark it as "Correct".  However, please let us know if you have any outstanding questions related to your initial topic.  For now, I am going to mark your question as "Assumed Answered" because there hasn't been any new activity in this thread for quite a while.  I hope that's okay with you, Emily.  Looking forward to hearing from you soon!