Connect Infinite Campus to BrighterBalance with OneRoster

Connect Infinite Campus to BrighterBalance (OneRoster)

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.

Before you begin

  • You do not need a Campus Learning license. The setup screen lives inside the Campus Learning area, but a roster-only connection like ours does not require the license.
  • BrighterBalance never reads or writes grades. We request roster data only.
  • Parents, guardians, and relatives are never imported.
  • Decide who your BrighterBalance administrator is before you start — they will need the four connection values.

Part 1: In Infinite Campus

Your Campus administrator does the following.

1. Open the configuration screen

Go to Digital Learning Applications Configuration. On older versions of Campus this screen is called Learning Interoperability.

2. Add the application

Select Add ApplicationConnect to Other Applications.

3. Name the application

For the application name, enter exactly:

brighterbalance

Lowercase, 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.

4. Generate the connection

Select Generate New OneRoster Connection.

5. Choose the OneRoster version

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.

6. Set the data toggles

Toggle Setting
Roster data ON
Grade Book Off
Assessment Off

Demographics sharing is not needed.

7. Share the four connection values

Open the Information to Share panel. Send all four of these to your BrighterBalance administrator:

  • Consumer Key
  • Consumer Secret
  • Base URL
  • Token URL

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.

Part 2: In BrighterBalance

Your BrighterBalance administrator does the following.

1. Open the roster settings

Go to AdminSettingsRoster Sync.

2. Start the connection

Under Roster connection, choose the OneRoster API card, then Set up connection.


3. Enter the values and test

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.


4. Map your schools

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.

5. Preview, then import

Run Preview the sync and review the counts. Do the school, student, and staff numbers look right? If yes, select Run initial import.

6. Turn on the nightly schedule

After a successful first import, contact BrighterBalance support and we will enable the nightly sync schedule with you.

Review your staff accounts before activating

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.

Renewing the Consumer Secret (once a year)

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:

  1. Campus administrator: Return to the connection in Digital Learning Applications Configuration and select Renew Secret.
  2. Share the new secret with your BrighterBalance administrator.
  3. BrighterBalance administrator: Go to AdminSettingsRoster Sync and paste it under Replace secret.

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.

Troubleshooting

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.

Getting help

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:

  • Which OneRoster version you selected (1.2 or 1.1)
  • The exact error message, if there is one
  • Whether the connection previously worked, and roughly when it stopped
  • The school or student names involved, if data is missing

Never include your Consumer Secret in a support ticket. If we need it verified, we will arrange a secure channel.

Frequently asked questions

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.