september 2026 release notes

  • Updated

These release notes summarize the new features, latest updates, and bug fixes from this month in Neostella platform. 

For detailed information of product-specific changes, please visit our Help Center articles.

 

september 23rd to september 29th

adoption

Migrate Deadline Chains
Imports Deadline Chain data from Filevine into Neostella as Custom Objects under Projects and Leads, populated with current field values using the existing field mapping capability. Automatic recalculation between fields is out of scope.
Implement Calendar Events Migration
Adds Calendar Events as a new entity in the migration pipeline so firms' scheduling data, including attendees and dates, is preserved and accessible in Neostella after migration, following a documented mapping approach.
Rename the step to create the migration bucket
This update includes internal improvements that do not impact the user experience.
Split Manifest by Maximum Document Limit
This update includes internal improvements that do not impact the user experience.
Mapping - Value Alignment new row on top of the list
This update includes internal improvements that do not impact the user experience.
Support Mapping for Global Objects
Migration specialists can now map fields from Contacts and Projects directly into Global Objects, ensuring shared data lands in the correct cross-entity structure instead of being forced into an entity-specific target. This eliminates the need for workarounds when data belongs to a shared object that is referenced across multiple entities.
Support Multi-Field Conditional Value Alignment for Single-Value Object Type
Value Alignment now supports combining conditions across multiple source fields using AND or OR logic to determine a single target value such as Object Type, Stage, or Is Archived.
Support Multiple Source Fields Within a Single Value Alignment for Object Tags
Migration specialists can now register values from more than one source field within a single Value Alignment configuration for Object Tags, eliminating the need to create a separate operator per source field.
Mapping List into Numbered Accordion
This update includes internal improvements that do not impact the user experience.
Task Type Field Options Not Displaying in Value Map on Mapping Canvas
Minor bug fixes and internal improvements.

 

automations

Duplicate automation
Users can duplicate an automation in the same tenant.

 

communications

Configure tenant custom domain
We'll configure your firm's own domain for your account, so it's ready to use from day one. You'll be able to see which domain your emails are sending from right in Control Center — no separate setup required on your end.
Improve and unify the empty message
Standardized the empty-state messaging across Calls, Emails, Faxes, and SMS, so users always see a clear, consistent explanation when there's nothing to display yet instead of a blank screen.
Tenant email using configured domain (In & Out)
All emails sent from your firm — and everything that comes into your general firm inbox — will show your own domain, not a shared Neostella address.
Embed Zoom contact center user experience improvements
The panel now stays docked to the bottom-right corner as users navigate the app or open new tabs, and can be collapsed or expanded without ending the call.
Provider Set-up (OAuth)
Firm admins can now connect their RingCentral account via OAuth, mapping RingCentral extensions to individual users so calls attribute to the right person.
Make, receive, and view Calls
Allows users to make, receive and view phone call history directly from the platform using RingCentral.
View call artifacts inside the Call details (Zoom or RingCentral)
Users can now view and play a call's related files — transcript, recording, or voicemail — directly within the call details view.
Manual call tracking ability, just to add a Call entry via UI
Users can now manually log calls that happened outside the app, capturing direction, outcome, participants, and timing.

 

core

BREAKING CHANGE

System object grid views ignore object builder display settings
The columns that tenant admins choose in the Display tab of the Object Builder now actually appear in the grid views for system objects (Leads, Contacts, Organizations and Projects), instead of a fixed set decided by the platform.

Update default wording – "Filter Sections" to "Filter Menu"
The label of the sidebar filter in the contact detail view changes to "Filter Menu", which is more intuitive and consistent with the navigation. Tenants that have customized this label keep their own wording.
Apply permissions on Account / Webhooks
Admins now have granular control over who can manage webhook subscriptions in Control Center, with dedicated View, Create, Edit, and Delete permissions for the Webhooks section.
Project creation button and permissions discrepancy
The buttons for creating projects, people, organizations and leads are now only visible to users who have permission to create them, instead of showing the button and only rejecting the request afterward.
Select content for a package
Release Center users can select the workflows, automations, objects and forms they want to move and bundle them into a single named package that can later be moved into a sandbox.
Reuse Partner Hub's package detail view for package review
The package review screen reuses the package detail view that Partner Hub already has, so Release Center users can see a package's full contents and its version history in one familiar place.
Independent scroll on the package configuration screen
Each column on the package configuration screen now scrolls on its own, instead of the whole page scrolling, so users can review a long list of content without losing their place elsewhere on the screen.
Import / Apply Package
Users with access to the Publish space can review an incoming package and apply it to their sandbox (or the main tenant), so configuration built elsewhere shows up in their environment.
Sandbox Management: UX/UI and BE enhancements feedback
A set of small usability and clarity improvements to Sandbox Management, based on feedback after its first release — clearer labels, full user names and emails, a refresh option, a "Created by" column, easier deletion, and a subdomain preview.
Default Stage value on Lead/Project creation
New Leads now start with a default Stage instead of showing "N/A" until someone sets it manually, matching what already happens for Projects.
Case banner titles use incorrect capitalization for acronyms
Case banner titles now show field names with the correct capitalization, for example "Lead POA" and "Last 4 of SSN," using the field's configured label.

 

customization

Button Execution Log
Action buttons in forms and views give users no visibility into whether an action was previously executed or who triggered it. This improvement surfaces the last execution of each action button directly below it, showing who activated it and when.
Create a new way to Get objects endpoint via POST
The current Get objects endpoint uses a GET method, which limits the amount of filtering criteria that can be passed due to URL length constraints. Changing to a POST method with a structured payload removes those constraints and enables more efficient, flexible querying.
PROD | Objects | Modal to select field still visible after leave the Form builder
Fix on lookup field panel, to avoid overwriting on the platform.

 

documents

Add Tags to Templates and Filter grid by them
Document templates can be tagged and users will be able to filter by them.

 

explore

Advanced Search & Reporting – Add Option to Include Archived Records
Archived records are currently excluded automatically from Advanced Search and Reporting, with no option for users to include them. This adds an option in both Advanced Search and Report creation to include them when needed, while keeping them excluded by default.
Add Clickable Record Links to Report Results
Relevant record fields in Reports are now clickable links instead of static values, letting users move directly from reporting and analysis into reviewing or working the record identified by the report.
Support Billable Amount Reporting for Time Entries
Users can now report on billed amounts from Time Entries, allowing analysis of how much has been billed over different time periods.
Support Tasks Completed Reporting by User Group
Enables reporting on the number of completed tasks by user group, allowing measurement of task completion across different teams or groups.
Refactor Reporting into a Unified Report-Centric Experience
Organizes reports, executions, and schedules around the report/template, providing clearer context, reducing navigation, and making it easier to understand a report's latest execution, execution history, and scheduling configuration.
Support Query Payload for Global Table Components - Light Reporting endpoint
Enables Global Views to display dynamic, report-like tables by leveraging Explore's existing query capabilities.

 

finance

Configure Billable Fields in the Billing Section
Once billing is enabled on a custom object, a dedicated Billing section appears in the Display tab where Case Support Specialists can select which fields from the object will be available for invoice line items.
Enable Billing on a Custom Object
Users can enable billing on any custom object directly from the object settings in Control Center. Once enabled, the object becomes available to be added as a line item on invoices, allowing firms to bill clients for charge types beyond fixed charges and time entries.
Payments Table (Payments Relation View)
Manually registered payments appear in the same Payments table as automatic payments, giving finance users a single consolidated view of all payments received across invoices regardless of how they were recorded.
Payment Status: Manual
Finance users can manually record payments received outside of an integrated payment provider — such as checks, wire transfers, or cash — directly against a sent invoice, with the invoice payment status updating automatically.

 

workflows

Duplicate workflow templates from the templates list view
Anyone building workflow templates will be able to copy one or several existing templates in a single action, and get editable drafts to work from instead of rebuilding a process from scratch.
Execution Title Header, From Attribute and Refresh
Shows the record an execution belongs to directly in the execution header, as a link back to that record, and adds a refresh control that pulls current execution data without reloading the application.

 

september 16th to september 22nd

adoption

Display Clean and User Friendly Error Messages: Users now see clear and friendly error messages when something goes wrong, without any confusing technical details or sensitive information being exposed. This makes it easier to understand what happened and what to do next, improving trust and reducing the need to contact support for clarification.
TASK Name: User want the TASK be named after the body: Imported tasks will be named using the first 99 characters of their body text instead of a generic ID, falling back to the old naming only when the body is empty.
Add chips to statuses in execution grid: This update includes internal improvements that do not impact the user experience.
Tenant (Tejo) Migration Bucket, requires policy for Import Files Sync endpoint user to write: The tenant migration bucket now includes the necessary policy to allow the Import API Sync user to write manifest, data contract, and import files directly. This enables the sync process to operate correctly without manual credential workarounds or permission errors during import setup.
Display Reconcile Progress in Execution Detail Panel (Replacing Cleaning Stage Tracking): The Execution Detail panel now shows the Reconcile step as a tracked stage after Import completes, giving users full visibility into the final phase of their migration execution.
Deprecate Cleaning Process V1 and Progress tracking: The V1 cleaning process has been fully deprecated and removed from the execution pipeline, UI, and progress tracker, reducing complexity and eliminating an outdated step that is no longer needed.
Add "Calculate" Operator to Support Math Operations Across Numeric Fields: Migration specialists can now perform math operations such as addition, subtraction, multiplication, and division directly within the mapping canvas using the new Calculate operator, combining source fields and static values as needed.
Add a link from the Execution Details panel to its related Mapping: The mapping name in the Execution Details panel is now a clickable link that takes users directly to the mapping configuration, eliminating the need to manually copy the name and search for it in the Mapping tab.
False invalid phone and email errors on Person edit: Minor bug fixes and internal improvements.
Staging | Import | Unsaved Changes Prompt Displayed When Exiting a Mapping Without Making Any Changes: This update includes internal improvements that do not impact the user experience.

 

communications

Allow to create a contact or add to existing one from Unknown: Users can now create a new contact or link an existing one directly from an unknown fax, without leaving the Fax view. Once associated, the fax updates instantly and moves out of the unknown list.
View only Unknown: Users can now filter faxes to show only those without a known contact associated, making it easier to spot and follow up on unidentified faxes without digging through the full list.

 

core

Date formatting: Date fields are now consistently formatted across the platform, regardless of their field name. The backend marks each date field with a type indicator, allowing the frontend to format any date value correctly — including custom or renamed fields that previously displayed as raw strings.
Restrict Limited Users' project/lead visibility to Access-associated records only: Limited Users will only see the projects and leads they've explicitly been given access to; anything outside that scope stays hidden from their view, matching how Guest User access already works.
Wire Recycle Bin FE actions to updated Restore, Purge, and List endpoints: Users who restore or permanently delete items from the Recycle Bin will see that action correctly reflected across all related sub-items automatically, and the Recycle Bin will load deleted records more efficiently using pagination.
Revoke Guest User access: Admins can now manually revoke a Guest User's access to a project, immediately preventing them from viewing the project and its documents.
Don't allow limited users to be linked to "Control Center" permission sets: Prevents Limited Users from ever being assigned Control Center or Finance permission sets — directly or through a group — so external/limited accounts can't gain administrative access.
Create new user as a limited user in Control Center: Lets admins create a 'Limited User' directly in Control Center for external parties with scoped, ongoing access — without requiring a contact-based invitation first.
Invite contact as a limited user from "Contacts" module: Users with the permissions to do it can invite contacts who are not users as limited users.
Identify contacts who are users: Contacts who are users for the tenant have a visual indicator that tells the type of user (internal, partner, collaborator).
Hide workspaces for users who do not have access to them: Users only see the workspaces they actually have permission for in their navigation; Limited Users in particular never see Control Center or Finance.

 

customization

Project Role Visibility Widget for Views: Users have no way to surface project role assignments directly within a custom view. This widget brings role visibility into the operational surface where users already work, without requiring navigation to the Access section.
[TECH] GET object by selector endpoint: There is no endpoint to retrieve a single object by its selector. This improvement adds a dedicated endpoint that returns a single object given its selector.
Project deletion and restoration within Project Groups: When a secondary project is deleted, its relationship to the Project Group and shared records must be handled cleanly. When restored, the project must rejoin the group with its original relationships intact.
Document scope selector in relationship fields: This improvement sets the default scope of a relationship field's document search to the current project — communicating it clearly with a help message — and allows users to switch to their full document access or to the project group when applicable.
Form Builder: multi-select toolbox fields with checkboxes and insert them in one action: Users can now check the fields they want in the toolbox and place them in a single action, with the selection surviving searching and filtering, instead of dragging fields out one at a time.
Cascading cleanup when a field is deleted: When a field is deleted from an object, all references to it are now automatically removed across headers, display info, view components, and calculated fields, and the admin is warned before confirming the deletion that dependent elements may be affected.
Delete components: Administrators can now delete a component from the Components section, automatically removing it from all views where it is currently in use, with a confirmation step that surfaces the impact before the action is committed.

 

documents

Unable to return to the All Documents grid from Selected Documents in Fact Packet creation: Fixes a bug where, on projects without folders, users building a Fact Packet could get stuck on the Selected Documents screen with no way back to the full document list to pick more files.
Add AND / OR operators to Conditionals in WAI: Lets users building Word templates combine conditions with AND/OR logic, nest condition groups, and set a fallback value for when none match — enabling more complex document templates.
Add TODAY to PDF Forms: The TODAY system variable, already available in the Word Add-In, is now available in PDF Form templates, resolving to the current date at document generation time.

 

explore

Allow Manually Entered Values in Defined-Value Report Filters: Report builders can now manually enter filter values that are no longer available in the current schema, so reports can include records with historical, deprecated, or removed values without modifying the underlying configuration or stored data.

 

finance

Enhancement invoices view: Two minor UI adjustments to the Non Invoice Items view and the invoice creation flow, improving clarity and removing an outdated message that is no longer relevant.

 

workflows

Choose or turn off grouping in the task view: Case workers can group their task view by Status or Priority — or turn grouping off entirely — so the list is organized around how they're actually working. 
Customize the columns shown in the task view: Users can choose which columns appear in their task view. A side panel lists every available column with a switch for each one, so a user can strip the grid back to what they care about or bring in extra detail without asking anyone to change the view for them.
Dark mode fixes: Some components were not usable in dark mode because their design was not built for that; this development allows users to use Workflows normally in dark mode.
Second Path From a Starting Rule Cannot Connect to an ANY Join: Workflow designers are blocked from building a template where two paths coming out of the same starting rule converge on a single rule. The first connection is accepted, the second one is rejected with an error, so a common convergence design cannot be built at all and designers are pushed into duplicating downstream work to get around it.

 

september 9th to september 15th

adoption

Update Auto Layout Icon to Match Design Reference
Minor UX/UI enhancements.
Implement Faster Container Deployment
Deployments to the container are now significantly faster thanks to a new deployment strategy being validated across environments before reaching production. This reduces downtime and wait time during releases, ensuring updates reach the platform more quickly and reliably.
Lead Docket: Avoid duplicated contacts from Leads that are already created by FV projects
This update includes internal improvements that do not impact the user experience.
Add Release Pipeline Validation for Unregistered Structure/Data Migrations in Tenant Provisioning JSON
Any schema or data migration that is missing from the tenant provisioning directory is now automatically caught during the release pipeline before it reaches production, preventing new tenants from being provisioned with an outdated or incomplete schema. This eliminates a silent manual gap that could cause inconsistencies across tenant environments without any visible warning.
Support Relationship Mapping with Child Objects
The object map now supports linking more than one Parties instance to the Parties Information relationship field in G-PI Litigation Summary, with each source field group mapping to its own distinct Parties vertex and edge in the graph. Users viewing a migrated Litigation Summary record will see all associated parties correctly reflected through the relationship field.
Make search in Maps and Executions persistent
Search inputs in the Maps and Executions views now stay active when navigating away or switching tabs, so specialists never lose their filtered context and can pick up exactly where they left off without retyping their search.
Bulk Delete and Duplicate Actions for Mappings
Specialists can now select multiple mappings and delete or duplicate them in a single action, saving significant time when managing large mapping libraries. When duplicating, a custom name can be assigned to each copy so the new maps are organized and identifiable from the start.
Optimize Mapping Load Time with Priority Content
The mapping view now loads the most critical entity content first so specialists can start working immediately, while the rest of the content loads progressively in the background. This eliminates the wait time previously caused by loading everything at once and keeps the mapping interactive throughout.
Improve error UI logs in executions
When a migration execution fails, users can now see exactly what went wrong at each step — including the object, field, error type, and operator involved — directly in the failure modal without needing to contact engineering or read raw logs.
Plaintiff Expert Items migration incomplete — only 1 of 3 imported
Minor bug fixes and internal improvements.
Provisioning Failures: Default Forms, Owner Lambda Timeout, and MSK Topic Provisioning
Minor bug fixes and internal improvements.

 

automations

Update Automations Pipeline Node deprecation
This update includes internal improvements that do not impact the user experience.
First UI refinements
This includes UI changes to align automation with the most recent UI/UX standards.
Get object id from nested automations
Automations now have visibility into the exact child object record that triggered the parent workflow, instead of only knowing the context ID where that change happened.
The form should prioritize the definition over what is stored by the FE
This update includes internal improvements that do not impact the user experience.
Front end: Tags for executions
Today, tags only exist at the automation level — individual executions can't be tagged. This feature lets a System Admin add or remove tags directly on an execution from the Execution Logs list, independent of the parent automation's tags. It reuses the existing Projects/Automations tagging UI, so users get filtering, auditing, and categorization at the execution level with no extra learning curve — with zero impact on existing untagged executions.
Add tags to executions and filter by them
This feature lets a user add or remove tags directly on an execution from the Execution Logs list, independent of the parent automation's tags. It reuses the existing Projects/Automations tagging UI, so users get filtering, auditing, and categorization at the execution level with no extra learning curve — with zero impact on existing untagged executions.

 

communications

Allow creating a contact or adding to an existing one from Unknown
Associate SMS from unknown contacts by creating a new contact or linking to an existing one.
Embed Contact Center SDK
Zoom Contact Center is now integrated and always visible while users work elsewhere in the platform, so they can handle live interactions without switching tools.
View Unassigned SMS
In Communication > SMS, use the new Unassigned filter to quickly find messages that haven't been linked to a Case or Lead, then click into a contact to assign the right context.
Unify drawer styles across comms capabilities
Unified the design across Fax, SMS, Email, Notes, Calendar, and Messages — full light/dark mode support, and streamlined navigation throughout.
API to create Call, Email, SMS, Fax records
The app now allows syncing external communication records. It creates email, call, fax, and SMS records through API, so activity from outside systems stays reflected in the platform without manual re-entry.

 

customization

Save options for flyout forms and context creation
Flyout forms for multi-record objects close on save with no option to stay open, and context creation forms offer no way to navigate directly to the new record after saving. This improvement adds explicit save action choices to both surfaces.
Alphabetical sort button in the Object Builder Fields list
Alphabetical sort button in the Object Builder Fields list.
Form Builder: apply a single logic rule to multiple fields via multi-selection in the Logic tab
Applying one condition to many fields is the most common thing implementers do in the Logic tab, and today it costs a full pass through "Add action → pick the action → find the field in a dropdown" for every single field — a condition covering a dozen fields means a dozen passes. This ticket turns the action's field selector into a checklist with search and "Select all", then fans the picks out into the same individual action rows the manual flow would have created, so the saved form is identical and nothing downstream changes. It also fixes a smaller source of confusion along the way: a field that can't be used because another rule already claims it used to just vanish from the list with no explanation, and is now shown greyed out with the reason.
Form Builder: investigate drag-and-drop performance degradation on large forms
Users report that dragging fields gets noticeably slower as a form grows, which affects exactly the forms that matter most — the large ones used to configure real practice areas. Today neither the cause nor the cost of fixing it is known: it may be our own handlers on the builder's events, or the SurveyJS creator itself. This ticket measures the problem, attributes the cost, and returns a proposal with options and effort, so the optimization work can be scoped and prioritized with real numbers instead of guesses.
Dynamic layout endpoint accepts form selector as query param
The dynamic layout endpoint currently returns only the default form for a given object. This improvement adds support for a form selector query parameter so that any form associated with the object can be requested directly, enabling more flexible form rendering without changing the underlying logic.
Save all button for views with multiple forms
When a view contains multiple forms, users currently have to save each form individually. If they navigate away or switch tabs before saving, unsaved data is lost. This improvement replaces individual save buttons with a single sticky Save button anchored to the bottom right of the view, triggering all forms with unsaved changes at once — reducing friction and eliminating the risk of data loss.
Add an async trigger with Kafka to update registers when a computed value is created
When a computed value is created, dependent records are not updated immediately because the process runs synchronously and blocks other operations. This change introduces an asynchronous trigger using Kafka so that record updates are processed in the background — improving platform performance and ensuring dependent data stays consistent without impacting the user experience.
Context Type and Project Type visibility in Views
Small fix to make context type and object type visible / invisible in views according to the attribute defined by the user.

 

documents

Correct emails, addresses, phones insertion in WAI
Emails, Addresses, and Phones are list-type fields on Contact records, and a single record can have more than one of each. WAI currently inserts them using a single-value merge tag, which produces malformed output when a record has more than one value. Email, Address, and Phone insertion is now cardinality-safe: the same inserted field renders correctly whether the record has one value or several, using a for-loop-based merge tag.
Create a Fact within a Packet
Creating a Fact previously meant jumping between a separate Viewer and a separate Facts list. This consolidates that into a single view within the Packet context: the user opens a Document, the Viewer and its Facts appear side by side, and new Facts can be created inline (from a text selection or a full page) without leaving the page.
Packet Detail: Documents and Facts Grid
Opening a Packet now shows only the Documents that belong to it, with a way to see each Document's Facts without leaving the page — modeled after the existing Envelope UI, scoped so a Document in multiple Packets never shows another Packet's Facts here.
Full Document Viewer on the Documents + Facts Grid
The Document Viewer is now rendered inline on the same page as the Documents and Facts grid, so users can review document content without losing their Packet context — particularly useful in litigation workflows where documents and facts need to be cross-referenced simultaneously.
Export Facts from a Packet
The Export UI has been adapted to the new Packet framework, with all current export functionality preserved.
Remove a Document from a Packet
Users can now remove a Document from a Packet after creation (for example, if it was added by mistake). The related facts remain tied to the packet but stay hidden unless the Document is re-added.
Add a Document to an already created Packet
Users can add more Documents to a Packet over time rather than being limited to the initial set chosen at creation, reusing the same Document Picker from the creation flow.
Address Block and Full Address in PDF Form
PDF Form field mapping now offers two address format options — Address Block, which formats the address across multiple lines, and Full Address, a single inline line — with Street Line 2 included only when a value is present, resolved at document generation time.
Address Block and Address Line in WAI
The Word Add-in now offers two insertable field tag formats for address fields — Address Block (multi-line) and Full Address (single inline line) — replacing raw, unformatted field values and removing the need to manually compose address layouts.
Packet Creation flow
Facts previously lived directly under a Document/Project with no intermediate grouping. This first release renames the Facts area to "Fact Packages," adds an empty state, and lets users create a Packet by selecting or uploading Documents.
Split Date Fields in WAI
Users can now reliably choose what portion of a date field to print (full date, day only, time only, etc.) consistently across all date-field insertion points in both WAI and PDF Forms, with the choice saved as part of the field tag configuration.
Substring insertion in WAI
Users can now insert only part of a field's value — for example, splitting a Social Security Number stored as one field across three separate boxes on a document — via a new character offset option (first N characters, last N characters, or a character range) saved as part of the tag's configuration.
Add conditionals for Lists in WAI
Users can now define a List Filtering configuration in the Word Add-in so only list items matching defined business rules (e.g., only "Active" items, values above a threshold) are rendered, reusing the Word Add-in's existing conditional operators and semantics.

 

explore

Display "Is Empty / Is Not Empty" consistently in applied filter labels
Ensure filter operators use consistent, user-friendly terminology throughout Advanced Search. When users select Is Empty or Is Not Empty, the applied filter should display the same terminology instead of the technical Is Null / Is Not Null labels.
Selected columns should appear first in the + Columns selector
When building a report in Explore, fields that are already selected for the report — including columns automatically selected when the user initially selects an object — are now prioritized and displayed at the top of the field list, making it easier to identify which fields are already included.
[Reporting] Group By fails when using a composite sub-field
Users were unable to group reports by fields contained within composite fields, such as Task Resolutions → Resolved At, preventing use cases like tracking tasks completed per user by day, week, or month. These fields are now supported in Group By, enabling analysis of task completion trends and productivity over time.
Custom View - Currency values are not displaying the configured decimal places
Currency values displayed in Custom Views were showing only one decimal place instead of the expected two decimal places, causing monetary values to display with incorrect formatting.
Selected columns are not shown as selected when reopening + Columns
Columns already added to a report were not consistently remaining visually identified as selected when reopening the + Columns selector; behavior should be reviewed further to ensure it's consistent across environments.

 

finance

Finance — Arango Migration Cleanup
Add missing migrations to migrations.json: Minor bug fixes and internal improvements.
List Sent Invoice Emails in Finance Communications
Every invoice email sent from the Finance workspace is automatically recorded in a dedicated Communications section, giving Finance users a centralized and complete log of all invoice communications. Invoice emails are only visible within the Finance workspace and will not appear in project-level communications, keeping billing activity separate and accessible only to the right team.

 

partner apps

Description Needs to Be Required
When an app is created, a description is now required so a user can know what the app is on install.
External Dropdown Updates
This enhancement enables a user to specify which output field is able to be utilized by customizations to populate a dropdown.

 

workflows

Remove Leaf Path Validation on Workflow Template Publish
Workflow designers can now publish a template even when one of its branches ends without a completion rule. Previously this blocked publishing outright, forcing designers to wire up endings they did not intend or add completion rules that did not reflect how the process actually works. Removing the block lets a template go live in the shape its designer intended.
An automation is unblocked
Users can restart a blocked automation themselves from the automation sidebar, so a workflow that stalled because of a temporary problem can be recovered by the person looking at it instead of waiting for someone with system access to step in.
An automation is displayed in blocked status in a workflow execution
Users can now see when an automation inside a running workflow has stopped working, with the automation appearing in a blocked state on the execution view and a banner confirming the block.
A task is unblocked
Users can restart a stalled execution by assigning the blocked task to a user from the task panel, moving the run forward as soon as someone is named.
A task is displayed in blocked status in a workflow execution
The execution canvas marks a task as blocked when the assignment ran and produced no eligible candidates, so users can see straight away that the run is waiting on work nobody can pick up.
Integration User Name Resolution in Task Activity History
When a task is created by an integration user, the task activity timeline now shows that user's name so people reading the history can tell who or what created the task, making the creator legible in the timeline regardless of user type.
Adding a tag in the task template replaces the tag already there
Only one tag could be kept on a task template — adding a second tag wiped out the first, forcing anyone setting up a template to either pick one tag and lose the rest or skip tagging altogether. Since tags drive how work is found and routed, templates can now keep more than one tag.

 

september 2nd to september 8th

adoption

All tenants now run on V2 infrastructure by default
Migration executions now run on V2 infrastructure by default, eliminating the need to manually register each tenant and removing V1 branching logic from the Dispatcher, Transform, and Import pipeline — simplifying the pipeline and ensuring every tenant benefits from current infrastructure without additional setup.
Import sync endpoint upgraded to cross-tenant API auth
The sync endpoint now authenticates using a dedicated write-only API user instead of tenant-scoped tokens, making it callable from external tools (e.g. Bruno) across any tenant without per-tenant credentials. Syncs can also be scoped to specific entities or targeted at a new or existing import.
Switch the import source even with inconsistencies 
Specialists can now switch the import source from the mapping canvas even when inconsistencies exist, with those inconsistencies surfaced directly in the UI for review — removing the previous hard block that prevented any progress.
Click a connection line to keep it highlighted
Specialists can now click a connection line on the mapping canvas to keep it highlighted in blue, making it easy to trace exactly which source field maps to which target field even when many connections overlap. 
More reliable document binary sync
Document binaries saved to tenant S3 are now named using a deterministic UUID5 generated from the Tenant ID, Legacy ID, and Document Collection, removing the dependency on a DynamoDB cache table for filename resolution and making the sync process more resilient.
Global search bar on the mapping canvas
Specialists can now search across the full mapping canvas at once, with matching results highlighted simultaneously in the source panel, target panel, and canvas cards, while non-matching elements are visually de-emphasized.
Field search auto-expands its parent collection
When searching for a field in the source or target panels, the parent collection or object now automatically expands to reveal the field in context, eliminating the need to manually navigate to it after a search. 
Prevent token expiration during import file sync
The sync process now refreshes the authentication token automatically during import file synchronization so long-running syncs complete successfully without being interrupted.
Clearer error detail in execution failures
When a migration execution fails, users can now see exactly what went wrong at each step — including the object, field, error type, and operator involved — directly in the failure modal, without needing to contact engineering or read raw logs.

 

automations

Get unique values from a list
Users can now search for unique values inside a list directly as an automation action.
Clearer output field labels for repeated or nested field names
Dynamic output fields now display improved, more distinguishable labels at the output level when field names repeat or are nested.
Lookup Tables usable directly from automation actions
Users can create, search, update, and delete rows in a Lookup Table directly from an automation — filtering by column conditions to find matching rows, looking up a single value to translate one field into another, adding new records, and updating or removing existing ones, all through one consistent, reusable filter builder shared across every action.

 

communications

Multiple SMS numbers per contact
Contacts can now have more than one SMS number. When sending an SMS, users can choose which number to send to, ensuring messages reach the right destination.

Multiple fax numbers per contact

Contacts can now have more than one fax number. When sending a fax, users can choose which number to send to, ensuring documents reach the right destination.

Multiple email addresses per contact
Contacts can now have more than one email address. When sending an email, users can choose which address to send to, ensuring communications reach the right destination.

 

core

Cleaner project header when a project has no group
The project header no longer shows the "Add to a Group" label and chevron when a project isn't part of a group, keeping the header clean. The group icon remains as the entry point to the group assignment flow, and the full control still displays as before once a project is in a group.
SfN integration auto-deprovisioned in sandboxes
The SfN integration is now automatically deprovisioned when a sandbox is created, preventing production integrations from carrying over into sandbox environments.
End-to-end sandbox provisioning with live status
Sandbox creation now completes all provisioning steps end-to-end — environment setup, user activation, and integration configuration — with real-time status (In Progress, Active, or Failed) and error details surfaced on failure. The Sandboxes menu is only accessible from the main production tenant.
Create a "FULL" Sandbox
Administrators can now create Full Sandboxes that replicate both schema and operational data (contacts, projects, leads, documents) from production, giving teams a realistic environment to safely test configuration changes. Each sandbox gets a unique name and subdomain derived from the production tenant's subdomain, and the number of available sandboxes per type is governed by a configured limit. 

 

customization

Streamlined object configuration flow
Setting up a new custom object is now one continuous flow instead of a stop-and-start process — permissions default to on where they're almost always wanted, creating the form no longer greets users with a misleading "Discard Changes?" dialog, missing required fields are flagged, users are returned to where they started after saving the form, and the menu label pre-fills from the object's own name. A new PERMISSIONS tab lets an object's access levels be set across permission sets directly from the object itself, per context.
Form builder can hide parent context/object type selectors
Platform-added selectors now appear in the form builder from the start, with correct default visibility, so administrators see exactly what they're building before saving.
Warning before making the single-record setting irreversible
Turning off "Restrict to one per context" on a custom object is a permanent decision. Administrators now see a warning before the change is applied, and an explanation on objects where the toggle is already blocked.
Form Builder toolbox usability improvements
The field toolbox now always shows field names instead of collapsing into unlabeled icons, supports an optional alphabetical view that doesn't affect the saved field order, and its bulk-add action now skips system fields (like created at / created by) instead of adding them by default. 
Forms auto-save before an action button runs
When a user fills out a form and clicks an action button (document generation, PDF generation, workflow trigger, or custom event), the form is now automatically saved first, instead of requiring the user to remember to save manually — preventing actions from running against outdated or unsaved data.
Notes widget embedded directly in views
Users can now read, filter, and create notes directly within any view configured for Projects or Leads, instead of navigating away to the Notes section — reducing context-switching.
Warnings for potentially invalid relationship field configurations
When configuring relationship fields in the object builder, administrators now see warnings at the moment of configuration for two common misconfiguration scenarios that previously produced silent, broken behavior at runtime — while still allowing them to proceed if they choose to.
Single-grid views now fill the available screen height
Views containing a single custom object grid now expand to use the full vertical space available instead of leaving unused space below the grid. Views with multiple stacked grids are unaffected.
Choose whether to export inactive forms
Users can now choose whether inactive forms are included when exporting.
Workflow trigger payload enriched with child object data
When a workflow is triggered via a button on a child object (e.g. a Settlement within a Project), the trigger payload now includes the child object's data directly, instead of only the parent context — removing the need for extra lookups.
Context auto-resolves in shared object relationship fields
Administrators can now configure a context source field in the schema so that shared object relationship fields resolve context automatically instead of requiring the user to manually choose it first.
Drawer scroll on Projects: Fixed an issue where drawers on Projects did not allow scrolling.
Custom object field not displaying in form: Fixed pagination on the field endpoint so the correct number of fields is retrieved and displayed.
Extra validation removed from field syncing: Reduced unnecessary validation that ran when checking for removed fields on each form.
Export form selection behavior: Fixed unexpected behavior when selecting which forms to include in an export.
Inactive forms now listed when the export toggle is active: Inactive forms now correctly appear in the export list when the corresponding toggle is enabled.
Unsaved form data no longer lost when switching tabs: Fixed an issue on Projects where unsaved form data was lost when navigating between tabs in a custom view.
Object Type field not consistently read-only in view preview: Fixed an issue where the Object Type field on view preview was not always in read-only mode.
Dropdown option edits now save correctly: Fixed an issue on Objects where editing an option in a dropdown field was not being saved.
Global object records no longer editable in views preview: Removed the ability to edit global object records from within views preview.

 

documents

Documents tab enabled on Contact records
Contacts (Person and Organization) now support the same document experience already available on Leads — a documents grid, folder organization, and envelope tracking — instead of exposing a non-functional Documents tab.
Custom folder ordering and sorting
Folders can now be manually reordered via drag-and-drop, with quick sorting (Alphabetical / Last Modified) available on top, in both the folder tree and the Folder Items grid. Folders always stay above documents in the Folder Items grid.
Manual Input tags can drive conditional blocks
Conditional blocks in the Word Add-in can now be tied to an already-configured Manual Input tag in addition to a system field, so the block resolves based on a value entered at generation time (Cherry Pick) rather than only stored case data.
Manual Inputs displayed and captured in the Cherry Pick Panel
When generating a document from a template containing Manual Input tags, users now see those tags listed by name in the Cherry Pick Panel and can enter a value for each (free text, or a dropdown if configured with options); leaving a value blank still allows generation to complete.
Manual Input Tags in PDF Forms
PDF Forms templates now support Manual Input tags (free text or dropdown), configured through a dedicated tab in Field settings — bringing the same capability already available in the Word Add-in to PDF Forms. 
Header/Footer fields shown in the Cherry Pick Panel
The Cherry Pick Panel now includes a Header/Footer selection section, using the same templates available from the Document Creation button. Selecting a template displays its fields pre-populated from the document context where available; selection remains optional. 
Header/Footer template selectable at the button level
Administrators can now configure a Header/Footer template directly on a Document Creation button, instead of requiring the end user to search through all available options every time they generate a document.
Edit and delete Firm-wide Variables in the Word Add-in
Because Firm-wide Variables are shared across templates, editing or deleting one now shows a clear confirmation before changes go live for everyone, with a more explicit warning for deleting a firm-wide variable versus a local one.
Firm-wide Variables surfaced in the Word Add-in variable panel
Firm-wide variables are now clearly separated and visually distinguished from one-off, template-specific variables in the Word Add-in variable panel, making reusable variables easier to find as templates grow.
Manual Input tags in the Word Add-in
Users can insert a Manual Input tag — not tied to any data field — into a Word Add-in template using the reserved keyword Input, so it can be filled in manually by whoever generates the document later.

 

explore

Grouping and aggregation supported for batched reports
Large reports processed in batches can now have grouping and aggregation applied correctly across the complete result set, instead of being limited by the batched execution model — giving batched reports the same grouping and aggregation capabilities as smaller reports.

Identify and filter reports by creator

A Creator column and filter are now available across Reports, Executions, and Scheduled Reports, making ownership immediately identifiable — particularly useful for Organization Owners/Admins who see reporting assets across their organization.

Filter reports by the latest Multi Object entry
Users can now report on and filter by the latest Multi Object entry associated with a parent record — for example, identifying Projects where the most recently created Client Contact is more than 30 days old.
Date grouping in reporting
Reports can now group date fields by meaningful time intervals (day, week, month) instead of treating them only as raw timestamps, making it easier to analyze trends and reporting periods.
Persons/Organizations source no longer converts to Contacts in execution flows: Fixed a regression where reports using Persons or Organizations as their source were incorrectly changed to Contacts during Copy as New, Edit Execution, and Save Report — which had caused the original report configuration (filters, columns) to be lost or altered.
Favorite filter now combines correctly with other execution filters: Fixed an issue where filtering by Favorite in combination with other criteria (e.g. Name, Object Type) could omit records that satisfied all selected filters.

 

finance

Invoice-specific email templates
Administrators can create invoice-specific email templates from the Control Center, letting Finance users select and preview a template before sending each invoice for consistent, professional client communications.
Send invoices via email
Finance users can send finalized invoices directly via email from the Finance workspace, with the PDF generated automatically in the background. Recipients are pre-filled from the account's configured defaults, and the invoice status updates to Sent once delivered — keeping the billing process seamless and fully traceable.

 

workflows

Rule-to-rule connections
Workflow designers can now connect one rule directly to another, letting a template evaluate conditions in sequence without inserting placeholder elements just to hold the flow together — keeping task lists clean and enabling multi-stage gating logic.
Object label and record link on task-drawer "From" attribute
Tasks created by a workflow now show both the object name and the record name that triggered them, with the value turned into a link — letting users jump straight to the source record instead of hunting for it.
Field tags resolve against the triggering object
When a workflow is started by an object of a different type than the one it runs over, dynamic fields in task templates and delays now resolve against the record that actually triggered the workflow, instead of coming back empty.
Blocked executions highlighted in list views
Executions that cannot move forward are now visually flagged wherever executions are listed, making it easy to find and unblock them without opening each one individually.
"Triggered From" field on manual starting rules
Starting rules on a manual trigger can now target a specific object beyond the workflow Context via a new "Triggered from" field, which feeds condition evaluation alongside the Context object, with a banner explaining what the selection is for.
Disconnected-node validation moved to the Publish action
Workflow templates are now checked for disconnected nodes at the moment of publishing, blocking a template from going live with steps that connect to nothing — protecting against templates that stall partway through or skip work entirely.
Task Resolution stored as a single value
Task resolution is now stored as a single value on the task rather than a list of events, giving reporting and task views one clear source of truth for how a task was resolved and removing the need to interpret which list entry is the real resolution.
Blocked-state signal for stuck intermediate rules
When a waiting point in a run finds no matching path, the run now surfaces a clear signal that it is stuck there, instead of quietly going nowhere.
Blocked-state signal for unassignable tasks
When an automated task cannot be assigned to anyone, the run now surfaces a clear signal that work is stuck at that task, instead of silently stalling.
Execution Blocked flag
Executions now carry a Blocked flag and emit a block event whenever a step (an unassignable task, an unmatched rule, or a failed nested automation) lands in a blocked state — so users can see at a glance that an execution needs attention and act before work goes stale.
Outcome nodes for defining workflow endings
A single, complex end-of-workflow configuration has been replaced with simple Outcome Node building blocks that drop onto the canvas like any other step, letting a workflow report distinct results (e.g. "Resolved Settled" vs. "Resolved Closed No Action") without a heavy configuration panel.
Configurable closing policies for workflow executions
Template editors can now define what happens to a workflow's non-closed tasks when its execution reaches a final state — closing those tasks automatically or leaving them open for users to finish — giving teams control over cleanup and preventing active work from lingering or being lost.
Concurrent paths merging into an "ALL" rule no longer rejected as exclusive: Fixed an error that blocked saving a rule where several concurrent paths from the same output port converge and the workflow is meant to wait for all of them — this had forced teams into workarounds that changed the intended workflow behavior.
Task no longer disappears from the URL after reassignment: Reassigning a task no longer leaves the browser address pointing at a task the user can't see in their list, so reloading or sharing the link behaves as expected.

 

september 1st

adoption

Standard Mapping date fields now use ISO format
The created_at and updated_at fields on customizable objects now return dates in ISO format instead of raw timestamp, keeping date values consistent, readable, and correctly formatted across the platform after migration.
Leads relationship fields and dual context on schema import
The schema adapter now correctly creates relationship fields for Leads objects and assigns dual context to Intake objects during schema import.
Switch import source even with inconsistencies
Specialists can now switch the import source from the mapping canvas even when inconsistencies exist, with those inconsistencies surfaced directly in the UI for review — removing the previous hard block that prevented any progress.
Same email allowed as owner across multiple tenants
The same email address can now be used as the owner in multiple tenants, enabling shared accounts and service users to manage more than one tenant environment without conflicts.
+1 country code prepended to migrated phone numbers
Migrated phone numbers in the Contacts entity now include a +1 country code prefix so every number is complete and ready to use after migration.
Load Date and Last Updated Date shown in Import
Import and mapping lists now display creation and last-updated dates, are sorted from newest to oldest by default, and include a select-all option within an import.
Inline field search when drawing connection lines
Specialists can now search for the target field directly when drawing a connection line from a source field (and vice versa), instead of scrolling through long field lists manually.
Share maps across imports with data contract validation
Maps can now be reused and shared across different imports without rebuilding them from scratch, saving time across clients and executions. The system also validates data contract structure consistency before any execution runs, preventing structural mismatches.
Clearer error detail in execution failures
When a migration execution fails, users can now see exactly what went wrong at each step — including the object, field, error type, and operator involved — directly in the failure modal, without needing to contact engineering or read raw logs.

 

automations

Partner Apps connectors usable as Automation actions
Users can create Connectors to external or internal endpoints through partner apps in the Control Center. These Connectors can now be converted into reusable actions for Automations, allowing users to call configured endpoints without manually entering the URL or credentials each time.

 

communications

Granular admin permissions for the Control Center
Admin access can now be controlled with separate permissions for Activity Feed, Provider Set-up, and Templates, instead of a single broad admin permission.

 

core

Standard fields backfilled across all tenants
Standard Person, Organization, and User fields are now consistently available across all tenants. Existing tenants missing these fields receive them via a backfill migration, and newly provisioned tenants include the full standard field set by default — no manual intervention required.
"Main Office" flag at the tenant level
Tenant administrators can now designate one office as the Main Office from General Settings. This gives the system a single time zone reference used by Automation for task scheduling. Only one Main Office can be active at a time — selecting a new one automatically replaces the previous designation.
User GET endpoints return updated contact data structure
The User GET and GET list endpoints now retrieve phone, email, and address data from the updated canonical data structure, ensuring accurate responses following the communications data migration.
Rule Builder condition editor preserves display format
The rule condition editor now preserves the user's chosen display format after saving, preventing unexpected syntax changes. Complex or long expressions are also better accommodated through an auto-expanding text box or modal view.
Audit log and event flagging for contact merges
Contact merge actions are now recorded in the audit log, showing who performed the merge and which contacts were involved. Merge-triggered events are also flagged with metadata so downstream systems and webhook consumers can identify and handle them appropriately.
Field Tag Builder supports sub-contextual objects
The Field Tag Builder now supports sub-objects, allowing users to create tags that reference fields on dependent objects in addition to top-level ones.

 

customization

Object aggregation across project groups ("Receive from Secondary")
A new Receive from Secondary attribute lets the primary project in a project group act as an aggregator, displaying its own records alongside shared-object records (e.g. Incident Data) from all secondary projects in one consolidated view.
Relationship fields auto-sync when a new context is added
When a new context is added to an object, all relationship fields pointing to that object are now automatically synchronized to include the new context, instead of requiring administrators to update each one manually.
Substring extraction for calculated fields
Calculated fields that output text now support FIRST and LAST substring extraction functions, letting administrators pull a specific portion of a string (e.g. the last 4 digits of an SSN) without a manual workaround.
Dedicated Org Name field for Organizations
Organizations now have a required Org Name field as the primary identifier, with the merge field updated to use it. Legal Name remains available as an optional secondary field for formal or contractual use.
Edition drawer resolves full record context before rendering
The edition drawer now always resolves the full record context — object type, schema, fields, and configurations — before rendering, fixing cases where it displayed incorrectly or incompletely, and improving performance.
Open full contact record from the relationship field drawer
A new button at the top of the contact relationship field drawer opens the full contact record in a new browser tab, giving users access to custom objects and full contact information without losing their current project context.
Confirmation before leaving a form with unsaved changes
Users who try to navigate away from a form with unsaved changes are now prompted to confirm before leaving, preventing accidental data loss.
Faster, non-blocking schema changes
Object creation operations (collection creation, graph updates, index creation) now run asynchronously via a Kafka-based flow instead of synchronously in the request path, avoiding timeouts and slow responses as schemas grow.
Import completion notifications
Administrators are now notified as soon as an import completes, both via a floating panel and platform notifications, with a downloadable report detailing anything that was skipped or failed.
Immediate feedback on invalid import files
Uploaded import files are now validated immediately, so administrators get clear feedback on structural problems right away instead of waiting for the import to run.
Partial form import when some fields are missing
Importing a form into a destination tenant that's missing some referenced fields or components no longer blocks the whole import — the system brings in what it can and clearly reports what was left out.
Import an object with its forms and type assignments
Administrators can import an object schema — including its forms and form assignments — into a destination tenant without overwriting existing configuration, whether the object is new or already exists there.
Export an object with its forms
Administrators can export one or more object schemas, including all associated forms, as a single JSON file directly from the schema module, for moving validated configuration between environments.

 

explore

Chart configuration separated from the Data Table
Chart configuration controls now live in the Data Visualization section, separate from the Data Table, for a clearer distinction between visualization and table functionality.
Hidden fields excluded from Reporting
Fields configured with the Hidden limitation are no longer available when building reports.
Hidden fields excluded from Advanced Search
Fields configured with the Hidden limitation are no longer available to end users when building Advanced Search queries.

 

finance

Bulk invoice generation across projects
Finance users can generate invoices for all pending items across multiple projects at once instead of going project by project. Selected items are automatically grouped by project into one draft invoice per project, with the same fields, behavior, and capabilities as any manually created invoice.

 

workflows

Timers stop automatically on bulk reassignment
When users reassign or unassign a group of tasks at once, any running timers on those tasks now stop automatically the moment each change succeeds, keeping recorded time accurate.
Task timers synced with Finance
Task timers are now synced with Finance so time tracked on a task is visible to billing and vice versa. Finance becomes the single system of record for timers — tasks remain a place to start and pause a timer, but both surfaces show the same record.
Inherited assignment now traverses intermediate nodes
Inherited assignment now correctly resolves an owner even when a delay or automation node sits between a task and its assignment source, instead of leaving the task unassigned and requiring manual intervention.

 

bug fixes

Favorite status no longer stuck loading (Executions)
Adding or removing an Execution from Favorites now reflects the updated status immediately, instead of leaving the UI stuck in a loading state until the user navigates away and back.
Favorites actions failing for Reports and Scheduled Reports/Runs
Adding or removing a Report from Favorites no longer returns a 500 error, and the same action on a Scheduled Report or Run no longer leaves the page loading indefinitely.
Quick Search now returns exact email matches
Searching by a complete email address now correctly surfaces the record with that exact email, instead of returning unrelated partial matches.
Selected columns stay marked as selected
Columns already added to a report now remain visually marked as selected when reopening the "+ Columns" panel.
Phones and Addresses fields available again in Explore
The Phones and Addresses fields are available again in the field selector for filters and report columns when using Persons as the data source.