Integrations

How to sync Blackbaud Education Management with Kastr

Kastr has no Blackbaud connector and is not a Blackbaud partner. What works is an OAuth2 client against the SKY API, a nightly job that reshapes users, roles and relationships into Kastr's roster form, and a POST. This page is that map, plus two things an independent school's business office will want stated before a board meeting: where our pricing actually starts, and what we will never do with your families.

Last reviewed 2026-08-04 ยท Kastr is pre-launch; we publish dated status rather than logos.

SKY API resources to Kastr objects — what to pull, what it becomes, and where the secret goes
SKY resourceBecomes in KastrCarry acrossWatch for
Users (student role)Person with an effective-dated student roleStable user ID, legal and preferred name, schoolPreferred name is the one families expect to see in a message
Users (parent role)Person with a guardian roleStable user ID, email, phone with typeOne adult is frequently a parent at two divisions — one identity, two roles
Users (faculty/staff role)Person with a staff roleStable user ID, work email, mobileStaff who are also parents must not become two people
RolesEffective-dated role rowsRole type, start and end datesAlumni and past-parent roles should not be carried into a comms roster
RelationshipsGuardian edges with a rankRelationship type, both user IDs, directionThe rank decision is yours and it decides who gets the emergency call
Enrolment / grade levelOrganisation placement in the hierarchyDivision, grade, academic yearLower, middle and upper school are usually separate organisations
OAuth2 client secretNowhere in KastrA reference onlyConnector configs hard-reject a pasted literal credential

Resource names and availability vary by Blackbaud product, module licensing and API version; treat this as where to start asking rather than a contract. The consistent part is the destination shape, which is documented at the OneRoster page and does not change based on where the data came from.

Relationship types, and who actually gets the call

Independent schools handle household complexity constantly — divorced parents in separate households, a grandparent who does the school run, a guardian who is not a parent, an emergency contact who must never receive routine mail. Blackbaud carries that structure. The job is to translate it into guardian edges and a contact rank that produces the right recipient list at 5:40am on a snow day.

  • Parent, lives with student → guardian edge, rank 1. Receives everything.
  • Parent, separate household → guardian edge, rank 1 as well, unless a court order says otherwise. Both parents generally retain access to records and to communication; the default should be inclusion, and exclusion should require a documented reason.
  • Step-parent or partner → guardian edge, rank 2, if the family has asked for it. Confirm rather than assume.
  • Grandparent or other caregiver acting as guardian → guardian edge, rank 1 or 2 depending on the arrangement. Where they do pickup but not decisions, rank 2 with routine sends included is usually right.
  • Emergency contact only → a contact point, not a guardian edge. They should not receive newsletters, and a system that cannot tell the difference will annoy them into unsubscribing before the day you need them.
  • Alumni parent, past parent, trustee, donor → not in the comms roster at all. Filter these out at the extract, not afterwards.

One structural advantage worth knowing about: Kastr models one person with many effective-dated roles rather than one account per hat. A teacher whose two children attend the school is a single identity with three roles, so she is not messaged three times, and when her staff role ends in June the guardian roles are unaffected. Split households and staff-who-are-also-parents collapse correctly rather than needing manual de-duplication every August.

Fit, stated plainly, for a school under 1,000 students

An honest answer rather than a sales one. Kastr's published pricing starts at $3.50 per student per year for districts under 5,000 students, and the price list is built for public districts. A school of 400 students is below the band the pricing was designed around. That does not make it impossible — it means the annual number is small enough that we would rather you understood the whole commercial picture before deciding, and it means you should ask us directly rather than reading a tier off a page.

What an independent school board tends to care about, and where each sits:

  • Price certainty. One tier, everything included. No per-message fees, no per-module charges, no integration fee. Fixed for 36 months, and from year four capped at the lesser of CPI-U or 5% under clause 3.2 of the agreement. A board that has been through a mid-term price increase with another vendor will recognise why that clause exists.
  • Data portability. Clause 7.1 gives you the right to export everything, machine-readable, at any time and without fee. Be clear about what that is and is not: it is a contract right, and the self-serve tooling to exercise it in one click has not been built. Today it is a request we fulfil, not a button you press.
  • Change of control. Clause 11.2 gives you an exit if Kastr is acquired. Independent schools ask this question more often than districts do, and it is a reasonable question given what has happened to this category.
  • What we are not. Kastr is pre-launch, is not SOC 2 audited, has no customer references and no case studies to offer you, and has no SSO of any kind — magic link is the only authentication, for staff and families alike. If your board requires SAML or MFA, we are not a fit today and we would rather say so in writing.

The advancement boundary, and what the sync does not touch

In an independent school the fundraising database frequently sits next to the academic one, sometimes in the same product family, and the reasonable worry is whether a communications vendor becomes another party with an interest in your families' wallets.

The position is contractual rather than aspirational. Clause 9.4 of our agreement prohibits monetising family data, ever — no advertising, no data sales, no marketing to families, no premium family tier, no upsell inside a school message. Kastr generates no family-facing revenue by design; the district or school is the only customer. That clause exists because the incentive it removes is the one that has damaged this category most.

Operationally the boundary is just as blunt. Only pull what a comms roster needs: users, roles, relationships, contact points, enrolment. Do not pull giving history, do not pull constituent records, do not pull anything from an advancement module. There is nothing in Kastr that would use it, and a field you did not export is a field nobody has to reason about later. The connector is one-directional in any case — Kastr never writes back to Blackbaud, not contact corrections, not message logs, not anything.

The mechanism from there is the same as everywhere else on this site: a scheduled job on your infrastructure POSTs to POST /api/v1/roster/sync; the diff engine hashes each record with SHA-256 and classifies add, change, unchanged or withdraw; a run that would withdraw more than half of active records aborts with aborted_guardrail and writes nothing. Run --dry-run for the first three nights and reconcile the counts against Blackbaud before it goes live. For a school of 600, expect a day of one person's time, most of it spent deciding contact ranks rather than writing code.

Questions people actually ask

Does Kastr connect to Blackbaud's SKY API directly?

No. There is no Blackbaud connector and no partnership. Your school writes an OAuth2 client that pulls users, roles and relationships, reshapes them into Kastr's roster form, and POSTs the result to a documented endpoint. The job runs on your infrastructure with credentials you hold; Kastr never authenticates to Blackbaud and the client secret never enters a Kastr connector config, which rejects pasted literal credentials outright.

Is Kastr appropriate for an independent school under 1,000 students?

Possibly, but our published pricing starts at the under-5,000 band at $3.50 per student per year and was designed around public districts, so a school of 400 sits below the shape the price list assumes. Ask us directly rather than inferring a number. Also weigh the gaps honestly: no SSO or MFA of any kind, no SOC 2 audit, pre-launch, and no customer references to give you.

Will Kastr touch our advancement or donor data?

No, and you should not export it. Pull only users, roles, relationships, contact points and enrolment. Beyond that, clause 9.4 of our agreement prohibits monetising family data in any form — no advertising, no data sales, no marketing to families, no premium family tier. Kastr generates no family-facing revenue by design, and the sync is one-directional so nothing flows back into Blackbaud either.

How are Blackbaud relationship types turned into who receives an emergency message?

Each relationship becomes a guardian edge with a rank you decide. Parents in both households are normally rank 1 unless an order says otherwise; step-parents and caregivers are rank 2 where the family has asked; emergency-only contacts become a contact point rather than a guardian edge, so they are not included in routine sends. One person holds many effective-dated roles, so a teacher with two children enrolled is one identity rather than three records.

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.