Connect PowerSchool with the Melaa Plugin
For PowerSchool SIS administrators. Your district installs a small read-only plugin that Melaa builds for you. It needs no PowerSchool partner license, no Universal Rostering subscription, and no Clever or ClassLink account. If your district already uses PowerSchool Universal Rostering, the OneRoster connection works too.
What the plugin can read
The plugin asks PowerSchool for view-only access to a fixed list of fields and installs Melaa's queries, which select only active students and current enrollments. PowerSchool shows you every field before you enable it.
| Data | Fields |
|---|---|
| Schools | School number and name |
| Active students | DCID and ID (internal keys), student number, state student number, first, middle and last name, grade level, school |
| Active staff | Name, email address, school |
| Sections in current terms | Course number and name, section number, term and its first and last day, lead teacher |
| Class enrollments | Current enrollments only: student, section, date enrolled, date left |
| Co-teachers | Section, teacher, start and end date |
| Fields you choose | Up to three student fields: state student ID, English learner status, home language |
Never included: contacts and guardians, addresses and phone numbers, birth dates, race, ethnicity and other demographics, health, special education, IEP and 504 data, discipline, attendance and grades. Melaa refuses fields whose table or field name points to that kind of data, even if someone types them in.
What Melaa keeps
- English learners and students already in Melaa. Melaa keeps a student when your English learner field holds one of the values you name, or when the student matches someone already in Melaa (from your ACCESS files) by state student ID, then local student ID. Every other student record is set aside during the sync and never saved to Melaa's database.
- Only yes or unknown. From the English learner field Melaa stores only whether the student is currently an English learner. Any value you did not name counts as unknown, and Melaa never stores a proficiency level from PowerSchool. English proficiency levels come from your ACCESS files.
- Classes and teachers that matter. Sections are kept only when they have a kept student, and teachers only for those sections.
- Name matches need a person. When only a name and grade agree, your Melaa admin confirms or rejects the match in Settings, Roster, Review student matches.
Limit what leaves PowerSchool. Melaa's servers receive every active student the plugin can read and discard the ones it does not keep. If Melaa serves only some of your schools, list their school numbers when you download the plugin: the limit is built into the plugin's queries, so PowerSchool never sends the other schools' records.
Before you start
- A PowerSchool administrator login with rights to install plugins.
- A Melaa district account with an owner or admin login. If your district does not have one yet, contact us first.
- Students already in Melaa from your ACCESS files, ideally with state student IDs.
- The PowerSchool field your state reporting uses for English learner status, the values that mean "currently an English learner", and (optional) the home language field. These differ by state. For example, PowerSchool's state reporting guides list S_MI_STU_GC_X fields for Michigan, S_CO_STU_X.LanguageProficiency for Colorado and S_WI_STU_X.EnglishProfCode for Wisconsin. Confirm the field and its values in your own PowerSchool.
Step 1 - Build and download the plugin
- In Melaa, go to Admin, Settings, Roster Integration and click Connect PowerSchool (Melaa plugin).
- Enter the fields as TABLE.FIELD: the state student ID (usually STUDENTS.STATE_STUDENTNUMBER), the English learner status field and its values, and the home language field. Leave the English learner field blank if you prefer; Melaa then keeps only students it already knows from your ACCESS files.
- Optional: list the PowerSchool school numbers Melaa serves.
- Click Download plugin (ZIP). The ZIP holds plugin.xml, Melaa's queries (queries_root) and their permission mapping (permissions_root). Keep it as one ZIP file.
Step 2 - Install and enable it in PowerSchool
- Open System, System Settings, Plugin Management Configuration (newer versions: System Management, Server, Plugin Configuration).
- Click Install, choose the ZIP file and install it.
- Enable the plugin. PowerSchool lists the fields it asks for; approve them.
- Click the plugin name, then Data Configuration (some versions say Data Provider Configuration), and copy the Client ID and Client Secret. If the page offers a maximum page size for the plugin, 1000 makes large syncs faster; Melaa works with any value.
Step 3 - Test and save in Melaa
- Enter your PowerSchool address (the one staff use to sign in, for example https://yourdistrict.powerschool.com), the client ID and the secret.
- Click Test connection. Melaa signs in, runs each of its queries once, and lists your schools with active-student counts. If you chose an English learner field, it also shows the values that field holds and how many students have each, so you can check the values you entered. Nothing is saved yet.
- Choose which schools belong to this Melaa account and click Save connection. We confirm the connection, usually within one business day; nothing syncs before that. After that Melaa syncs nightly, and Sync Now runs a sync right away.
Changing fields later
Under Roster Integration, open PowerSchool fields, change them and save, then download the plugin again and install it over the old one. The sync notes tell you if the installed plugin does not return a field you chose.
Security
- The client secret is stored encrypted and never shown again. To change it, disconnect and connect again.
- Melaa only calls your PowerSchool over https, refuses private network addresses, and never follows redirects.
- If PowerSchool stops accepting the credentials (for example the plugin was disabled), syncing pauses, the stored secret is deleted, and your Melaa admins get an email. Your data in Melaa stays as it was.
Disconnecting
An owner or admin can disconnect in Settings at any time; Melaa deletes the stored credentials. You can also delete what the sync brought in: students who have ACCESS scores stay in Melaa, unlinked from PowerSchool, and everything else from the sync is removed. Disable or delete the plugin in PowerSchool as well.
Questions: info@melaa.app. See also Data Sharing & Subprocessors.
Questions from your IT team? Email tech@melaa.app.