How to deploy School Data Sync by using CSV files

Note: 

You can use Comma Separated Value (CSV) files with School Data Sync (SDS) to import and synchronize your Student Information System (SIS) data to Office 365. You can sync students, teachers, schools, sections, and roster information from the SIS to Azure AD. Using this method, you'll export or create six CSV files based on your SIS data, to set up the synchronization profile, and then upload them into SDS for processing.

In this topic:   

Before you get started

Before you start synchronizing with SDS using CSV Import, read the Overview of School Data Sync and Classroom.

To help with the process, you can install the Microsoft School Data Sync Toolkit. This tool helps you to add and update your users that are synced between SIS and Office 365, and can also be used to verify the CSV file data. For details, see Install the Microsoft School Data Sync Toolkit.

Make sure you meet the following prerequisites:

  1. Your Office 365 for Education tenant.

  2. Global Admin Permissons

  3. The CSV file cannot contain any characters shown in this list of invalid characters,

  4.  The CSV file cannot contain more than 500,000 rows of data. If any of the CSV files exceed 500K rows, split the additional rows into another set of 6 CSV Files, and create an additional sync profile to upload and sync them.

If you are configuring School Data Sync for a tenant which is synchronized from on-premises Active Directory through AADConnect, you may notice an increase in the number of Disconnectors shown in your miisclient. This is a result of Office 365 Group being unable to synchronize back to the AADConnect Metaverse and on-premises Active Directory. These warnings do not have any negative impact on your current AADConnect deployment, and only provide an informational note on the resultant sync failure. You should expect these warnings in AADConnect after enabling sync in SDS, as one O365 Group is created for each class synchronized through SDS.

Note: The data that you provide through School Data Sync may be accessible to third-party application providers through their apps, so you should sync only the data that you want to make available to these third parties.

Import your CSV files to create your profile

Watch the video: Deploy School Data Sync

Deploy School Data Sync Video

Make sure you've created your six CSV files and they're ready to use. Then follow these steps to import the files and create your profile.

  1. In your web browser, go to sds.microsoft.com, and sign in using global admin credentials for your Office 365 Education tenant.

  2. If this is your first time signing in and setting up a profile, you must choose to enable/disable SDS and Microsoft Classroom. To enable School Data Sync and proceed with the setup, toggle the School Data Sync switch to the On position. 

    Screenshot of Settings in School Data Sync, to turn School Data Sync on or off.
  3. After you've completed School Data Sync setup, choose Add Profile to create an SDS Sync Profile and begin syncing data from your SIS..

    Screenshot of Add Profile option in the menu of School Data Sync.
  4. Type a profile name in the Enter a name for your profile box.

    Screenshot of Enter a name for your profile, during Add Profile in School Data Sync
  5. In the Data Extraction section, select CSV Files in the Select data source drop-down menu.

    Screenshot of Data extraction options, during Add Profile in School Data Sync
  6. In the Data Extraction section, select either Create new users or Sync existing users.

    Screenshot of options for the profile to create and sync new uers data, or sync data for existing users, during Add Profile in School Data Sync
    • Create new users Select this option if you are not syncing identities from your on-premises Active Directory, or the users in scope for sync are not created within Microsoft Azure Active Directory already. This option will create new user accounts for users within the student and teacher CSV Files.

    • Sync existing users Select this option if you are syncing identities from your on-premises Active Directory, or the users in scope for sync are already created in Azure AD. This option will not create new user accounts for users within the student and teacher CSV Files.

  7. If you selected the Create new users option, skip this step. If you selected the Sync existing users option, select the appropriate Identity matching options from the available drop-down menus. This is where you'll define how to match students and teachers from your CSV files to the user accounts in Office 365. Watch the Identity Matching video for additional information on how to select the appropriate source, suffix, and target values, and properly configure the identity matching settings listed below.

    Identity Matching Options - Students and Teachers

    Screenshot of three settings to sync students in School Data Sync, including source property, suffix, and target property.

    Screenshot of three settings to sync teachers in School Data Sync, including source property, suffix, and target property.

    Select source propertyThis drop-down menu allows you to select the source property from your CSV files, to be used for Identity Matching.

    • Secondary Email Secondary Email attribute in your CSV files (ex: JohnSmith@contoso.com)

    • Student/Teacher Number Student or Teacher Number attribute in your CSV files (ex: 1234567)

    • Username Username attribute inyour CSV files (ex: JohnSmith or JohnSmith@contoso.com)

    Select suffix This drop-down menu allows you to append a domain suffix to the source property selected. All domains added to your tenant will be listed.

    Select target property This drop-down menu allows you to select the target property within Office 365, to complete the match between source and target.

    • UserPrincipalName Logon name of the user (ex. JohnSmith@contoso.com)

    • Mail PrimarySmtpAddress of the user (ex. JohnSmith@contoso.com)

    • mailNickname Exchange Alias of the user (ex. 1234567)    

  8. After the Profile Name, Data Extraction Options, and Identity Matching Options are set in place, choose Next.

  9. On the Directory options page, select the appropriate domain for each drop-down list available. If you selected the Sync existing users option in step 5, you will only need to select the appropriate domain for Schools and Sections because all existing students and teachers already have domains associated with their respective user accounts. This domain will be used as the domain suffix for the Office 365 Group created for each section, unless policy is in place to override this domain setting. You may also assign Classroom licenses to all users within the scope of sync, by checking the Assign Microsoft Classroom licenses checkbox. If you would like to allow SDS to maintain control of the Section/Group display names in O365, do not select the Sync option for Section Group Display Name checkbox. If you prefer that SDS create the group's Display Name based on the initial SDS sync, but allow the teachers to overwrite and maintain a custom display name after the first sync completes, check the second checkbox. 

    Screenshot of domain selection for the sync profile, and checkboxes to assign Microsoft Classroom licenses and Section Group Display Name in School Data Sync

    If you selected the Create new users option in step 5, you will need to select the appropriate domain for Schools and Sections, in addition to a domain for teachers, and a domain for students, as shown below. This domain will be used as the domain suffix for the user account created by SDS, for each user included in the student and teacher csv files.

    Only one domain can be entered for teachers, and one domain for students within a single sync profile. If you have objects of those types which must be spread across multiple domains, you'll have to create a separate profile for each set of users (one sync profile per domain).

    Screenshot of domain selection for schools/sections, teachers, and students in School Data Sync
  10. If you selected the Create new users option in step 5, you also must select the appropriate SKU to assign to each of the newly created Teachers and Students using the drop-down menus shown below. Each available SKU in your Office 365 tenant will be present in the list. You can also choose to license each of these users for Classroom, by checking the checkbox shown below. After each user type is selected, choose Next.

    Screenshot of SKU and license selection for new users in School Data Sync
  11. On the Select Properties to Sync page, select each of the attributes you plan to sync (required and optional) for each CSV file. Each attribute selected on this page should correlate to each attribute header field included in your CSV files. CSV files for School Data Sync details the required attributes (in grey) and optional attributes available for sync, and the formatting requirements for each CSV file. After all of the appropriate attributes are selected on this page, choose Next.

    Screenshot of categories of properties to sync in the School Data Sync profile
  12. On the Summary page, choose Submit to create the profile.

  13. Under the Profile Collection section of the SDS Portal, select the profile you just created.

  14. Choose Upload Files so you can choose and upload your CSV files.

  15. Choose Add Files to select your CSV files to upload, and then choose Upload.

    Screenshot of dialog box to upload selected files into the sync profile.

    During the upload process, the CSV files will be validated. If there are errors, they'll be listed so you can correct them and try again.

  16. After the files are uploaded select the Start Sync option to begin syncing the CSV data to Azure AD.

    Screenshot of completed profile options on dashboard of School Data Sync, including option to Start Sync

Video: How to match source and target attributes for sync

For various examples of matching logic success and failure for sync, watch the Identity Matching video:

Your browser does not support video. Install Microsoft Silverlight, Adobe Flash Player, or Internet Explorer 9.

Object updates

After your first sync, data within your SIS will inevitably change. The change may be related to a student, teacher, section, or any of the other attributes and objects types configured with School Data Sync. Some changes may occur on a daily basis. In order for changes in the SIS to be reflected in School Data Sync and Classroom, the data needs to be updated through the sync process.

Roster-based membership updates

The section membership is defined by the roster. Student rosters are defined in the StudentEnrollment.csv, and teacher rosters are defined in the TeacherRoster.csv. Sync will keep the section membership updated based on these roster files. Whenever users are removed from their roster file, Sync will remove the user from the corresponding section (group) and school (administrative unit). Sync calculates the differences by comparing the new roster file with a previous version of the same file. The following figures explain this process.

Initial sync:   

Initial sync with the CSV files.

  1. New Profile is created in the SIS portal.

  2. Initial set of CSV files are uploaded.

  3. Sync validates and stores these files.

  4. The data from these files is synchronized with Azure Active Directory.

  5. After all data has been synchronized, a copy of the teacherroster.csv and studentenrollment.csv files are saved.

Subsequent syncs:   

Subsequent syncs with CSV files.

  1. New studentenrollment.csv and teacherroster.csv files are uploaded.

  2. Sync saves the files.

  3. During the synchronization, the data between the existing set of files (from step #5 of the initial sync) are compared to the new files.

    1. If entries are added in the new set, but absent in the previous set, then these users will be added to the respective section.

    2. If entries are removed in the new set, but present in the old set, then these users will be removed from the section.

  4. After a successful sync, the new set of files overwrites the earlier files (from step# 5 Initial Sync).

Additional notes

  • No sections or schools are deleted in this sync flow; only group members and owners are updated.

  • Providing a complete roster with all current enrollments, on every upload, will ensure an updated roster across all sections.

  • If a student is deleted in the student.csv, Sync does not delete the Azure Active Directory account for that student.

  • If a teacher is deleted in the teacher.csv, Sync does not delete the Azure Active Directory account for that teacher.

  • If classes are deleted in the section.csv, Sync does not delete the Unified Group in Azure Active Directory.

  • If a new teacher is added to a class in the teacherroster.csv, that teacher is added as a group owner.

Switching between sync methods

While you can successfully migrate from one sync method to another, we recommend maintaining the sync method initially deployed indefinitely, due to the difficulty associated with maintaining source anchor values through the switch between sync methods. A source anchor is the attribute SDS uses to identify a synced object in both the source and target directory after the initial sync. This source anchor must always be unique, and must never be changed throughout the lifetime of the synced object.

When an organization enables sync, there are 5 objects types that synchronize through School Data Sync. SDS synchronizes Schools, Sections, Students, Teachers, and Rosters. Once an object is successfully synchronized, SDS must keep the object in sync, to continue to synchronize object attribute level updates from the source directory (CSV, Clever, or PowerSchool) to the target directory (Azure AD). The objects types and their corresponding source anchor attributes are detailed below:

Object Type

Source Anchor Attribute (PowerSchool)

Source Anchor Attribute (Clever)

Source Anchor Attribute (CSV)

School

SIS ID

Clever ID

SIS ID

Section

SIS ID

Clever ID

SIS ID

Teacher

SIS ID

Clever ID

SIS ID

Student

SIS ID

Clever ID

SIS ID

Roster

SIS ID (Section) and SIS ID (User)

Clever ID (Section) and Clever ID (User)

Section SIS ID and SIS ID (User)

Once the source anchor is established upon the initial sync, only certain objects can update their source anchor, while others cannot be changed. This concept is critical if you are considering switching between sync methods.

When transitioning from one SDS sync method to another, the source anchor values for Schools and Sections must always be persisted, to continue to sync each object under the new sync method. Any deviation or change from the original source anchor value will result in objects failing to sync. If the source anchor attribute values are not identical through the switch, the only way to transition from one sync method to the other is to delete the object in Azure AD and then recreate it under the new sync profile, using the new sync method.

When transitioning from one SDS sync method to another, the source anchor values for Students and Teachers can be updated during the switch, on if the user objects is not created through SDS sync, and maintains the identity matching values associated with the previous sync method. For example, if the original sync profile matched the identity for student using the username = userprincipalname matching logic, this same matching logic must be included under the new sync profile and result in an identity match under the new sync profile. Any deviation from the original identity matching logic may result in the sync failure and subsequent failure to update the source anchor value for that respective object.

Finally, when transitioning across sync methods when the new sync method is a CSV file, you must also update the student and teacher SIS ID values in the studentenrollment.csv and teacherroster.csv to reflect the correct SIS ID values of those respective object, if they have changed from the original Sis ID/Clever ID value set under the previous sync profile.

Related Topics

Overview of School Data Sync and Classroom
Install the School Data Sync Toolkit
CSV files for School Data Sync
How to deploy School Data Sync by using PowerSchool Sync
School Data Sync required attributes for PowerSchool Sync
How to deploy School Data Sync by using Clever Sync
How to deploy School Data Sync by using OneRoster CSV files
School Data Sync errors and troubleshooting

Was this information helpful?

Great! Any other feedback?

How can we improve it?

Thank you for your feedback!

×