Sync Classrooms from Google Classroom (Beta)
Connect your Google Classroom account to import courses as Berdee classrooms with their rosters. Berdee re-syncs each class about every 6 hours to add new students, and Sync from Google syncs it now. This integration is in beta.
Sync classrooms from Google Classroom
This feature is in beta. Roster sync is built and working, but we have not yet run it against enough real school and district Google accounts to promise it will behave the same on yours. School Workspace tenants vary a lot in how they lock down Classroom. Try it, and tell us what happens. If anything looks wrong, you can always add students by hand; nothing in the rest of Berdee depends on sync.
If you already maintain your courses in Google Classroom, you don't have to retype the roster into Berdee. Connect your Google account once and Berdee imports each course as a classroom with its students. After that, Berdee checks each class again about every 6 hours, so a student you add in Google Classroom on Monday morning is usually in your Berdee class by lunch. Press Sync from Google when you want it right away.
Syncing only ever adds students. When a student leaves your Google course, Berdee tells you and lets you review them, but it never removes anyone by itself.
This article covers what the integration does, how to set it up, and how to handle the situations that come up over time (students leaving, students you removed, you losing access, your Google account changing).
What gets synced
The integration is intentionally narrow. Berdee reads three things from Google:
- The list of your active Google Classroom courses
- The roster (students) for each course you choose to import
- Each student's name and email address
That's it. Roster sync does not read assignments, posts, grades, materials, or anything else from Google Classroom. It's one-way, Google → Berdee: it never changes your classes or rosters in Google.
The only things Berdee writes to Google Classroom are lessons you choose to post there when you assign them and, if you choose, each student's score on those lessons as a draft grade. To send scores, Berdee reads the student work on its own Classroom assignments, so it can match each student and leave alone any grade you've changed. See Post Lessons to Google Classroom.
Connect your Google account
Open the Classrooms page. If you haven't connected yet, you'll see a Google Classroom panel under the heading with a Connect Google button.
Clicking the button sends you to Google's consent screen. Google will ask you to confirm three permissions:
- See the names of your classes
- See the names and email addresses of students in your classes
- See your basic profile (so we can record which Google account is connected)
Once posting lessons is available on your account, Google also asks for a fourth permission, Manage coursework and grades in classes you teach, which lets Berdee post lessons to your Classroom course and send scores as draft grades. If you connected before that, you'll be asked to reconnect once the first time you post.
Approve, and Google sends you back to Berdee. A message confirms that Google Classroom is connected, and the panel shows Connected as your-email@school.edu, with two buttons: Import courses and Disconnect.
If Google shows a warning. Google is still reviewing Berdee, so its screen may say the app isn't verified. Choose Advanced, then Continue to Berdee. If Google says Access blocked instead, contact us with the Google account you're using and we'll help you connect it. Your school's Google admin can also limit which apps may use Classroom; if so, ask them to allow Berdee.
If you choose Cancel on Google's screen, or something goes wrong on the way back, Berdee shows a message saying Google Classroom wasn't connected. Nothing is changed: press Connect Google to try again.
Import your courses
Click Import courses. Berdee reads your list of active Google Classroom courses and, for each one, either:
- Creates a new classroom in Berdee (if you've never linked that course before), or
- Reuses the existing Berdee classroom that's already linked to that course
For each new or existing classroom, Berdee then pulls the current roster and adds any new students.
When the import finishes, you'll see a summary like _"Created 3 classroom(s), reused 1, with 84 students added across them."_ The classroom grid below the panel refreshes so the new classrooms show up immediately.
You can re-import any time. Re-importing is safe: courses you already linked stay linked, and new students in Google are added.
The "Synced" badge
In the classrooms grid, any classroom that came from Google Classroom shows a small Synced pill next to its name. Classrooms you created manually in Berdee do not have this badge. The distinction matters because sync only manages students who came in through the Google integration. Students you added by hand are never affected by it.
Rosters stay up to date on their own
You don't have to remember to sync. About every 6 hours, Berdee checks each Google-linked class against Google Classroom and adds any new students, exactly as Sync from Google would. Each new student gets the same invitation email a sync you start yourself sends, so they can sign in. They're also assigned every lesson you posted to that class's Google Classroom, since Classroom already shows it to them.
The classroom page header says when the roster last came from Google, for example "Roster updated from Google 2 hours ago". If the last sync didn't go cleanly, a short notice under the header says what happened, such as _"2 new students weren't added: your plan's student limit."_ When several things need your attention, the notice shows the most urgent one, and +N more lists the rest.
Automatic syncs never remove a student. If someone left your Google course, you'll see it on the class page and decide for yourself (see Students who left Google Classroom).
Sync a classroom now
Open a synced classroom and you'll see a Sync from Google button in the header. Press it when you've just changed the roster in Google and don't want to wait for the next automatic sync.
It pulls the current roster from Google for that one course and compares it with your Berdee class:
- New students in Google are added to the Berdee classroom, and get an invitation email so they can sign in.
- Students who left the Google course stay in your Berdee class for now. They're listed for you to review.
- Students you kept out of syncs (because you removed them in Berdee) are skipped. See Students kept out of syncs.
- Students you added by hand in Berdee are left alone, whatever Google shows.
If any students couldn't be synced (most often because their email belongs to a Berdee account that isn't a student account, such as an educator's), they appear in a small error list with the email and reason. The rest of the sync still completes.
Pressing Sync more than once is safe. It also restarts the clock: the next automatic sync for that class comes about 6 hours later.
Students who left Google Classroom
When a student is no longer in your Google course, the class page says so, for example _"2 students left Google Classroom."_, with a Review 2 students button. Nothing has changed yet: the students are still in your Berdee class and can still open their lessons.
Press Review 2 students to see who they are. The dialog names each student and explains that removing them closes their lessons here and that their past work is kept. If that's what you want, press Remove 2 students and close their lessons.
Before removing anyone, Berdee checks Google Classroom once more:
- A student who has come back to the Google course in the meantime is kept. The dialog tells you, for example _"1 student is back in Google Classroom and was kept."_
- If Berdee can't reach Google Classroom, nobody is removed. You'll see _"We couldn't check Google Classroom. Try again."_
Removing a student this way works like Remove from class:
- They leave this class only. Their other classes are untouched.
- The lessons you assigned through this class close, and their access codes stop working.
- They stay on your Students list, and their past attempts and scores stay in your records.
- Later syncs keep them out of this class, even if they're still in the Google course.
Don't want to remove them yet? Leave the notice. A student who rejoins the Google course drops off the list on the next sync.
Students kept out of syncs
When you take a Google student out of a class in Berdee, Berdee remembers it, so no sync, automatic or manual, puts them back. This covers students you:
- removed with Remove from class, or through Review N students above
- removed with Remove from my account (how that works)
- had erased, at the school's or a parent's request
You don't need to remove them in Google Classroom as well.
The class page shows how many students are kept out, for example _"2 students are kept out of Google syncs."_, with a Review button:
- Students you removed from this class are listed by name, each with Add back. Pressing it lets syncs include them again and syncs the class straight away. Assign the lessons again and they get new access codes, with their earlier attempts still attached.
- Students removed from your account, or whose Berdee data was erased, appear only as a count, for example _"1 student isn't synced because they were removed from your account or their Berdee data was erased."_ Berdee no longer has their name, so they can't be added back with a click. If one of them should be in your class again, contact us.
At your plan's student limit
A sync still runs when your plan's student limit is full. Students already in the class stay, students who left are listed for review, and new students from Google are skipped. The class page then says something like _"2 new students weren't added: your plan's student limit."_, with a link to the plans. Upgrade, or remove students you no longer teach, and the next sync adds them.
Renaming, deleting, or removing a synced student
- Rename a synced classroom in Berdee whenever you like; syncing keeps your name.
- Delete a synced classroom and Berdee unlinks it from Google. Importing from Google later creates it again as a new, empty class. See Edit and Remove Students and Classes.
- Remove a synced student from a class or your account in Berdee, and syncs keep them out from then on (see Students kept out of syncs).
- A synced student's email comes from Google, so change it there. You can still fix their name in Berdee.
Manually-added students never get removed
Sometimes you'll have a student who isn't in your Google Classroom course but should be in your Berdee classroom (an aide observing the work, a student catching up between schools). When you add them through Berdee's normal Add Student flow, they have no Google connection.
Sync leaves these students alone. You can mix Google-imported and manually-added students freely in the same classroom. Sync only manages the students who came through the integration.
When something goes wrong
There are a few cases where the integration stops until you take an action.
The panel says "Google Classroom needs to be reconnected." This means Google stopped letting Berdee read your classes. The panel says why in plain words. The most common causes:
- You removed Berdee's access in your Google account (
myaccount.google.com/permissions) - Your Google account password changed
- The Google account hasn't been used for several months
When this happens, Berdee sends you one email, "Reconnect Google Classroom", and the automatic syncs for all your linked classes stop. Your classes and rosters stay as they are. Click Reconnect and approve Google's screen again. Syncing then resumes, and your linked classrooms stay linked.
The class page says "This course is no longer in Google Classroom." The course was deleted in Google Classroom, so Berdee stops syncing that class. The Berdee class, its students and their work stay as they are, and you can keep using it like any class you made in Berdee.
The class page says "We couldn't update the roster from Google. We'll try again." Google didn't answer, or answered with an error. Berdee tries again on its own, waiting a little longer after each failed try. Press Try now to sync straight away. If it keeps failing, contact us.
Sync shows an error for a specific student. The most common reason is that the student's email address already belongs to a Berdee account that isn't a student account, such as an educator's. The list says _"This email can't be added as a student. Use the student's own school email."_ Only student accounts can join a roster, so we skip that one student and the rest of the roster still syncs. Resolution: make sure the student is enrolled in Google Classroom with their own school email, not a teacher's or staff address, then sync again.
A student you added in Google hasn't appeared. Automatic syncs run about every 6 hours, so give it time, or press Sync from Google. If they still don't appear, check whether they're on the class's kept-out list (you removed them earlier) or whether the notice says your plan's student limit stopped them.
You don't see the Sync button on a classroom. Two possibilities:
- The classroom isn't linked to a Google course (it doesn't have the Synced pill). The Sync button only appears on Google-linked classrooms.
- Your Google connection needs reconnecting. The Sync button is hidden in that case and replaced with a Reconnect Google Classroom to sync this roster link, since pressing Sync would just fail.
Import or Sync says it couldn't finish. Google may have been slow to answer. Wait a minute and press the button again; it's always safe to repeat. If Google has stopped Berdee's access, the page usually switches to the reconnect prompt after the failed attempt; press Reconnect. If it keeps failing and no reconnect prompt appears, contact us.
If the message says the feature is part of a paid plan, or that you've reached your plan's limit for classrooms, reconnecting won't help: upgrade your plan, or remove classrooms you no longer use.
Import finished, but some classes didn't sync. Import keeps going when one class fails, and the panel lists the classes that didn't sync. Press Import courses again to retry them; classes that already came in are reused, not duplicated. If the panel says your plan's student limit stopped a class, retrying won't help: upgrade your plan to bring in the rest. The list stays on screen even if the panel switches to the reconnect prompt.
It says you've imported or synced several times in a row. Import, Sync, and Disconnect each have a per-person limit that protects our shared access to Google. Normal use doesn't come close. The message says roughly how long to wait before trying again.
Disconnecting
Click Disconnect on the Classrooms page panel. Berdee revokes our access at Google (so the refresh token is invalidated at Google, not just in Berdee) and removes the stored connection.
After disconnect:
- Your Berdee classrooms stay where they are. Their rosters are not changed, and automatic syncs stop.
- The Synced badge stays: the classrooms are still _linked_ to their Google courses, just not syncing. You'll see a Reconnect Google Classroom to sync this roster link instead of the Sync button.
- All your other Berdee work (lessons, assignments, attempt history) is unaffected.
You can reconnect later (same Google account or a different one) and pick up where you left off.
Account deletion
Deleting your Berdee account also deletes your students' records. A student who isn't in another teacher's class on Berdee is deleted along with all their lesson attempts and answers. A student who also belongs to another teacher keeps their account and that teacher's work; only your class rosters and assignments are removed from them.
If you delete your Berdee account, we also automatically revoke our Google access on the way out. The refresh token is invalidated at Google so it can't be used even if anyone got hold of our database. The connection row in our system is hard-deleted (not just anonymized), so the encrypted tokens don't sit around in any backup snapshot.
Privacy and data handling
A few specifics, since the data is sensitive:
- Tokens at rest. Your Google access and refresh tokens are stored encrypted with per-row authenticated encryption, so a leaked single ciphertext can't be replayed against any other educator's row.
- Tokens in transit. Tokens never appear in URLs, query strings, or logs. They live only in request bodies over TLS.
- Student PII. We store the same fields you'd see in Google's UI: name and email. Nothing more. Names and emails are never echoed into error messages or log lines.
- Students kept out of syncs. To recognise a removed or erased student without keeping their Google account id, Berdee stores a keyed, one-way scramble (a hash) of that id for each class. It can't be turned back into the id, and it carries no name or email.
- Scope. Roster sync uses read-only Classroom scopes for your classes and rosters. To post lessons and send scores, Berdee also asks for permission to manage coursework and grades in classes you teach. It uses that only to create the Classroom assignments you post, to set draft grades on them when you choose to send scores, and to delete one when you ask. It never returns work, never sets a returned grade, and never edits your classes, rosters, or other assignments.
- Scores. A score goes to Classroom only for a lesson you posted with Send scores to Classroom as draft grades, only to your own Classroom course, and only as a draft you review and return. Berdee's records of which scores it sent hold no Google account id, and they're deleted when a student is erased.
When sync isn't the right tool
Sync is great for the recurring case of "my course is in Google Classroom, I want it in Berdee too." It's overkill for these:
- A one-time bulk import of historical students who are no longer enrolled. It's easier to add them manually and let them stand alone.
- A classroom you want to manage purely in Berdee with no link back to Google. Just create it with New Classroom.
- A roster that lives somewhere other than Google Classroom (Clever, ClassLink, district SIS). Those integrations aren't part of this feature.
For the recurring "Google is the source of truth" workflow, though, this is the right path: connect once, import your courses, and new students in Google Classroom show up in Berdee on their own. When students leave, you review them with one click.
Next: Post Lessons to Google Classroom, so students find your Berdee lessons in their Classroom stream.