Integrations and API recipes
The Integrations section gained a clear empty state, a form for requesting a new connector, and an API recipes page — ready-made call examples you can copy and run.
The Integrations section gained a clear empty state, a form for requesting a new connector, and an API recipes page — ready-made call examples you can copy and run.
Portal appearance is built on brand tokens: colors and typography are set once and applied consistently across every section. The preview shows the result as employees will see it, not an approximation.
The feed and its embedded items merged into a single table with a Type column instead of two tabs, and the server sets the order of the mixed feed. The admin collapsed to three tabs — Feed, Analytics, Settings — and creation goes through one button with a type picker. Old ?tab= links lead to wherever their content moved.
The challenge showcase searches and filters on the server, with pagination and a date-range filter — the lists no longer truncate in large spaces. Challenges are wired into shared comments and reactions, and the discussion counter updates live. CSV progress import became repeatable: re-uploading the same file does not double progress, rows with blank cells are not dropped, and unresolved employees can be found by search so the import can be applied partially.
Voting in the ideas bank is reduced to a single action — upvote. The support counter now counts upvotes only, with nothing subtracted, so the number under an idea means exactly what it shows. The API contract and the docs were brought in line.
An employee's team is derived from the reporting graph rather than from the department. One definition is used everywhere: My Team, Learning and Performance Review all resolve the roster the same way. In the Team section the tree expands, and availability is no longer shown where there is no data behind it.
Models for AI features are configured through presets: one set defines which model serves which operation, instead of configuring each feature separately. The preset, residency and AI credits are saved in a single action. Permission to use foreign models became a separate right with a toggle in the admin panel.
In the knowledge base editor you can select a fragment and call AI right over the selection, without leaving the page. The trash moved onto its own axis: a page is marked as trashed and restored from there instead of changing its publication status — a draft comes back as a draft.
One ingest and transcode pipeline for video: an uploaded clip is prepared for playback automatically, news posts count video views, and upload limits are shown before the upload rather than after. Segment delivery moved to the web server, so playback is smoother.
Context reaches the language model only through a privacy envelope with a personal-data detector. The detector moved to a transformer recognition model: on the internal check set it finds 20 cases out of 20, against 17 before. Direct calls to the model adapter that bypass the envelope are forbidden and closed off by an automated build gate.
Agent step approvals are available on the web: a card right inside the step log, and a separate list outside the dialog — no hunting for what is waiting on you. Every agent run now has a journal: what was launched, which steps ran and how it ended. Credit spend is tied to the run that incurred it.
A new "Pages" tab shows traffic to created pages and activity by hour. Portal sections and pages are now separate, unique visitors were added, and the aggregate is computed server-side — the lists no longer truncate and show every section in full.
Analytics now distinguishes where an employee came from — the web portal or the mobile app. The channel is resolved server-side from the verified auth context and cannot be forged by a client. A MAU-by-channel report was added; where there is too little data the report is hidden as a whole, not cell by cell.
Managers now have a "My Team" page in Learning: their reports' assignments, learning objectives and states, a competency map in the employee drilldown, and a "Certificates" tab. Access is derived from the org structure — from having reports, rather than from a separate permission — so a new manager needs nothing granted by hand.
The "Access rights" tab gained confirmations, role changes and clear states; grants and revocations are written to the audit log. Added: recovery of access to a space left without an owner, reindexing of a single space or the whole tenant, an "AI and indexing" tab, and pagination in the admin lists.
The invoice is generated as a PDF at issue and downloads from the portal. Overdue handling now works end to end — from the due date through reminders to a grace period. Billing became per-day: a change in headcount inside a period is prorated by seat-days, with a ledger of charges. Price is pinned to a plan version rather than to the plan, so a price change does not rewrite invoices already issued. On the free plan, AI credits are available pay-as-you-go.
Departments can be combined into groups and compared on a two-curve chart. Groups are configured in the admin panel, and their roots are validated on save. Separately, a report on searches that returned nothing was added — it is shown only where there is enough data that no individual can be identified.
Courses are now wired into the portal's shared social layer: likes, comments and reactions work the same way they do in news. Discussion counters appear in the catalog and on the cards, and a course has its own page outside the catalog route.
Courses now have learning objectives. Materials and questions link to objectives, progress is counted by objectives mastered rather than by percentage alone, and the course card and completion screen show what has been learned. The progress mode is switched in course settings; publishing freezes the objectives and the mode into a snapshot, so nothing shifts under learners mid-course.
A new "My Team" section: a team roster with profiles, an availability counter driven by live absence data, a day-by-day absence timeline, and self-service absence planning. The section is enabled as a separate module.