For Companies & Schools
Onboarding Refresh, Public Data self-management, and sync improvements
Over the past couple of weeks we've shipped an Onboarding Refresh, expanded Public Data self-serve tooling, and improved several dashboard workflows. Highlights include multi-resource LTI deep linking, richer sharing-rule filters, clearer product/key management, and a round of LMS/SIS sync fixes.
API Updates
- Public Data: Institution and company detail responses now include parent/child relationship data, and list endpoints support expanding
children. See the Institutions and Companies docs. - LTI Deep Linking: Resource selection can now return multiple attachments in a single
postMessagepayload via anattachmentsarray. See the Deep Linking guide. - Audit Logs: List Events now uses our standard paging cursors, and Create Event surfaces
$warningsfor ignored or invalid context fields. - Products: Creating or updating a product with a duplicate code now returns a clear
ALREADY_EXISTSerror instead of a generic failure.
Dashboard Updates
- Onboarding Refresh: Updated provider onboarding flows (including Infinite Campus and generic OneRoster); fixed OneRoster getting stuck on timezone after credentials; fixed the Qmlativ validate button when a secret is entered; restored PowerSchool plugin download links; dashboard team creation can pick a company or institution (with a pending claim) or keep a custom name; pending invitations are listed during onboarding; sandbox creation prompts for an application when a team has more than one.
- Public Data: Teams can self-manage claimed institutions and companies (including addresses, offerings, and relationships), and complete Public Data API setup from team claims. A copy-publishable-key step is included in the setup flow.
- Sharing rules: Added
person_racesfilters, fixed English learner and economically disadvantaged lookups, and exposedMATCHES ANY OFfor custom properties plusIS KNOWN/IS UNKNOWNfor school name. - Team settings: Refactored team settings for a clearer configuration experience.
- Secret & publishable keys: Redesigned application key management for faster copy/create/delete.
- Tables: Migrated dashboard tables to a compositional table component with persistable column visibility and order (View Settings).
- Feedback: Added a Feedback & Bugs button in the dashboard breadcrumbs to submit product feedback.
- Widgets: Fixed embedded widget sizing so widgets render at the intended dimensions.
- Integrations: Restored district/developer team names on the integrations list; fixed Share Products so already-shared products are shown as disabled; fixed custom transformation save/delete edge cases.
- FACTS: Added a feature-flag toggle in source settings.
Pipeline Updates
- Veracross: Non-historical syncs now include summer academic years.
- OneRoster: CSV imports trim all values; improved subject-code → CEDS mappings and additional subject string maps.
- Schoology: Class subjects now inherit course subject data, including CEDS codes when known.
- Moodle: Sources can supply custom HTTP headers for Moodle API requests.
- Google Flow: Flow sources request the correct write scopes during validation (instead of read-only sync scopes).
- Blackbaud: Current parents are marked active correctly.
- Infinite Campus: Fixed employment-check and school ID handling for sections.
- Flow: Deleting a class link now removes the corresponding
source.classesrow to prevent duplicate-key sync failures. - Materializations: Proceeding from a halted materialization creates a new materialization run instead of mutating the pending one.
