How to deploy School Data Sync by using PowerSchool SIS API

PowerSchool is a Student Information System (SIS) that integrates with School Data Sync (SDS). Using the PowerSchool sync method, you can connect directly to your SIS using the REST-based APIs provided by PowerSchool, and synchronize data directly instead of using CSV files. Using the PowerSchool sync method to ingest the data categories below enables you to light up core SDS capabilities for provisioning. It also allows you to enhance experiences for the Microsoft 365 products and features listed below.

core capabilities table for PowerSchool API.

To set up SDS using the PowerSchool Sync method, follow the instructions detailed in this article.

Prerequisites

Before you start synchronizing with SDS using the PowerSchool Sync method, review the Overview of SDS and make sure you meet the following prerequisites:

  • An Office 365 for Education tenant

  • Global Admin Permissions

  • School Data Sync (Plan 1) enabled

    Note

    The data that you provide through SDS 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.

Install the REST API plug-in for PowerSchool

Before SDS can access data from your PowerSchool SIS, you must install the application plug-in below within PowerSchool and obtain OAuth credentials following these steps.

  1. On your local computer, create an XML plug-in installation file with following content, and save the file as "plugin.xml".

    <?xml version="1.0" encoding="UTF-8"?>
    <plugin xmlns="http://plugin.powerschool.pearson.com"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://plugin.powerschool.pearson.com plugin.xsd"
    name="Microsoft School Data Sync"
    version="1.0.0"
    description="Plugin for Powerschool REST API for Microsoft SDS">
    <oauth></oauth>
    <publisher name="Microsoft Corp.">
    <contact email="sdshelp@microsoft.com" />
    </publisher>  
    </plugin>
    
  2. Sign in to the PowerSchool admin portal website using your System Administrator credentials.

  3. On the start page, choose System from the main menu, then go to System Settings > Plug-in Management Configuration > Install

  4. Enter or select the plug-in installation file you created (.xml), and then choose Install. The plug-in will appear in the Installed Plug-ins section on the Plug-in Management Dashboard page. Make sure the plug-in is enabled. If it is not, choose the Enable option on the Plug-in Management Dashboard page.

  5. On the Plug-in Management Dashboard page, make sure that the plug-in is enabled.

  6. Choose Data Configuration to view the OAuth credentials that were generated for the plug-in.

  7. Record the values for the Client ID and Client Secret so you can enter these credentials when you create your SIS profile.

Make sure the REST endpoints are Internet accessible

SDS must be able to reach your school's PowerSchool server. To make sure the server is accessible, open ports 80 and 443 from the Internet to your PowerSchool server.

To validate that the endpoints are set correctly, check that you can open the PowerSchool server website pages from the Internet. For example, in your browser, go to (https://PowerSchool.com/public/) and (http://PowerSchool.com/public/).

About AADConnect deployment warnings

If you are configuring SDS 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 misclient. This is a result of Office 365 Group being unable to sync 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. One Office 365 Group is created for each class synchronized through SDS.

Synchronize your SIS data using the PowerSchool sync method

Watch the video: Deploy School Data Sync

After you have installed the plug-in and set up access, create a profile in Microsoft SDS to synchronize your users' information.

SDS Access and First Time Login

To access the SDS Admin Portal launch a web browser, navigate to sds.microsoft.com, and then sign in using your O365 Global Admin account.

Create a sync profile and sync your SIS data

  1. After logging in, click +Add Profile in the left hand navigation to create a sync profile.

    Add profile.

  2. On the Choose Connection Type page complete the form as appropriate. Once complete, click Start.

    Choose Connection Type.

  • Name this profile - Enter a name for your sync profile. This name will be used to identify the sync profile in the SDS dashboard, and cannot be changed once the profile setup is complete.
  • Choose your sync method - Choose between the sync methods shown. If you are syncing using PowerSchool API, select the Connect via an API box and then select the PowerSchool API option.
  1. On the Sync Options page, select the appropriate option to create new users or sync existing users. Then complete your selections on the page as appropriate.

Note

If running with option for creating new users and wish to adopt V2.1 CSV, we have released a tool that will help you prepare to support V2.1 CSV format as part of your transition for back to school. See update anchor IDs before creating users.

Sync options.

  • Existing Users - Select this option if you already have user accounts created within your O365 tenant for each of the students and teachers contained within PowerSchool.

  • New Users - Select this option if you want SDS to create user accounts for each of your students and teachers contained within PowerSchool.

    Note

    If a student or teacher has a username within PowerSchool, SDS will attempt to use that to generate an account. If that username is not available then it will create one in the following format: s-<firstName>.<lastName>.<SIS ID>@<selectedDomain>

  • Web Access URL - This is the base URL for your PowerSchool SIS which is internet accessible.

  • client Id - This is the client Id recorded in the Install the REST API plug-in for PowerSchool section of this article.

  • client secret - This is the client secret recorded in the Install the REST API plug-in for PowerSchool section of this article.

  • Select schools to sync - This option allows you to select the school you want to sync from PowerSchool.

  • School properties - After uploading your CSV files, the attributes contained within your School.csv will be auto selected. You should validate the attributes selected here are the same attributes contained in your School.csv

  • Section Properties - After uploading your CSV files, the attributes contained within your Student.csv will be auto selected. You should validate the attributes selected here are the same attributes contained in your School.csv

  • Filter inactive properties - Checking this box will only sync active records.

  • Team Creation Option – Checking this box will ensure SDS creates both the Microsoft 365 Group and Class Team for each class synced. If you leave the box unchecked, SDS will only create the Microsoft 365 Groups.

  • Replace unsupported characters - Checking this box will automatically replace unsupported characters with supported ones.

  • Sync option for Section Group Display Name - Checking this box will allow teachers to control the section display name after the first sync, and prevent SDS from overwriting Section DisplayName changes made by teachers.

  • Delay Student Access - Enabling this option will allow you to set a future date for students to view their classes. Disable this option to allow students view their classes immediately.

  • When should we stop syncing this profile? - You will typically want to do this at the end of the school year. Once we stop syncing this profile, you will have the option to retire the classes associated with this profile.

Note

If you wish to have Insights data included with Education Insights Premium, you will need to go to SDS for Insights to update the linked from this profile to your SDS for Insights incoming flow. For more information, please see: SDS for Insights, Edit incoming flow or Back to School transition.

Note

At this time, single tenant with mixed formats (i.e. having V1 and V2 sync profiles actively running and both set to 'Sync to Insights') will not work.

  1. On the Teacher options page, select the appropriate identity matching options, confirm the teacher properties are selected, then click Next.

    teacher options.

  • Primary Key (Target Directory) - This is the user attribute in Azure AD used for SDS identity matching. Watch the identity matching video for additional information on how to select the appropriate target directory attribute, and properly configure the identity matching settings for the teacher.
  • Domain (optional) - This is an optional domain value that you can add to the selected source directory attribute to complete your Teacher Identity Matching. If you need to match to a UserPrincipalName or Mail attribute, you must have a domain included in the string. Your source attribute must either include the domain already or you can append the appropriate domain to the source attribute using the dropdown menu.
  • Primary Key (Source Directory) - This is the Teacher attribute in PowerSchool used for SDS identity matching. Watch the identity matching video for additional information on how to select the appropriate source directory attribute, and properly configure the identity matching settings for teacher.
  1. On the Student options page, select the appropriate identity matching options, confirm the student properties are selected, and then click Next. SDS will check to ensure you are selecting attributes and options within the correct format. If matching a UserPrincipalName for example, you must select a source directory attribute which is in the format of a UserPrincipalName (prefix@domain.com) or you must choose to append a domain to the source directory attribute to ensure proper formatting. If your selections are not in the proper format to complete a match, you will see a red error displayed on the page.

    Student options.

  • Primary Key (Source Directory) - This is the student attribute in PowerSchool used for SDS identity matching. Watch the identity matching video for additional information on how to select the appropriate source directory attribute, and properly configure the identity matching settings for teacher.
  • Primary Key (Target Directory) - This is the user attribute in Azure AD used for SDS identity matching. Watch the identity matching video for additional information on how to select the appropriate target directory attribute, and properly configure the identity matching settings for the student.
  • Domain (optional) - This is an optional domain value that you can add to the selected source directory attribute to complete your student identity matching. If you need to match to a UserPrincipalName or Mail attribute, you must have a domain included in the string. Your source attribute must either include the domain already or you can append the appropriate domain to the source attribute using the dropdown menu.
  1. On the Review page, ensure you've made the appropriate selections. If no additional changes are needed, click Create Profile. Once you create a sync profile, SDS will begin a pre-sync validation process. If any errors are found during this process, you will have the option to fix them and re-upload files before clicking the resume sync button and starting the real synchronization process. If you receive errors and choose not to update them, you can still choose to resume sync without addressing the errors.

    Review page.

Filtered State of PowerSchool SIS API

  • Students and enrollments – SDS syncs some students based on school association and status.

    • Synced
      • Pre-enrolled
      • Active
    • Not Synced
      • Graduated
      • Dropped out
      • Transferred out
  • Teachers – SDS syncs some teachers based on school association, and staff type.

    • Synced
      • Teacher
      • Substitute
    • Not Synced
      • Lunch Staff
      • Staff
      • Not Assigned
  • Classes and Schools- SDS syncs all within the selected school year.

    changes-to-filtering-powerschool.PNG.

Video: PowerSchool API


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:

Overview of SDS