Use this article to import learning objectives (LOs) into a repository from an Excel file. For most organisations this is the only practical way to load a large LO structure. For single LOs added in passing, see Adding and editing learning objectives.
Before you start
- You need the Manage learning objectives permission under Admin > Roles > Site administration.
- Define your LO structure in advance: folders (optional), subjects, optional categories, and the LOs themselves.
- Familiarise yourself with the LO structure in Cirrus.
Build the Excel file
Cirrus provides a template: Importsheet Learning Objectives Cirrus.xlsx.

Required information
- Every column header in the example file.
- Correct IDs (see rules below).
- The right Parent ID for every row, so Cirrus rebuilds the tree.
ID rules
- IDs must be unique within your file.
- IDs must not already exist in any other LO repository on the tenant.
- IDs must not contain spaces or dots (
.).
Optional columns
- Description: leave blank if not needed.
- Labels: leave blank if not needed.
You can also add a Category layer between Subject and LO in the file, following the same pattern.
Fields set in the dialog, not in the file
- None for LO imports. Every relevant value is in the file.
Run the import
- Sign in as a System Administrator (or with the equivalent role permission).
- Open Admin > Learning objectives.
- Open the repository to import into. Alternatively, select + Create repository for a fresh one.
- Select Import.

- Select Choose file and upload the
.xlsx.

- Cirrus runs a dry-run and shows the tree it will create.

- Browse the tree with the arrows [A].
- Tick the items to import (use select all on a level for a bulk tick) [B].
- Select + Import selected to finalise [C].
After the import
- The new repository (or new branches in an existing repository) appear under Admin > Learning objectives.
- Items in collections that point to the repository can now attach the new LOs.
- For items being imported with LOs, the LO titles must match exactly. Watch for trailing spaces.
