Formative allows partner districts to roster their teachers, students, and classes from PowerSchool SIS by uploading the data in CSV files via SFTP.

First you will want to request SFTP credentials from us to upload the files to. Then configure those SFTP credentials as an SFTP connection in PowerSchool.

You will want to visit the Import & Export area of PowerSchool SIS and create a number of export templates and schedule them to run each evening. You create a template using the "Export" tab, by doing an export and saving its settings as a template.

For each template, you will want to choose the appropriate data source and columns as listed below.

Note that when you select a column to be included, PowerSchool will output a column prefixed with the name of the data source. For example, when you select ID in the CC data, it will output a column CC.ID by default. This is not a problem, you can leave that extra prefix on the output column names. The column ID is required for all tables, except `Student_Email_export.csv`.

  • Source: CC
    Filename: CC_export.csv
    Columns:
    ID
    SchoolID
    SectionID
    StudentID
    Section_Number
    TeacherID
    TermID
    Course_Number
    DateEnrolled
    DateLeft
  • Source: Courses
    Filename: Courses_export.csv
    Columns:
    ID
    Course_Name
    Course_Number
    SchoolID
  • Source: Schools
    Filename: Schools_export.csv
    Columns:
    ID
    Name
    School_Number
  • Source: Sections
    Filename: Sections_export.csv
    Columns:
    ID
    Course_Number
    Grade_Level
    SchoolID
    Section_Number
    TermID
  • Source: SectionTeacher
    Filename: SectionTeacher_export.csv
    Columns:
    ID
    TeacherID
    START_DATE
    SECTIONID
    ROLEID
    END_DATE
  • Source: Students
    Filename: Students_export.csv
    Filter: Active (Enroll_Status = 0)
    Columns:
    ID
    First_Name
    Last_Name
    SchoolID
    Student_Number
    Enroll_Status
    Email_Addr (If your PowerSchool setup uses a different field name for email, change it to use Email_Addr as the output column name. You can also include the Student_Email_export.csv table which includes emails, see below for more information.)
  • Source: Teachers
    Filename: Teachers_export.csv
    Filter: Active (Status = 1)
    Columns:
    ID
    First_Name
    Last_Name
    SchoolID
    Status
    Email_Addr
  • Source: Student Email (optional if Students_export.csv has an email field)
    Filename: Student_Email_export.csv
    Columns:
    Email
    Student_Number

On the filtering step, you may want to add a filter so that it only includes teachers and students that are currently active, and if you are not rostering all students & teachers at all schools you may want to add filters so that only the desired teachers and students are included. Use the provided button in the second to preview what data will be included and adjust your columns and filters as needed.

On the export settings step:

  • set the filename to end with .csv instead of .txt, so the filename for Teachers would be Teachers_export.csv
  • set the line endings to LF
  • set the file encoding to UTF-8
  • leave the header row enabled
  • specify field values should be wrapped in double quotes
  • set the field separate to Comma (instead of Tab)

Once you have created a template, you can visit the saved templates tab and click the calendar button next to that template to schedule it, specifying the SFTP connection you created before as the destination, and a time in the evening (8 PM, for example) to run the job on weekdays.

Note that if you are only interested in rostering Teachers, perhaps because you are using Google Classroom to roster classes, you only need to upload the Schools and Teachers data.

Did this answer your question?