Bulk uploading student users to canvas.

3,384 views
Skip to first unread message

Mahmoud Abdalla

unread,
Aug 28, 2013, 9:33:21 PM8/28/13
to canvas-l...@googlegroups.com
I have no clue how to upload a csv file of 1000 rows as canvas student users into the system. any help would be appreciated.

Cody Cutrer

unread,
Aug 29, 2013, 12:18:39 AM8/29/13
to canvas-l...@googlegroups.com
You'll enable SIS Imports on the account settings, and then SIS Import will show up on the left side. The documentation for the CSV import format is at https://canvas.instructure.com/doc/api/file.sis_csv.html

Cody Cutrer
Software Engineer
Instructure


On Wed, Aug 28, 2013 at 7:33 PM, Mahmoud Abdalla <mmab...@gmail.com> wrote:
I have no clue how to upload a csv file of 1000 rows as canvas student users into the system. any help would be appreciated.

--
 
---
You received this message because you are subscribed to the Google Groups "Canvas LMS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to canvas-lms-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Brandon @ Webster

unread,
Aug 29, 2013, 9:14:01 AM8/29/13
to canvas-l...@googlegroups.com
First things first is getting your CSV format down.  As Cody linked, SIS Import Format Documentation is where you want to go, specifically the enrollments.csv

From here, it depends how your version of canvas is set up and if you're loading the students into courses, or sections of a course.  At my university, we don't use sections so my sample csv file might be different.
course_id user_id role section_id status
COURSE_SIS_ID USER_SIS_ID student deleted
COURSE_SIS_ID USER_SIS_ID student deleted
COURSE_SIS_ID USER_SIS_ID student deleted
COURSE_SIS_ID USER_SIS_ID student deleted

(if you use sections plop the section_id in the appropriate column).
It's key to note this is an SIS import and both the course_id and user_id need to be their SIS_IDs and not their canvas ID.  It seems obvious but I'll admit the first time I tried an SIS Import it went over my head.



After you have your CSV file you can either use the enabled SIS Imports on the account settings, or use the API to upload it.  Because I use PHP and not ruby, here is how to upload the SIS file using the API in Php:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://[your canvas url]/api/v1/accounts/[master account id]/sis_imports.json?import_type=instructure_csv&extension=csv");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer ".[file location]));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('attachment'=>'@'.[file location]));
$data = curl_exec($ch);
curl_close($ch);



Hope this helps!

vco...@oakschristian.org

unread,
Oct 10, 2014, 8:15:50 PM10/10/14
to canvas-l...@googlegroups.com
Brandon, I just read your directions, and they're right on. I use this when uploading students and observers from our SIS. Now I want to upload students and observers from a second SIS that may have some overlap, so the SIS ID's may not be unique. Is there any way to upload students and observers using their LMS ID's? 

ks...@eacs.k12.in.us

unread,
Aug 21, 2015, 3:24:30 PM8/21/15
to Canvas LMS Users, pol...@gmail.com
I guess I am not a programmer.  Where do you place this and what other code do you need to add above or below it in the php file?  Does it only run then when you open the php file in a browser?  Canvas just keeps pointing me to documentation that I do not fully understand.

Gary Nickerson

unread,
Feb 28, 2017, 12:39:10 PM2/28/17
to Canvas LMS Users
I have enabled SIS Imports, but it still doesn't show in the left column. Any ideas why or where to look to get this enabled?

Thanks,
Gary
Reply all
Reply to author
Forward
0 new messages