Connectors
PowerSchool
Reads records from PowerSchool SIS — a database table such as students or cc, or a named PowerQuery — and returns them as rows.
When to use it
Use it to pull rosters, enrollments, schools, sections or staff out of PowerSchool for reporting, state submissions, or syncing into another system.
In a pipeline
PowerSchoolSelect ColumnsExport Excel
Settings
| Setting | Type | Required | Default or hint |
|---|---|---|---|
| Connection | select | Yes | Add a connection below |
| Read From | select | Yes | table |
| Table | text | Yes | e.g. students, schools, cc, sections |
| Fields | textarea | — | Comma-separated, e.g. dcid, student_number, first_name, last_name (blank for all the plugin may read) |
| Filter | text | — | e.g. grade_level==9;enroll_status==0 |
| PowerQuery Name | text | Yes | e.g. com.pearson.core.student.search |
| PowerQuery Arguments (JSON) | textarea | — | { "schoolid": 100 } |
| Row Limit | number | — | e.g. 5000 (blank for all) |
Example
Active ninth graders
- Read From=A table
- Table=students
- Fields=student_number, first_name, last_name, grade_level, schoolid
- Filter=grade_level==9;enroll_status==0
| Request |
|---|
| GET /ws/schema/table/students?projection=student_number,first_name,last_name,grade_level,schoolid&q=grade_level==9;enroll_status==0&pagesize=100&page=1 |
| student_number | first_name | last_name | grade_level | schoolid |
|---|---|---|---|---|
| 100231 | Maya | Okafor | 9 | 100 |
| 100245 | Leo | Brandt | 9 | 100 |
Columns keep PowerSchool's lower-case field names; a PowerQuery that joins several tables names them table.field.
Worth knowing
- Setup, once per district: a PowerSchool administrator installs the FlowDoo plugin (the link is on the connection form) under System › System Settings › Plugin Management Configuration, enables it, and copies the Client ID and Client Secret from the plugin's Data Configuration page.
- The plugin decides what FlowDoo may read: a table or field missing from its access request answers with a permission error. Add it to plugin.xml, then reinstall the plugin.
- The Filter uses PowerSchool's query syntax: == equals, =gt= / =lt= / =ge= / =le= compare, ; means AND and , means OR, and * is a wildcard (last_name==Sm*).
- Press Test Connection to check the address and credentials: it lists the tables the plugin can read in the Table dropdown, and choosing a table lists the columns it grants. Pick none to read every granted column.
- Records are read 100 at a time until the Row Limit.
- PowerQuery arguments are JSON sent as the request body, for example {"schoolid": 100}; the plugin must also grant access to the fields the PowerQuery returns.