Skip to content

Core

Connected workflows and recoverable imports

0.6.21

Business process forms, recoverable imports, email delivery and certificate workflows.

Upgrade required

  • Adopt Laravel and React SDK 0.7.0 and the App versions recorded in this release commit’s Composer and pnpm locks. Local source overlays are not production artifacts.
  • Apply Central migrations and migrations for every ready tenant before exposing the new runtime; reconcile the App catalog and restart queue workers.
  • Deploy the matching Agent Gateway after the new Core is serving. Confirm the uploads queue has a worker.

Added

  • Dataset import plan editors now receive the preview’s target Legal Entity and complete reference issues, allowing Apps to configure prerequisites together for each source category and reanalyze with the latest choices. Requires the matching App SDK update.

  • ECOUNT personnel card export guidance now has four steps. Step three lists four required and 18 optional columns in two indented groups, with brief notes below. This requires the matching SDK fileGuideSteps contract and People App guide registration.

  • The ECOUNT payroll register and leave file guides include a third step, using ecount/payroll-register/step-3.png and ecount/leave/step-3.png under the same guide image directory.

  • Data migration file guides can display step screenshots from /images/data-migration/<provider>/<dataset>/step-1.png and step-2.png. Missing or unreadable images retain the guide placeholder without interrupting the import. Guide content scrolls on wide screens as well, with the title and Close button kept visible.

  • Signup App selection now offers Select all and Deselect all across the full catalog, regardless of search or selected-only filters. Unavailable Apps are excluded from Select all.

  • Organization chart imports in Data Center now keep the applied counts, up to 200 affected organization paths, source file, and target legal entity in a result view. The ten most recent applications can be reopened there.

  • Data Center personnel import results now show settled rows in a compact table with source identity, create/update/error outcomes, and per-row details for values and changes. Row details are visible only to the operator who ran the import; up to 200 rows are retained separately from the scalar run summary.

  • Business email configuration for tenant and Legal Entity SMTP senders, layouts, and reusable content templates.

  • BPMN SendTask email mode with People onboarding content and workforce recipients, recipient exclusions, delivery history, and operator review for uncertain SMTP outcomes.

  • Authorized media downloads accept the optional boolean inline=1 query parameter to open stored PDFs in the browser for viewing and printing. Other MIME types still download as attachments. Delivery authorization, scan gates, and file-delivery tracking are unchanged; responses are private and not cached.

Fixed

  • Approval form creation, publication, and edits invalidate filing catalogs and form details. Re-entering the composer refreshes available forms so approval can continue with a published form without reloading the page.

  • Continuing approval for an existing business record without an available published form shows setup guidance. Authorized form creators can open the create page with the business binding and their permitted Legal Entity or tenant-wide scope preselected, then refresh after publication.

  • Temporary approval catalog or form-detail refresh failures retain in-progress composer inputs and offer retry. Authentication, authorization, and not-found failures still block the form.

  • Tenant-wide Process authoring receives the complete trigger catalog with payload schemas, allowing DMN input reference events in shared definitions. Agent trigger discovery remains compact and bounded on its dedicated endpoint.

  • DMN templates and restored drafts recover their input reference event when its catalog loads later, without resetting authored rules or choosing an unrelated event or schema version.

  • Core binds the SDK's NxSectionRow and NxSwitch settings primitives to its existing shared components so Apps can render setting rows and boolean controls through the public host contract.

  • App approval idempotency supports replay-first preparation under the existing session-level request lock. Object-store attachment checks can finish before the write transaction while business updates and the durable replay result still commit together. Existing two-argument calls retain their transaction behavior.

  • Import review screens using the shared onboarding footer now display save failures above the review instead of hiding them with the embedded action footer.

  • Legal-entity onboarding no longer requires a fiscal-year start month. It remains optional in the standard legal-entity editor; no database migration or SDK update is required.

  • User invitations created by imports started in onboarding use the default MAIL_MAILER and MAIL_FROM_* configuration, without requiring a business SMTP sender. Imports outside onboarding retain their business sender configuration. Restart queue workers when applying this change.

  • Read-only dataset import reviews can return directly to file selection to upload a corrected workbook. Required choices must have a valid selected option before proceeding.

  • Reopening an import in progress selects its exact server execution instead of restoring the upload draft. The saving screen also appears before the run is created and switches to the matching execution when discovered. Ticket-to-run correlation is visible only to the initiating operator.

  • Import workspaces with row editing disabled now hide default-value corrections and offer a direct file reupload action. Required choices cannot be accepted with an empty or unoffered value.

  • PHP fatal errors during dataset import now settle the queue job, run, ticket, and failure notification. Interrupted saves show reupload guidance and enable Upload again, explaining that some data may already have been saved. Bulk import jobs temporarily suspend development Telescope recording to prevent accumulated query traces.

  • Form field label tooltips now appear beside the label and can be opened with the keyboard. Payroll element migration uses this to explain the input method.

  • Import cards use the same saved run for their status and destination. Opening a completed import from ECOUNT or another source goes directly to that source’s saved result instead of an empty upload for the default source.

  • All data migration source pickers put the Nexia template first. Attendance and leave now offer Nexia templates, and payroll adds a one-employee-per-row workbook with automatic earnings and deduction totals. The selected source is retained in migration history. Requires the matching Time and Absence and Payroll App updates; no database migration is required.

  • Historical attendance reviews refresh restored employee-mapping results under the automatic-exclusion rules instead of hiding the choices while leaving Save blocked. Requires the matching SDK and Time and Absence App updates.

  • S1 historical attendance import can hide source-row editing controls. With the matching SDK and Time and Absence App update, unmatched or ambiguous employee numbers are automatically excluded, the review lists excluded employee numbers, source names, and record counts across the full file, and the past/today count breakdown is omitted.

  • Moving between import tasks now keeps file preparation and review running, restores the same pending upload or save on return, and refreshes task cards while another task is open. The default source is included in the task route so progress tracking starts consistently. A completed save keeps its in-progress evidence until the server result is readable; late responses cannot overwrite a newer review. Requires the matching frontend SDK and Payroll App update.

  • Saved import results omit the repeated dataset and source-system labels so counts and row details follow the result heading directly.

  • The saved-result heading offers an additional upload for the same dataset and source, including during onboarding.

  • Personnel import review now shows the data preview table before reference setup. Requires the matching App SDK and People App updates.

  • Personnel import promotes invitation selection to the dialog title and asks for confirmation of the selected recipient count before applying. Reanalysis after changing recipients proceeds to final send confirmation instead of reopening recipient selection. Its saved-result table includes grade, position title, and email, omits source row numbers, and hides the status column during onboarding. Requires the matching App SDK and People App updates.

  • In the onboarding Legal Entity form, selecting a registration country suggests its currency as the functional currency when that field has no saved or manually chosen value. Countries with several tender currencies still require a choice.

  • Onboarding can read several registration documents, compare their values, and place supported fields in the visible Legal Entity form as an unsaved draft. Conflicts and missing required values remain for the Account Owner to resolve before saving.

  • Invitation links now open the public acceptance screen for signed-out recipients instead of redirecting them to login. This also applies to party access invitations.

  • Invitation acceptance now uses the name already recorded for an invited person or contact, without asking the recipient to enter it again. Email-only invitations still request a name.

  • Import analysis now restores its server-reported progress and saved review after navigation or notification links. Users can stop an upload or an in-progress analysis; stopped analysis cannot publish a review result.

  • Returning to an import after a review-ready notification now restores the completed review in the original workspace instead of retaining an old progress state. A pending recalculation is labeled separately from initial file analysis, and an orphaned file selection offers a fresh upload.

  • Import choice cards show file analysis, review readiness, and saving in progress. Returning to the choice list keeps the current task visible, and its card reopens the original file review.

  • Import cards recover valid server reviews even without browser progress history and open the same review as its notification. Read analysis notices still support recovery; saved or expired reviews are not reopened.

  • File analysis notification titles include the import task name so the top-right preview identifies which data is ready.

  • Import screens and organization-chart onboarding show the task and current step: file preparation 1/2, review and save 2/2. Onboarding imports use the outer page for scrolling, and data preview tables no longer have a fixed vertical limit.

  • Reopening a historical payroll import reports its pending analysis or ready review to the choice list again. Progress carrying a server operation id is recovered even if the initial start signal was missed, and analysis, review, and saving status is checked again after refreshing the same browser tab. Requires the matching Payroll App frontend update.

  • Each import screen has a top-right Back to import list action, available during file upload, review, and saved results.

  • App-owned import cards pass the server operation id when reopened so reviews can be restored without browser checkpoints. Payroll analysis retains the original upload and target company; expired operations show an error and retry instead of an empty upload. Requires matching App SDK and Payroll App updates. Earlier analyses without recovery context remain viewable but cannot be saved.

  • Background saving shows the import target, source system, and known file name. Previous in import step 2 returns to the import list. Upload again at the bottom starts a fresh file for the same dataset and source; it is unavailable during analysis or saving. Separating payroll file drafts requires the matching App SDK and Payroll App updates.

  • Attendance and leave import review now reanalyzes changed choices when applying them, then shows the updated write counts for final confirmation. Analysis progress and failures appear beside the review action.

  • Onboarding now exposes notifications and ongoing import status. Unread analysis and import-error notices remain visible, and review or error-result links open within onboarding.

  • Business-data import review in onboarding now opens while the migration run list is still loading when the selected import has no prerequisite. A stalled run-list request reports an error with Retry instead of leaving the review in a loading state indefinitely.

  • After a personnel import completes, onboarding keeps the saved result open instead of returning to a loading review. Previous in the result footer returns to the import list, and Upload again at the bottom starts a new file. This requires the matching People App update.

  • Data Center sends a review notification when file analysis is ready and a result notification when saving has errors or fails. Clean import completion, including organization charts, does not send a notification, and clean-completion toasts from older workers are ignored. Returning to Data Center restores the operator’s latest save status.

  • Reanalyzing an import archives its earlier analysis notices and leaves only the latest review active. Organization chart notices remain separate by legal entity, and superseded review links are no longer actionable.

  • Applying edits in the personnel import reference review now requests a fresh analysis, so resolved input errors update in the preview immediately.

  • Editing a field during bulk reference creation in personnel import now keeps the review and in-progress dialog open.

  • Personnel import now groups missing reference values across the entire workbook, including values outside the 20 displayed preview rows, so bulk creation does not leave later job titles behind. Requires the matching People App update.

  • Attendance, leave, and payroll imports now open missing reference setup in the import review and refresh the preview after saving. Multiple missing leave references or payroll elements can be configured in sequence without changing screens. Attendance and leave review covers references throughout the file, including rows beyond the preview sample. Future leave dates use their own policy year; historical policy setup preserves the live leave scheme.

  • Creating a leave type from an attendance-code form opened inside import review now returns to that form and selects the new leave type instead of leaving the import popup. This requires matching SDK and Time and Absence App updates.

  • Import reviews now show plan counts as compact rows and place repeated choices beside their source labels. The Time and Absence App uses shorter ECOUNT leave group labels so the migration modes are easier to compare.

  • ECOUNT leave migration now groups source items by leave name and year, offers one-click classification across each group, and shows pending, statutory, non-balance, excluded, and settlement row counts before rechecking. Required references appear directly below the applied choices, and each leave type needs one policy setup per year. Target and half-day choices remain in the same review. This requires the matching App SDK and Time and Absence App frontend.

  • Repeated spreadsheet headers with the same values are resolved automatically. When values conflict, the import preview opens using the leftmost column as a visible default; changing the source updates the preview on the same screen.

  • Separated the five basic setup steps from each App's setup. The Account Owner can choose an App from the progress menu before finishing basic setup and return to the prior basic screen. App selection groups and searches installed Apps by family; an App without setup steps opens directly. App selection also appears when basic setup is complete instead of repeating in each step's footer. TopBar progress counts only basic steps.

  • People setup now starts with a required work calendar. Worker numbering and employment categories are optional and can be skipped. A previously skipped calendar step requires setup when no active calendar exists. The calendar step opens an onboarding form directly when none exists, and shows an onboarding review of an existing calendar with activation or edit actions; saving returns to that review before continuing. Worker numbering follows the same direct-create and saved-review flow. Employment categories open a collection review after creation so the Account Owner can add or edit more categories. The step completes automatically when any category is saved. The current step has a light gray background in the progress menu.

  • Removed security-policy review and employee onboarding checklist publication from initial setup. Their existing settings and App screens remain available.

  • Onboarding setup steps now retain their position in the URL so browser navigation and refresh can restore the selected step. A consistent previous-step control and bottom navigation bar make it possible to move back through setup, including the legal-entity form. Saving a ready legal entity now continues directly to the next available basic setting, with a save confirmation; incomplete records stay in the editor for correction.

  • After legal entity setup, the organization foundation flow now offers import or manual entry. The temporary organization created during tenant provisioning no longer counts as completed setup. Import supports ECOUNT and the Nexia template, shows unavailable source systems as disabled, provides a file preparation guide, previews and edits the organization chart, and confirms completion after saved setup progress is refreshed. Selecting or dropping the organization file now starts analysis immediately, with retry available if analysis fails.

  • Importing an organization chart no longer completes business data migration. The business-data step offers import or start without migration, and moving between setup steps checks for unsaved work. Business-data import in onboarding uses the same data task selection, source selection, file upload, and file preparation guide as Data Center. Reentering starts at data task selection, and an individual import can return to that selection. Data choices show their import status. The Account Owner explicitly finishes the step after reviewing any imported result; finishing without a successful business-data import records the step as skipped.

  • Organization and personnel imports no longer offer the direct file upload source; ECOUNT and the Nexia template remain available.

  • Onboarding uses the same choice-card design for organization setup and the business-data import decision.

  • The user invitation step now presents only the internal member form inside onboarding, without the Settings breadcrumb or duplicate page actions. It refreshes setup progress after creating a user or recording an invitation and marks the step complete before the invitee accepts. The current screen stays open after saving so the Account Owner can review the result before continuing. The invitation and other optional setup steps can be skipped from the shared footer to continue.

Adoption notes

  • Apps linking to PDF browser display require this Core media-delivery change. Existing download URLs retain attachment behavior without inline=1; no SDK change or migration is required.

  • Apps importing these primitives require React SDK 0.7.0 or later and Core 0.6.21 or later.

  • Deploy Core 0.6.21 with Laravel SDK 0.7.0, which includes the optional ApprovalIdempotency::execute(..., prepare: ...) argument, before enabling Apps that use it. Install the package versions pinned in the committed Composer lock.

Changed

  • Agent report and dashboard workflows reuse applicable catalog results and avoid redundant discovery and previews. Unchanged approved actions can resume without repeating intent classification; confirmation and current tool permissions still apply.

  • Identical failing automatic backend reads are bounded within an execution. Changed inputs and new executions remain retryable, and repeated blocked batches end with an explanation of the incomplete result.

  • Composition discovery shares permission-version checks within one discovery pass and narrows selected/search catalog construction to relationship candidates. Report lists reuse availability evaluation for identical definitions within the page; subsequent requests and execution still reauthorize. Compact Agent discovery reports the returned relationship count (zero).

  • Agent operation observations include tool execution spans to correlate downstream HTTP and database calls with the originating tool call.

  • Upload verification uses a dedicated uploads queue. Local imports now have two heavy workers, matching the production configuration. Browser upload completion waits for the server result instead of failing after one minute; dataset analysis displays queued work and continues automatically. Restart Horizon with the updated configuration when adopting this change so the new queue has a consumer; existing heavy-queue jobs can drain normally.

  • Reopening an analyzing dataset migration from the migration list keeps the upload screen and progress visible until the review result is ready, including historical attendance imports.

  • Onboarding now moves to a separate preview step after analyzing an organization chart file. An Upload again button beside Edit organization chart returns to file selection. Adding a root organization in the chart editor opens its form at the top of the list.

  • The DMN input-reference event chooser groups events by App Family and App, distinguishes the business record for shared event names, and previews usable input fields.

  • The DMN event chooser now receives owner metadata and the complete trigger catalog from the trigger endpoint, including Apps that have no decision templates.

  • Workbench offers manual start for the manually startable process in a definition that also contains an event-started sibling.

  • Manually started App process definitions copied from a template with a declared start resource require an authorized record of that resource type. The start screen offers that type and reports how to recover from a missing or incompatible record.

  • The required start resource is stored with each Process Definition and carried into later versions, so a template catalog revision does not remove an existing definition's record requirement.

  • Template readiness now checks that a required start resource has a searchable Resource Reference provider. Templates without one cannot be newly prepared for publication.

  • The optional manual-start resource list omits resolve-only resources that cannot populate its record picker; loading failures explain how to check access and retry.

  • App-owned create forms can return a new business record to the Process start dialog. The dialog restores its draft and rechecks the created record in the original Legal Entity before selecting it.

  • Published copies of old App templates that contain only unbound task names no longer offer a new manual start. The library explains that a process manager must replace them with connected work steps.

  • Tenant notification, invitation, credential, password reset, and signature emails now use the configured tenant or Legal Entity sender account. Platform signup mail still uses central mail settings.

Compatibility

  • The Agent report/dashboard and discovery optimizations require no schema migration or SDK upgrade. Deploy both Core and Agent Gateway for their complete behavior.
  • Update the People App alongside Core to hide empty reference groups. The personnel review changes need no migration. The inline reference setup requires the matching App SDK, Time and Absence App, and Payroll App frontend updates.
  • The onboarding changes require no database migration or SDK update. The People setup form and review flows, along with personnel source selection, require the corresponding People App update. Business email requires the new tenant tables and matching App SDK and People App contributions. A tenant with a prior successful business-data import may see this setup step as in progress until the Account Owner finishes it; an existing explicit skip remains valid.

Upgrade required

  • App packages declaring ProcessTemplateDescriptor::startResourceKey require an SDK version that includes the new constructor field. A published definition continues to use its pinned template version; applying a newer template is an explicit authoring action.

  • Run the tenant migration that adds process_definitions.start_resource_key before publishing or starting templates with a required business record. Deploy the matching SDK and People-family App packages with this Core change.

  • Configure an active tenant default sender before sending tenant-wide notifications, credentials, or password resets, and a Legal Entity default or inherited tenant sender before sending invitations and signature mail. Tenant mail no longer falls back to the deployment SMTP environment.

  • Run tenant database migrations to create the organization chart and mapped import result stores before processing new imports. Earlier personnel runs retain counts only.