Share via


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 [email protected] 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 [email protected] Email
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 [email protected] 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 [email protected] Email
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
Email Yes [email protected] Email
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
Email Yes [email protected] Email
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'.