BrighterBalance can roster your schools, students, and staff automatically from Infinite Campus using the OneRoster API. Once connected, your rosters refresh nightly — no CSV uploads, no manual account creation.
Who does what: Setup takes two people and about 20 minutes total.
| Role | What they do | Where |
|---|---|---|
| Infinite Campus administrator | Generates a connection and shares four values | Infinite Campus |
| BrighterBalance administrator | Pastes those values, maps schools, runs the first import | BrighterBalance |
These can be the same person if they have access to both systems. If not, plan to do it together on a screen-share — one of the four values is a secret that should not travel by email.
Your Campus administrator does the following.
Go to Digital Learning Applications Configuration. On older versions of Campus this screen is called Learning Interoperability.
Select Add Application → Connect to Other Applications.
For the application name, enter exactly:
brighterbalanceLowercase, one word, no spaces. This name becomes part of the connection URLs, and keeping it uniform across districts lets our support team recognize your setup immediately.
Select Generate New OneRoster Connection.
Pick OneRoster 1.2 if your version of Campus offers it. Choose 1.1 only if 1.2 is not available.
Make a note of which one you picked — your BrighterBalance administrator selects the same version in Part 2.
| Toggle | Setting |
|---|---|
| Roster data | ON |
| Grade Book | Off |
| Assessment | Off |
Demographics sharing is not needed.
Open the Information to Share panel. Send all four of these to your BrighterBalance administrator:
Handle the Consumer Secret carefully. It is a credential — treat it like a password. Share it by screen-share or through your district's secure channel rather than plain email. BrighterBalance support will never ask you to send it in a support ticket.
Your BrighterBalance administrator does the following.
Go to Admin → Settings → Roster Sync.
Under Roster connection, choose the OneRoster API card, then Set up connection.
Paste the four values exactly as Campus displayed them — including the URLs. Do not trim, retype, or clean up the URLs. Select the same OneRoster version your Campus administrator chose, then press Test connection.
A successful test shows your district's name. If it does not, see the Troubleshooting section below.
Select Save connection, then open School mapping and match each Campus school to its BrighterBalance school.
Unmapped schools are held. Nothing imports from a school until you map it. This is intentional — it lets you roll out school by school if you want to.
Run Preview the sync and review the counts. Do the school, student, and staff numbers look right? If yes, select Run initial import.
After a successful first import, contact BrighterBalance support and we will enable the nightly sync schedule with you.
This step matters for data privacy — please do not skip it.
Teachers and instructional aides arrive as teacher accounts, pending activation. They take no license seat and cannot sign in until you activate them.
Campus "administrators" arrive as admin accounts, also pending activation — and this is the part districts are most often surprised by.
In Infinite Campus, "administrator" means any staff member with a non-teaching District Assignment. That includes counselors, front office staff, food service workers, and others who have no reason to see student behavior data.
Activating an administrator account grants organization-wide admin access to your behavior data. Review every pending administrator individually before activating. If someone should not have that access, simply never activate them — leaving an account pending is a complete block, and it costs you nothing.
Your Consumer Secret expires, typically after one year. When it expires, nightly syncs stop with an authentication error.
This is the single most common reason a working connection stops working. The fix takes about two minutes:
Nothing else needs to change — the key and URLs stay the same.
Tip: Put a calendar reminder on the expiration date now, while you are thinking about it.
| What you are seeing | Most likely cause | What to do |
|---|---|---|
| Test connection fails | A value was edited, truncated, or has a trailing space | Re-copy all four values directly from the Information to Share panel |
| Test connection fails | Wrong OneRoster version selected | Confirm both sides are set to the same version (1.2 or 1.1) |
| Students are missing | Their school is not mapped yet | Open School mapping and map the school |
| Students are missing | Campus's External LMS Exclude flag is set | Check the flag on the student, section, or calendar in Campus |
| Sync worked, then stopped | The Consumer Secret expired | Follow the Consumer Secret renewal steps above |
| Staff cannot sign in | Their account is still pending activation | Activate them in BrighterBalance |
| Counts look wrong in Preview | Partial school mapping, or exclude flags | Review mapping first, then exclude flags |
Campus's built-in API explorer can help confirm exactly what data your connection is serving. Your Campus administrator can find it at the connection → Troubleshooting Documentation.
Contact BrighterBalance support first for anything sync-related. Connections created through Connect to Other Applications are not covered by Campus Support's troubleshooting, so they will not be able to help with this integration.
When you reach out, it helps to include:
Never include your Consumer Secret in a support ticket. If we need it verified, we will arrange a secure channel.
Do we need a Campus Learning license?
No. The screen lives in the Campus Learning area, but a roster-only connection does not require the license.
Can BrighterBalance see our grades?
No. We request roster data only, and the Grade Book and Assessment toggles stay off. There is nothing to turn on later that would change this.
Are parents or guardians imported?
No. Parents, guardians, and relatives are never imported.
What happens when a student transfers or withdraws?
The nightly sync picks up the change from Campus. You do not need to do anything manually.
Do imported staff accounts cost us license seats?
Not while pending. Accounts only count once you activate them.
Can we start with one school and add others later?
Yes. Only mapped schools import. Map one school, run your import, and add the rest when you are ready.
What if we already added students manually?
Talk to BrighterBalance support before running your first import so we can plan how existing records and incoming roster data should reconcile.