Every LMS feature page makes integrations sound effortless. Connect to Google Classroom, sync your student information system, hook up SSO. Just check a box, authorize access, done.
Then Monday morning arrives.
The roster sync didn't run. Three students who transferred last week are still showing up in their old class. Grade exports have blank fields. And the IT coordinator is spending six hours not fixing the platform, but manually matching up records between systems that were supposed to talk to each other.
We've heard some version of this story from nearly every school we've talked to.
The Scope of the Problem
We went through negative reviews on G2, Capterra, and Gartner Peer Insights, and integration failures show up in the top three complaints for basically every mid-market education tool. One IT administrator on Capterra described spending six hours every Monday morning fixing sync errors between their LMS and SIS. That's not an integration. That's a full-time job created by a software "feature."
The worst part is that most of these failures are silent. The sync breaks, but nobody gets an alert. Fields stop mapping correctly, no error is thrown. A student's enrollment changes in the SIS while the LMS shows stale data. Nobody knows anything is wrong until a kid says "I can't see my assignment," and by then it's been broken for days.
Why This Keeps Happening
The technical reasons aren't mysterious. They're just never prioritized.
Schema drift. Your SIS vendor pushes an update. The LMS integration was built against last year's API version. Nobody re-tests it. Fields that used to map correctly just... stop. And because the integration was set up once and then forgotten, nobody catches it until data goes missing.
Batch sync gaps. Most integrations sync on a schedule, whether hourly or nightly. Student enrolls Tuesday afternoon, sync runs at midnight, kid can't access materials until Wednesday. If the nightly sync fails and there's no retry? The gap just sits there until someone notices manually.
Zero health monitoring. This is the big one. If you set up a database, you monitor it. A web server, you monitor it. But an LMS integration? There's almost never a dashboard showing whether the sync ran, when it last succeeded, or how many records failed. You're flying blind and trusting that it works.
Token expiry. OAuth tokens expire silently. The admin who set up the connection three months ago may have left the school. The integration just stops working one day with no indication that anything changed.
What This Actually Costs
The IT labor is just the visible part. Factor in teachers losing class time when students can't access materials, administrators chasing down enrollment discrepancies, and the support tickets that take 5-9 business days to get a response. You start to see the real price tag.
Schools paying $150,000-$200,000 a year for their LMS are getting integrations that actively create work. That's a tough bill to justify.
What We Think Integration Should Actually Do
Most platforms treat integration as a checkbox, something for the comparison spreadsheet. We think it should be treated like infrastructure: monitored, maintained, and designed to fail gracefully.
A few things that should be table stakes but somehow aren't:
Show the sync status. A simple dashboard: when did the last sync run? Did it succeed? How many records? If you can't answer these questions at a glance, you're guessing.
Retry automatically. When a sync fails at 2 AM, the system should try again. It shouldn't silently give up until the next scheduled run while the gap compounds.
Tell someone when it breaks. Not buried in a log file. An actual notification to the admin who can fix it. That's the difference between a 10-minute fix and a 6-hour Monday morning.
Validate before syncing. Check that the expected fields exist and contain valid data before writing anything. Catch schema drift before it corrupts your records.
Let people preview changes. Dry runs are standard in DevOps. In edtech integrations? Almost unheard of. They should be.
The Bar Is Embarrassingly Low
Schools have been trained to accept that "integration" means "it mostly works, and when it doesn't, IT handles it." That shouldn't be the standard.
When you're evaluating a learning platform, skip "Does it integrate with our SIS?" and go straight to: "What happens when the integration fails at 2 AM on Sunday? Who finds out first, your team, or a student who can't see their assignment?"