Connect Your SIS (OneRoster)
For district technology teams. Melaa can read rosters straight from your student information system through the OneRoster 1.1 API, with no Clever or ClassLink account needed. PowerSchool is covered step by step below; Skyward and Infinite Campus use the same connection.
What the connection does
- Nightly roster sync: schools, your English learners, their class sections and enrollments, and the teachers of those sections. A Melaa admin can also run Sync Now.
- Only English learners are kept. OneRoster has no English learner field, so Melaa keeps a student only when your SIS flags them as an English learner in the OneRoster data, or when they match a student already in Melaa (from your ACCESS files) by state student ID or local student ID. Every other student record the SIS sends is set aside during the sync and is never saved to Melaa's database.
- Name matches need a person. When only a name and grade agree, Melaa does not link the records on its own. Your Melaa admin confirms or rejects each one in Settings, Roster, Review student matches.
- What does not come from the SIS: English proficiency levels and ACCESS scores. Your Melaa admin uploads ACCESS files as before. Melaa does not read the OneRoster demographics endpoint (birth dates, race, ethnicity) and never ingests parent or guardian records.
- Teacher sign-in stays with Google, Microsoft or a magic link on the teacher's district email. OneRoster is rostering only.
Limit what the credentials can read. Melaa's servers receive whatever records your SIS shares with these credentials and discard the ones it does not keep, so the less you share, the less leaves your SIS. If your SIS lets you limit the connection to certain schools, do that, and in Melaa pick only the schools that belong to your Melaa account.
Before you start
- An administrator login for your SIS with rights to install plugins or create API connections.
- 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 their state student IDs. That is how Melaa recognizes your English learners in the SIS.
PowerSchool SIS
PowerSchool serves OneRoster through its Universal Rostering service. Your district may need Universal Rostering enabled on its PowerSchool account; check with your PowerSchool representative if the plugin will not register.
Step 1 - Install the Melaa plugin
- Ask us for the Melaa OneRoster plugin file (info@melaa.app). It is a single XML file. If PowerSchool sent you an Opportunity ID for Melaa, have it ready; the file has a place for it.
- In PowerSchool, open System, System Settings, Plugin Management Configuration (in newer versions: System Management, Server, Plugin Configuration).
- Click Install, choose the Melaa plugin file, and click Install. When PowerSchool asks, click Register.
- Enable the plugin.
Step 2 - Data access and credentials
- Click the plugin name, then Data Configuration (some versions say Data Provider Configuration).
- If PowerSchool offers it, raise the pagination limit to 1000. Melaa reads large rosters faster that way; it works with any limit.
- Where PowerSchool lets you choose schools or data, allow the schools that belong to your Melaa account and the rostering data: schools, students, teachers, classes, enrollments and terms. Melaa does not need gradebook or demographics access.
- Copy the Client ID and Client Secret from the OAuth credentials section.
Step 3 - Connect in Melaa
- In Melaa, go to Admin, Settings, Roster Integration and click Connect your SIS (OneRoster). Choose PowerSchool SIS.
- Base URL: https://sis.powerschool.com/api/ims/oneroster/v1p1 (Canadian districts: https://sis.canada.powerschool.com/api/ims/oneroster/v1p1). Leave the token URL blank; Melaa uses the base URL followed by /token.
- Paste the client ID and secret, then click Test connection. Melaa signs in, lists your schools with student counts, and stores nothing 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.
Skyward
- SMS 2.0: create a OneRoster vendor for Melaa (a secured user) and generate its secret. The API URL usually looks like https://your-skyward-server/api/ims/oneroster/v1p1 (hosted districts often have a district-specific path). The key is the client ID. Leave the token URL blank to use the API root followed by /token, or enter the one Skyward shows.
- Qmlativ: under Administrative Access, API, add a OneRoster vendor with OAuth 2.0 integration access and generate the secret (it is shown once). Enter the API URL, token URL, key and secret in Melaa.
Infinite Campus
- In Digital Learning Applications Configuration, add a OneRoster 1.1 with OAuth 2 connection for Melaa and limit it to the schools Melaa needs.
- Campus shows a base URL, token URL, client ID and client secret. Copy all four into Melaa exactly as shown.
- Campus sends the state student ID as a user ID typed stateID, which Melaa reads automatically.
Other SIS and advanced settings
- Any SIS with a OneRoster 1.1 REST API works the same way. Melaa supports OAuth 2.0 client credentials and the older OAuth 1.0a signed requests; Test connection detects which one your SIS uses.
- State student ID location. By default Melaa reads a user ID typed as a state ID, then the identifier field. If your SIS keeps it elsewhere, set it under Advanced in the connect form.
- English learner flag. If your SIS sends an English learner flag in the OneRoster metadata, Melaa uses it. You can name the exact field under Advanced.
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 the SIS, and everything else from the sync is removed. Disable or remove the plugin in your SIS as well.
Questions: info@melaa.app. See also Data Sharing & Subprocessors.
Questions from your IT team? Email tech@melaa.app.