Importing enrolments from a spreadsheet
Also in InstructorsA file of people, enrolled in one go. It creates accounts for anybody who has none, so a list of names and addresses is enough.
The file
A CSV with a header row. The columns it reads:
- email — required. This is the person; everything keys on it.
- first name and last name — used if the account has to be created.
- course — required. The course’s address slug or its id.
- role — optional, defaults to student.
Save as CSV from whatever you use. Exports with accented characters are handled; so are files saved on Windows.
Check before apply
The importer always does two steps, and they are two separate actions rather than one with a tick box — “tell me what this does” and “do it” should not be one mistyped setting apart.
- Check. Upload the file. Nothing is written. You get a row-by-row report: who will be created, who already exists, which courses were found, and which rows are wrong.
- Read the report. Particularly the cost, and anything saying a course was not found.
- Apply. Only then is anything written.
What it will cost
Every student enrolment on a free course is billable — currently $5 each. A 500-row file is a $2,500 charge on the next nightly run.
The check tells you the figure before you commit. Read it. A file with a duplicated block of rows, or one that enrols everybody onto three courses instead of one, looks almost identical to a correct file and costs three times as much.
Running it twice is safe
Enrolments are unique per person and course, so a second run of the same file enrols nobody twice and bills nothing twice. “Did that work?” is the commonest reason a file gets uploaded again, and it does not punish you for it.
Common failures
- Course not found. Check the slug against the course’s address — it is the last part of the URL, not the title.
- Two addresses for one person. They get two accounts. Deduplicate the file first; it is far easier than merging afterwards.
- A stray column or a shifted header. The check will show addresses appearing in the name column. Look at the first few rows of the report rather than skipping to the total.