About
You can upload a CSV file to create, update, or delete assignments in bulk in Timetable. Make sure your file follows the required CSV format described in this article.
You can find these settings under Site administration > Plugins > Admin tools > Timetable > Upload assignments (CSV).
How to upload assignments CSV file
File β Upload your CSV file using the file picker or drag and drop. The file must include the columns: username, course, and delete.
CSV separator β Choose the character used to separate values in your file (comma, semicolon, colon, or tab).
Encoding β Select the correct encoding of your file.
After you upload a file, click "Preview". Timetable then displays a table with all CSV columns plus an additional status column.
Valid rows are marked with the status OK.
Rows that are not valid show specific error messages, such as unknown usernames, unknown course short names, or missing mandatory columns. If this happens, correct the CSV file and upload it again.
When all rows are valid, the Upload assignments button appears. Clicking it adds the assignments to their courses, shown in Timetable > Assignments.
CSV format requirements
In the list below, each entry begins with the CSV field name followed by whether it is required or optional.
username (required)
The username of the student.
Example: nicoleschneidertags (optional)
A comma separated list of tags. If a tag does not yet exist, it will be created automatically.
Example: Tag A, Tag Bcourse (required)
The short name of the course the assignment belongs to.
Example: officebasicsdelete (required)
Indicates whether the assignment should be deleted or created or updated. Use 1 to delete and 0 to create or update.
Example: 1 or 0startdate (optional)
The start date and time of the assignment, using the date and time format of your Moodle site. Time is not required. If no value is provided, today is used as the start date.
Example: 2025/03/20 10:00duedate (optional)
The due date and time of the assignment, using the date and time format of your Moodle site. Time is not required. If no value is provided, no due date is set.
Example: 2025/05/02enddate (optional)
The end date and time of the assignment, using the date and time format of your Moodle site. Time is not required. If no value is provided, no end date is set.
Example: 2025/08/02 00:00priority (optional)
Specifies the assignment priority used for monitoring and reporting. Default: normal. Valid values: low, high, normal.
Example: low, high, normaltype (optional)
Specifies the assignment type. Valid values: mandatory, optional. Default: mandatory.
Example: mandatory, optionalobserver# (optional)
The user who monitors the assignment. Use observer1, observer2, or observerN to add multiple observers. Enter usernames, not full names.
Example: harryg
β