SDS V1 CSV File Format
Important
SDS (Classic) TRANSITION CUSTOMERS: Not all fields are supported to bring data into the new SDS experience based on the v1 format. You will find them noted in SDS v1 CSV File Format under column Required? as data not supported.
Important
Also, Grade values and Course Subject values passed must align to their corresponding List of Values (ENUM) codes. If needed utilize Managing List of Values to expand Grade values and Course Subject to support code values not supported by default.
You can use CSV (comma-separated value) files in the SDS V1 format to sync your School Information System (SIS) with Office 365. Using the SDS V1 CSV file format to ingest the data categories below enables you to light up core SDS capabilities for provisioning. It also helps you enhance experiences for the Microsoft 365 products and features.
If you're using the SDS V1 format, the files must be appropriately formatted. Upload the files, named exactly as detailed below. Column headers are case-sensitive. CSV files must be in UTF-8 format and RFC compliant. Also we don't accept line breaks in incoming data. To review and download sample set of SDS V1 CSV files, see the SDS GitHub Repository.
Important
After your initial upload during the creation of your inbound flow, you'll need to always supply the same set of files for subsequent uploads, regardless of data changes made in the optional files or not. If you do not the system will determine that the records are no longer active and will mark them as such.
Required: The three files listed below must be selected before you can progress. If you're only managing users and not classes, you only need to supply these files.
school.csv
student.csv
teacher.csv
Optional / Required: Not required if you're only managing users. If you're also managing classes and class enrollments, you need to provide the three files listed below, along with the three files above. If you're not, don't select any files with these names.
section.csv
studentenrollment.csv
teacherroster.csv
Optional: These aren't required to proceed but may enhance experiences. If one of the files below is selected the other must also be selected to proceed.
user.csv
guardianrelationship.csv (Requires user and student record to build contact association.)
Each CSV file must contain data for the fields noted 'Yes' under 'Required', the fields noted 'No' are 'Optional' data. The field headers marked as 'Required' must exist in the supplied files or they won't be accepted. The field headers marked as "Optional' aren't required to be present in the files if not passing the corresponding optional data.
The fields with defined enumerated values as marked in the 'Data Types' column have a specific set of values they support. The supported set of default values for Enum fields see Default List of Values.
school.csv
Field | Required? | Example | Data type |
---|---|---|---|
SIS ID | Yes | 456789 | Unique ID |
Name | Yes | Contoso High School | String |
School NCES_ID | No | 456789 | String |
School Number | data not supported | ||
Grade Low | data not supported | ||
Grade High | data not supported | ||
State ID | data not supported | ||
Principal SIS ID | data not supported | ||
Principal Name | data not supported | ||
Principal Secondary Email | data not supported | ||
Address | data not supported | ||
City | data not supported | ||
State | data not supported | ||
Zip | data not supported | ||
Country | data not supported | ||
Phone | data not supported | ||
Zone | data not supported |
- All organizations listed will be set to the organization type 'school'.
student.csv
Field | Required? | Example | Data type |
---|---|---|---|
SIS ID | Yes | 123456 | Unique ID |
School SIS ID | Yes | 456789 | Unique ID |
Username | Yes | jsmith@contoso.edu | String |
First Name | Yes (only if creating users) | John | String |
Last Name | Yes (only if creating users) | Smith | String |
Middle Name | No | William | String |
Secondary Email | No | jsmith@contoso.edu | |
Student Number | No | 123456 | String |
Grade | No | 8 | Enum |
Birthdate | No | 2009-12-19 | Date |
Status | data not supported | ||
Password | data not supported | ||
Graduation Year | data not supported | ||
State ID | data not supported |
- Requires a reference to the associated school using the 'School SIS ID' field. This produces a dependency on the school.csv file.
- All users listed will be set to the role type 'student'.
- Expect date values to be supplied in ISO8601 format.
- Leading zeros ‘0’ missing on incoming value for Grade Level ENUM, for example ‘1’, will match defined List of Value (ENUM) ‘01’ and will be stored as ‘01’.
teacher.csv
Field | Required? | Example | Data type |
---|---|---|---|
SIS ID | Yes | 654321 | Unique ID |
School SIS ID | Yes | 456789 | Unique ID |
Username | Yes | jcook@contoso.edu | String |
First Name | Yes (only if creating users) | Jane | String |
Last Name | Yes (only if creating users) | Cook | String |
Middle Name | No | Meredith | String |
Teacher Number | No | 654321 | String |
Grade | No | 8 | Enum |
Secondary Email | No | jcook@contoso.edu | |
Status | data not supported | ||
Password | data not supported | ||
Title | data not supported | ||
State ID | data not supported | ||
Qualification | data not supported |
- Requires a reference to the associated school using the 'School SIS ID' field. This produces a dependency on the school.csv file.
- All users listed will be set to the role type 'teacher'.
- Leading zeros ‘0’ missing on incoming value for Grade Level ENUM, for example ‘1’, will match defined List of Value (ENUM) ‘01’ and will be stored as ‘01’.
section.csv
Field | Required? | Example | Data type |
---|---|---|---|
SIS ID | Yes | 334455 | Unique ID |
School SIS ID | Yes | 456789 | Unique ID |
Section Name | Yes | Period 1 - World History | String |
Section Number | No | 334466 | String |
Course SIS ID | No | 123456789 | Unique ID |
Course Name | No | World History 10 | String |
Course Number | No | 123456789 | String |
Course Description | No | History of the World | String |
Course Subject | No | 54999 | Enum |
Term SIS ID | data not supported | ||
Term Name | data not supported | ||
Term StartDate | data not supported | ||
Term EndDate | data not supported | ||
Status | data not supported | ||
Periods | data not supported |
- Requires a reference to the associated school using the 'School SIS ID' field. This produces a dependency on the school.csv file.
- If Term information is needed recommend moving to SDS v2.1 CSV format and also providing academicSessions.csv file.
studentenrollment.csv
Field | Required? | Example | Data type |
---|---|---|---|
Section SIS ID | Yes | 334455 | Unique ID |
SIS ID | Yes | 123456 | Unique ID |
- This requires a reference to the associated section using the 'Section SIS ID' field. This produces a dependency on the section.csv file.
- This requires a reference to the associated user using the 'SIS ID' field. This produces a dependency on the student.csv file.
teacherroster.csv
Field | Required? | Example | Data type |
---|---|---|---|
Section SIS ID | Yes | 334455 | Unique ID |
SIS ID | Yes | 654321 | Unique ID |
- This requires a reference to the associated section using the 'Section SIS ID' field. This produces a dependency on the section.csv file.
- This requires a reference to the associated user using the 'SIS ID' field. This produces a dependency on the teacher.csv file.
user.csv
Field | Required? | Example | Data type |
---|---|---|---|
Yes | jsmith@outlook.com | ||
First Name | Yes | John | String |
Last Name | Yes | Smith | String |
Phone | No | +1234567890 | Phone |
SIS ID | No | P_123456 | Unique ID |
- If you're also syncing Contact Relationships (guardians), you must include a record for them in the user.csv.
- Expect phone field to be formatted based on the E.164 standard where the plus character is used and succeeded by the phone number, or rather the plus character followed by country code, area code, telephone prefix, and line number.
guardianrelationship.csv
Field | Required? | Example | Data type |
---|---|---|---|
SIS ID | Yes | 123456 | Unique ID |
Yes | jsmith@outlook.com | ||
Role | No | Parent | Enum |
- If you're also syncing Contact Relationships (guardians), you must include a record for them in the user.csv.
- This requires a reference to the associated user using the 'Email' field. This produces a dependency on the user.csv file.
- This requires a reference to the associated user using the 'SIS ID' field. This produces a dependency on the student.csv file.
- If Role value isn't supplied the relationship value defaults to 'userContact'.