Sprint 2026.8 is a heavy integration sprint. Solution Center now talks to DOMO for analytics and to Tukios for obituary publishing, workflows cascade from corporation down to funeral home, placeholders share a single engine across Workflow, Arranger, and Connections, and a brand-new EntityLogo system gives every level of the org its own logo. The Arranger 2.0 component library also picks up Memory Questions and Gatherings.
DOMO Analytics Integration
Solution Center now pushes case, contract, and operational data directly into DOMO on a schedule you control. Configure datasets, map fields with auto-match, run incremental syncs against a watermark, and watch progress live — all from a new DOMO admin surface inside Solution Center.
What's new:
- Per-Tenant DOMO Configuration - Encrypted credentials, environment-aware setup, and a 3-tab UI for config, datasets, and sync history
- Field Mapping Wizard - 3-step modal with schema discovery, auto-match, drag-to-reorder, and per-dataset persistence
- Quartz.NET Scheduling - Friendly schedule picker (no raw cron), per-dataset jobs, and a Quartz health check for the platform team
- Incremental Sync with Watermarks - Look-back window is configurable, self-heals on stale stream/dataset links, and stays cancellable from the UI
- Live Sync Feedback & History - Dataset rows show last status; Sync All and per-dataset triggers gate against double-clicks while the poll loop runs
- Zeus DOMO Admin Page - Cross-tenant visibility for the support team
- CSV Hardening - Headerless CSV builder, DOMO-aware column type mapping, and a formula-injection guard that still passes negative numerics through as DECIMAL
Tukios Obituary Integration
Cases can now sync obituaries and photos to Tukios from a dedicated case-side panel. The integration walks the real Tukios organization/branch tree, signs photo URLs so they can't be hot-linked, and keeps publish state in sync with the family approval gate.
- Case-Side Tukios Panel - Sync, photo selection, and a View on Tukios link that only renders once the obit is actually published
- Real Branch Resolution - Pulls the live branch UUID from
/api/v1/organizations/{org}instead of treating organizations as branches - HMAC-Signed Photo Proxy - Photos are served through a signed proxy so the source URLs stay private
- Publish-State Gating - Photo sync GETs the live obit and preserves
IsPublishedon PUT, so photo edits no longer silently unpublish - Hybrid Sync-State Tracking - Local sync records mirror Tukios responses (including public URL changes) so cached state can't drift
Workflow Inheritance
Workflows now cascade down the org tree. A corporate-owned workflow fires for every case underneath it, but each company and funeral home can override, disable, or replace it without forking the definition.
Under the Hood
- Owner Entity Model - Definitions carry an owner type (Corporation / Company / Funeral Home) instead of being scoped only to a single company
- Per-(Definition, Entity) Activation - Activation state is tracked at every level, so a corporate workflow can be disabled for one company without affecting peers
- V3 API - New corporate-workflows controller alongside the existing V2 endpoints (which keep working, with the executor upgraded in place)
- Hierarchy-Aware Trigger Monitoring - Corporate triggers fire for cases in any child company, honoring per-company disable overrides
- Template Overrides - Child levels can override the action templates inherited from a parent workflow
Placeholder Consolidation
Workflow, Arranger, and Connections used to ship three separate placeholder systems with their own resolvers and pickers. They now share one engine, one picker, and one catalog — and the catalog has its own page in Help so anyone authoring content can see what's available.
- Shared Placeholder Engine - One resolver for every surface, with tolerant parsing for legacy whitespace
- Shared Picker - Same searchable picker UI across Workflow templates, Arranger pages, and Connections messages
- Placeholder Library Page - A new Help page lists every placeholder with sample values, scopes, and tooltips
- Scopes-Aware Authoring - The picker filters by surface scope so admins only see placeholders that will actually resolve where they're using them
New Arranger 2.0 Components
Two more V1 arrangement pages have been ported into the Arranger 2.0 component model, and the Product Catalog component picks up a long-requested item-type filter.
- Memory Questions - New PageBuilder component with admin toggles for answerable responses vs. read-only conversation starters, list and carousel layouts, heading-style typography, and always-visible carousel nav
- Gatherings - V1 Gatherings page brought into Arranger 2.0 with a branded type picker, list/grid layouts, per-page admin toggles, and section-gated edit fields
- Product Catalog Filtering - Item-type filtering with a reorganized sidebar that gives CATALOGS, SHOWROOMS, and FILTERS consistent indentation and chrome
- Larger Component-Properties Editor - The component-properties dialog now stretches to use the full available space so JSON and the tab rail stop collapsing
EntityLogo System
Logos used to live on the branding kit, which made it awkward to give one funeral home a different logo from its parent company. EntityLogo splits logos out into their own table, with walk-up resolution so a funeral home falls back to its company, and a company falls back to its corporation, automatically.
- Per-Entity Logos - Corporation, Company, and Funeral Home each get their own logo storage
- Walk-Up Resolution - If a level has no logo, resolution walks up the org tree until it finds one
- New Settings > Logos Page - Company- and FH-level logo management; corporate dashboards get their own Corporate Logos page
- Connections & Arranger 2.0 Wiring - Family-side and arranger UIs both resolve through EntityLogo, with a corporation-aware fallback path so corporate-only logos still render for tenants that don't populate every level
- Branding Kit ZIP Import/Export - Branding kits ship as ZIP files with embedded font files now that logos are handled separately
Pre-Need Conversion & Tax Prepayment
For tenants in Ohio (and anyone else operating under a tax-prepaid trust model), pre-need conversion now understands when sales tax has already been paid on the original contract. Conversion preserves those prepaid amounts instead of recomputing tax on the at-need contract.
- Per-Company Tax Prepayment State - New settings page gated by
ManageTaxPrepaymentConfig - Conversion Dialog Updates - Convert-to-At-Need dialog shows trust info and a tax-prepaid checkbox when the state is enabled
- Tax Preview & Toggle - Line-level adjust/reverse with a confirmation dialog and a Tax Prepaid badge on the case overview
- Configurable Payment Org Types - Third-party organization types on Financials > Payments are now per-company configurable, replacing the hardcoded Insurance/Trust filter
- Override Permission - New
OverrideSalesTaxOnPreNeedConversionpermission for staff who need to bypass
Distributor Self-Service
Distributor accounts pick up a batch of self-service improvements, two new Catalog-only roles, and a clearer separation between catalog and GPL capabilities.
- Two New Distributor Roles - Medallion Catalog and Warfield Catalog, seeded with Catalog-only RolePermission rows
- Account Manager - Active row now shows a blue "Current Active Company" badge instead of a redundant Switch button
- Cart Lockdown - Distributor users can no longer access Add to Cart, Buy It Now, View Cart, or order history; legacy permissions cleaned up by migration
- Implicit Visibility & Pricing - Distributor admins get View/Manage Items, ItemVisibility, and ItemPricing implicitly — no more per-FH workaround
- Live MATTSEC Password Hints - User Management shows the real, current password requirements instead of a stale "Minimum 5 characters" string
- Catalog-Edition GPL Cleanup - Service item types and Deductions column hidden on Visibility and Pricing for Catalog-edition companies
Smaller Features
- Hospice Managed List - Add a hospice organization directly from the case typeahead. Admins create immediately; non-admins submit for approval (#9823)
- Add Funeral Home on V2 - V1's Add Funeral Home capability is restored on the V2 Settings > Company > Funeral Homes page, role-gated to Zeus / AuroraAdmin, with a new orchestration service that copies calendar and base config (#10497)
- Compassionate Language for Vital Labels - Arranger 2.0 and Connections 2.0 vital field labels now flow through the compassionate-language engine, so company- and guide-level term overrides apply consistently (#10521)
- Per-Term IsActive & Initialize Defaults - Guide-level language panel gets a per-term active toggle and an Initialize from Defaults action
- Memory Questions, Gatherings, Hospice picker - QA-driven polish across the new components and the hospice picker
- Pinnacle-Rollings Tenant - Seventh tenant (
Tenant7/SolutionCenter_PinnacleRollings) wired into DbContext registration, health checks, DbUp script-folder mappings, and startup warm-up (#10490) - Regional Sales Manager Flag - New
IsRsmflag in the UAM user editor, gated to Aurora Sales Manager/Rep roles and editable by Zeus/AuroraAdmin - Require GL Account Preference - New gate on Cash Receipt save validation; Preferences page now properly toggles and persists newly published settings
- Configurable Required-to-Post Gathering Types - Replaces the hardcoded Trade bypass with a per-need-type exclusion list, plus color-swatch fix on the Gathering Types grid
Platform & Performance
- SQL 2100-Parameter Sweep - Arranger Selections, Catalog Search, Showroom items, public Embed showrooms, and Connections selection/choice endpoints all switched from materialized
List<int>.Contains()toIQueryablesubqueries so large catalogs no longer hit the SQL Server 2,100-parameter cap on compat-level-110 client databases (#10504) - OpenAI SDK Alignment - All projects aligned on OpenAI SDK 2.9.1 after the .NET 10 upgrade
- Quartz Health Check - Quartz scheduler is now a first-class health check alongside the other service dependencies
- Quieter Logs - PermissionService SemaphoreSlim disposal race during Blazor circuit teardown silenced;
companyId=0rejections moved out of the warning channel
Bug Fixes
- Sale-date / payment-date picker now respects the funeral home's timezone instead of UTC (#10224)
- PDF form fields auto-shrink to fit long location and name text; flattened on save (#10235)
- Scheduled package items no longer disappear; new Show Future Packages toggle and inline preview, plus hardened schedule branch against FK and date-overflow kickbacks (#10243)
- Workflow create no longer fails after the inheritance feature added NOT NULL ownership columns (#10425)
- Arranger 2.0 Post-Finalize Redirect Slug is now a page-slug dropdown with a clear button, and the resolver deserializes string-encoded enums correctly (#10428)
- Exported contract lines are locked against edit/delete via per-field cost and grid endpoints (#10528)
- Threaded
corporationIdthrough family-side EntityLogo resolve so the Corporation hop is walked for corporations whose logo lives only at the corporate level (#10437) - Tukios photo sync no longer unpublishes the obit;
View on Tukiosonly renders when actually published (#10537) - DOMO Sync All no longer silently fails on click; Quartz
DatasetNameKeyguard added (#10536) - Discontinued items filtered out of MyWebsite / FamilyLink integration (#10170)
- Cemetery name now resolves in the summary instead of showing a raw location ID (#10381)
- Added
v2/prefix to EmbedPublic API calls (#10423, #10429) - Removed nested EditForm causing section-header render error (#10438)
- Quantity / price inputs now use the Syncfusion
ValueChangeevent to avoid a race with@onchange(#9730) PersonTypeSpecifycolumn surfaced for the Other relationship on the People tab (#10222)- CreatePerson is idempotent so retries can't produce duplicates (#10430)
- Connections media component now loads and routes both photos and documents (#10440)
- Connections new-location save notifies the EditContext of all fields so Save and audit both work (#10047)
- Digital Whiteboard infinite spinner fixed and Case View load optimized
ReceivedAtCrematoryandWitnessedCremationedits now persist on Vital PATCH- Package title no longer repeats on the Arranger 2.0 summary when items lack a location item
AgeMonthsno longer overflows past 11 when the DOB day-of-month exceeds the DOD month length- Multi-select and report packages restored in the Arranger 2.0 Generate Forms dialog
- Arranger 2.0 Finalize Arrangement now routes to a valid V2 destination; pre-finalize page-completion gate removed
- Resource Management People page header is sticky and gains name search; Types page and List API hardened against load-before-company-selected (#10433, #10435)
- Catalog app tile now visible to users on the two new distributor roles after seeding the corresponding
ApplicationUserRolerows (#10447) - URL-encode global search query so multi-word company / funeral-home searches reach the backend intact
- Domo CSV formula-injection guard exempts numeric values so negative deductions ingest as
DECIMALinstead of text (#10486)
What's Next?
With DOMO and Tukios both in place, Solution Center now exports analytics and publishes obituaries without ever leaving the case. Expect Ai CareAssist™ to keep deepening, more workflow scopes to land on top of the new inheritance model, and the EntityLogo and placeholder consolidations to ripple into more surfaces.
As always, if you run into issues or have feature requests, let us know.
— The Solution Center Dev Team