How to sync Synergy SIS (Edupoint) with Kastr
Synergy districts tend to be large and frequently sit under a county office, which makes two questions unusually important: how contact rights translate into who may be messaged, and who can see whose data when several districts share a tenancy. This page answers both, and draws the line between ParentVUE and a communications platform so you do not pay twice for the same job.
| Synergy indicator | Legal meaning | Guardian edge? | Routine sends | Emergency sends |
|---|---|---|---|---|
| Educational rights | May receive student records and act for the student | Yes | Yes | Yes |
| Guardianship / custody | Legal custody of the student | Yes | Yes | Yes |
| Release-to, no educational rights | May collect the child, no records access | Non-guardian contact | No | Yes |
| Emergency contact, sequence 2+ | Call if primaries do not answer | Non-guardian contact | No | Yes, in rank order |
| Lives with, no rights | Household member | Recorded, ranked low | District choice | Yes |
| Restricted contact | Court order or district restriction | Nothing created | No | No |
| Correspondence opt-out | Declined routine mail | Yes | No | Yes |
The release-to row is the one that catches people. An adult authorised to collect a child from the office is not automatically an adult who should receive a message about that child's attendance record. Synergy distinguishes the two; a lot of communication tools do not, and the result is a records-access problem rather than a nuisance.
Getting the data out of Synergy
Two practical routes, and the choice is mostly about which team does the work.
Query and Report Designer. Synergy's reporting layer can produce a scheduled extract of students, enrolments, contacts and contact indicators, delivered to a district-controlled location. This is the route that requires no new licensing and no vendor conversation, which for many districts settles it.
Edupoint's OneRoster output through a broker. If your district already publishes to Clever or ClassLink, that feed exists and is normalised. Use it for students, staff and sections. Add a supplementary contacts extract for guardian phone numbers and the indicator fields in the table above, because those are exactly what OneRoster covers least well.
Kastr does not require Synergy's OneRoster module. It requires a file. A row per student-contact pair, with the indicators carried through, is entirely sufficient, and one POST /api/v1/roster/sync per night is the whole integration.
Run it with --dry-run until the counts reconcile. Each record's payload is SHA-256 hashed and compared with the stored hash, so a run where nothing changed writes nothing and reports 100% unchanged — which is a useful signal in itself when you are debugging a schedule.
Where ParentVUE ends and Kastr begins
The question a Synergy district always asks, usually in the third meeting: we already have ParentVUE, what is this for?
They do different jobs and the boundary is clean once stated. ParentVUE is a portal: it is where a parent goes to look at grades, attendance detail, assignments and records that should sit behind an authenticated session. It is pull. It is authoritative. It is gated for good reason.
A communications platform is push. It reaches a family that has not logged into anything, on a channel they already read, in a language they read it in, on a Tuesday when the boiler failed and school starts two hours late. Those are not the same product and neither substitutes for the other.
The practical test: if the message is about one student's record, it belongs in ParentVUE. If the message is time-critical and needs to arrive whether or not anyone opens an app, it belongs in a messaging system. Attendance is the interesting middle — the detail belongs in ParentVUE, the "your child was marked absent from period 3" nudge belongs in messaging. Being straight about our side of that: Kastr's auto-notice rules configure but no engine fires them yet, so today an attendance nudge is a message somebody composes.
County offices, multi-district tenancy and who sees what
Synergy's install base skews toward county offices of education and multi-district deployments, which makes tenancy a procurement question rather than an implementation detail.
Kastr's isolation is enforced in Postgres rather than in application code. Every transaction runs under a non-owner, DML-only database role with row-level security policies attached, so a query that forgets a filter returns nothing rather than everything. The policies are hierarchy-aware: a district sees its own rows and its child schools' rows, never a sibling district's. With no organisation context set, policies evaluate against NULL and return zero rows — it fails closed rather than open.
What a county office can and cannot see. A county office configured as the parent organisation sees its member districts' rows. A member district sees its own and its schools', and cannot see a sibling district's at any level, including through the API and the CLI. The cross-tenant leakage test suite runs in continuous integration against a real Postgres 16 instance, and includes a regression check specifically for the owner-role bypass, which is the way this control usually fails quietly elsewhere.
If your county structure is more complicated than parent-and-children — shared programmes, students enrolled across two member districts, a JPA arrangement — raise it early. The model handles hierarchies; it does not handle every governance arrangement automatically.
Delivery behaviour worth knowing before you sign
Once the roster is in, three behaviours shape what families actually experience:
- Quiet hours, default 21:00 to 07:00. Ordinary messages queue until morning. Emergency-flagged messages ignore quiet hours, and the ability to flag a message as emergency is a capability granted to specific people rather than a checkbox everyone has.
- SMS to voice failover. When an SMS fails terminally, the system can place a voice call to the same person, with the relationship between the two attempts recorded so your delivery report shows what actually happened rather than a bare failure.
- Cost and reach preview. The composer shows a live per-channel estimate as you tick channels, before you send. It is the feature we are most surprised nobody else has, and it changes behaviour: people stop adding voice to a routine newsletter once they can see the number.
What we do not have and Synergy districts sometimes assume: attachments, photo and video sharing, mobile push notifications, and single sign-on of any kind. Staff and families authenticate with a magic link or not at all.
Questions people actually ask
Does Kastr replace ParentVUE?
No, and it should not. ParentVUE is an authenticated portal for records — grades, attendance detail, student-specific documents. Kastr is push messaging for announcements, closures and emergencies over SMS, voice and email. The test is whether the message needs to arrive whether or not anyone logs in. If it does, it is not a portal job.
How does Kastr treat a Synergy contact with release-to rights but no educational rights?
They are recorded as a non-guardian contact. They can be reached for emergencies, in rank order, and they do not receive routine sends about the student. The distinction matters because an adult authorised to collect a child is not automatically an adult authorised to receive information about that child's record.
Can a county office of education see member-district data in Kastr?
Yes, if it is configured as the parent organisation, and only downward. Isolation is enforced by Postgres row-level security under a non-owner role, hierarchy-aware, and it fails closed when no organisation context is set. A member district cannot see a sibling district's data through the interface, the API or the CLI, and the cross-tenant test suite runs against real Postgres in CI.
Which Synergy export gives me guardian mobile numbers?
A Query or Report Designer extract built against the contact records, including phone type and the contact indicators. If you take the broker OneRoster route instead, expect guardian contact coverage to be thin — that is a weakness of the standard rather than of Synergy — and plan on a supplementary contacts file.
Does Kastr require Synergy's OneRoster module?
No. Kastr requires a file containing students, guardians, the relationship between them and contact points with their types. A scheduled Synergy extract satisfies that completely. OneRoster is convenient if you already have it, not a prerequisite.
One price. Every feature. Locked for three years.
$3.50 per student per year under 5,000 students. No tiers, no add-on modules, no per-message fees. Published on the site because you should not have to book a call to learn a price.