Showing results for 
Show  only  | Search instead for 
Did you mean: 
New Member

Best way to do bulk enrollment into multiple courses?

Hi, we are searching for a simpler, quicker way to do enrollments.  We have to enroll over 100 students into about 15  courses, and another group of 100+ students into about 15 different courses.  We use the following parameters in our csv:



We end up with thousands of lines.  Is there a way to condense the number of lines in our csv, perhaps by using terms or something else that we can lump into larger groups?  Is there a completely different method that we should try?

Thanks for the help.


Tags (2)
12 Replies
Community Coach
Community Coach

1353520195​, because your question is pretty technical I'm going to share it with the Canvas Developers​ and Canvas Admins​ groups in the Community. Hopefully someone from there should be able to help!

Thanks, Kona!

Community Champion

Hi, Cory.

I'm curious as to how you end up with "thousands of lines". 100 students x 15 courses (assuming each student is in one section) should give you 1,500 lines in your csv. Do you have duplicate rows?

Hi Nelson,

100+ students each in about 15 courses for each year of curriculum.  We have 3 years of curriculum that we enroll for.

Community Champion

SIS import is probably the fastest way to do it and no, there's no way to shortcut to that, but if the 100 students are all in the same 15 courses, then you may want to consider whether or not they should be 15 courses or 1.

Thousands of lines is okay for what you're describing because you have thousands of enrollments. The other way to do it would be through the API, but that would be thousands of API calls vs one SIS upload.

You're not creating the SIS imports manually are you? Otherwise, don't let it bother you how many lines there are.

You don't have to send them all at the same time, though. We do incremental updates throughout the day every 20 minutes of things that have just changed. That way we have small files that don't take long to process. If we tried to send everything in one shot, we'd have over 5000 enrollments for this Fall, and we're a lot smaller than some places are.

Hi James,

I suspect SIS import is the best way.  I was hoping we could use different parameters to lump those enrollments into bigger buckets than courses, like Terms. 

Same "class" of students take all the same courses, but the courses are different subjects/materials, so they have to be separate.

We create our csv files manually, but mostly copy/pasting from another system.  How do you create yours?


Community Champion

Depending on the SIS that you use, you may be able to generate the CSV file directly from there. Our system isn't one of the those. What I do have a program that queries the SIS database using SQL and then translates it into the CSV files that are needed. It runs as a background job every 20 minutes. It's very highly customized to our instance.

Separate subjects materials don't have to be different courses in Canvas, especially in K-5 where it's the same teacher, although it is easier to separate things if they are for higher grades.

Thanks for the info, James.  We are Higher Ed so it is best for us to keep them separate.

Community Champion

I am also working in Higher Ed. and using the same technique as  @James ​

We have developed a direct integration between the SIS and Canvas.  This integration is a piece of software that queries the SIS system for all information associated with a semester (i.e. courses, sections, faculty, students) and creates the import files for us.  Once the queries are complete and the files are ready, the software uploads them to Canvas.  Our software also monitors for any errors or warnings and emails any information that needs attention.

If you are trying to manage your import files manually, I can absolutely feel your pain.

I highly recommend allowing software to do the heavy lifting, which will make the number of records essentially negligible.

Do you have IT staff who can help to automate your process?

Thanks for the info, Garth.  We are working on automated enrollments with integration between our curriculum management system and Canvas, but that is likely a year away.  Seems we are probably doing enrollments the simplest way for now.

Community Champion

It really isn't as bad as you might think, although I don't know what your curriculum management system is or how easy it is to talk to.

However, on the Canvas side it's pretty darn easy as long as you know how to work with API calls.

Once I get past the launch of the Fall semester I'm hoping to find some time to post the steps I took on our integration, maybe that will help.

All said and done, creating the queries to get the information out of the SIS, and creating the logic to send the data to Canvas, took a matter of weeks in terms of man-hours, not months.  The hardest part was having time to dedicate to the project, there were plenty of interruptions along the way.

Point being, if I can put your mind at ease, the juice is definitely worth the squeeze and doesn't take an extreme amount of effort.

Newer systems will be leveraging LIS, which will make life even easier for those who can afford to upgrade their technology.  That is a completely different conversation, but might be worth looking at to see what's coming.

Community Coach
Community Coach


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.