🚀 This release is all about making day-to-day HR work easier to manage and easier to trust, with clearer reporting, smoother performance workflows, and fewer manual steps across key processes.
✨ What you’ll notice most
Better visibility into changes: build Historical custom reports to track how employee data evolves over time and combine changes from different areas in one report.
Stronger link between goals and evaluation: include OKRs in performance reviews so achievements from specific OKR periods can be reviewed and rated without rewriting them into questions.
More connected workflows: integrate Ashby so hired candidates can flow into PeopleForce automatically.
🔧 Alongside the major updates, we’ve also added a set of smaller improvements across imports, exports, surveys, UI consistency, and API. These changes save time every week and make the platform more consistent.
📊 Custom report of historical changes
You can now build custom reports that show changes over time, not just the current state. With the new Historical data source, you can combine changes from different areas in one report, for example, position and department changes, location changes, job profile updates, salary and additional compensation updates, and still add regular employee fields for context and filtering.
When creating a report, you’ll see extra fields marked as Historical. Add the fields you want to track together with Effective on to see when changes take effect. This makes it easier to review what changed in a selected period and share a focused report with the right audience. More details here.
❗Note: We're rolling out this feature gradually. If you’d like to test it, please contact us at support@peopleforce.io
🎯 Include OKRs in the performance review
You can now bring OKRs (objectives and key results) directly into a performance review. When creating a review cycle, turn on Include objectives and select the objectives due period to let people evaluate the right OKR cycle even if it doesn’t match the review timeframe.
To control where and how OKRs appear in the review, use the review question template. In the template, add an Objectives questions and then apply it to the corresponding parties. Once enabled, PeopleForce pulls the employee’s OKRs into the review and turns them into rateable items, with quick access to key result progress while reviewing. More info here.
🔗 Ashby integration
If your team uses Ashby to run hiring, you can now connect it to PeopleForce and automatically create a PeopleForce profile when a candidate is hired in Ashby. This reduces manual work between Recruiting and HR and helps ensure the new hire flow starts with key data already filled in.
The setup is webhook-based and takes a few minutes: install the integration in Settings → General → Integrations, copy the generated URL and Secret key, then create an Ashby Candidate Hired webhook using those values. From then on, every “hired” event in Ashby triggers the transfer to PeopleForce automatically.
You can also control exactly what data arrives to PeopleForce using Data mapping to map standard fields and add Ashby custom fields.
To keep the process moving, configure Notifications and select employees, so the right people are alerted when a new hire arrives. If you want to transfer documents too, you can enable document syncing by adding an Ashby API key and choosing the folder in PeopleForce where files should be saved. More details here.
📤 Objectives report export improvements (People view)
We’ve improved the People view export in Objectives to match what you see on screen. The exported file now includes the Total objectives column, so you can quickly see how many objectives each employee has.
If you turn on the Show also people without objectives filter, the export will include employees with 0 objectives, making it easier to build complete team lists and follow up with employees who haven’t created objectives yet.
🧩 Position table custom fields in participant conditions for performance reviews
You can now select a review participant using custom fields from the Position table, not just employee profile fields.
This helps when eligibility depends on someone’s current position details. For example, you can create a “Performance review eligible” custom field in the Position table and use it as a condition to include or exclude employees from a specific review cycle.
🔘 New Multiple-choice question type for performance reviews
You can now add a Multiple-choice question to performance review templates.
It works similarly to a rating question (you choose from predefined options), but it’s displayed as a simple list and allows respondents to select only one option. So it doesn’t suggest that one option is “better” than another. More details here.
💬 Telegram integration availability update
We’re retiring the Telegram integration due to low adoption, maintenance complexity, and the difficulty of delivering a comprehensive, consistent experience.
The Telegram integration is no longer available for new installations, but it will continue to work for customers who already have it installed.
🛠️ Other improvements
In addition to the major enhancements, we've also rolled out several other updates to improve your overall experience with PeopleForce. Here's a quick overview of these:
Core HR
Core HR
The Audit report got a refresh with better filtering and a clearer table layout. We also added additional events related to deletions, making it easier to track changes and investigate what happened.
You can now enter a Job profile in the corresponding column during the Add or update people import. When the value is matched and imported, the job profile is assigned starting from the employee’s Hire date.
We added Job profile import to help you manage job catalog data in bulk instead of updating profiles one by one. You can import job profiles with details like job level, job group, skills, and custom fields using a simple file structure.
Position history import and Employment status history import now support custom fields. During the import, match each column to the right custom field (you can do it manually if it isn’t matched automatically) to make sure all values land in the correct place.
We added a Probation ends on placeholder for workflow emails and tasks, so you can automatically include the probation end date in your messages and task details.
Job catalog export now includes custom fields, Job level and Job group
Departments export now includes department levels.
Requests export now includes a Form ID column (unique database ID).
We've added the Department employee list drawer in Settings → Departments and in People → Org chart → Department org chart. Clicking the number of people in a department now opens a drawer with the list of employees assigned to that department.
Workflow tasks and forms no longer default to the workflow creator when the assignee field is empty. Instead, they’re now assigned to the workflow owner, which makes ownership and responsibility clearer (especially after workflows are handed over or rebuilt).
We made action buttons across the platform easier to use by increasing the size of footer buttons like Save, Cancel, Next, and Back. This improves click accuracy and keeps page controls more consistent.
Inbox tasks now clearly show who the task is assigned to, so you don’t need to open task details just to understand who it’s about.
We improved how historical fields behave for future hires to make the system more consistent and to prevent missed onboarding automations. When a future hire has only one upcoming record (and no current record yet), the value is now treated as active starting from the vand is shown on the employee profile. This also means workflows can correctly include future hires based on historical field values, so onboarding workflows trigger as expected.
We now automatically remove Performance notifications older than 180 days, keeping notification history relevant and reducing unnecessary data storage.
Recruit
Recruit
Vacancy and candidate pages now display identifiers to help you work faster with integrations and support:
Vacancy details now show ID and (if available) External ID, both with a copy button.
Candidate details now show Candidate ID (with a copy button) and External ID (editable and with a copy button).
You can now disqualify candidates in bulk using the Assign Candidates import. Add a disqualification date and a reason in the same import file, and the system will validate them during import. Disqualification reasons must already exist in your workspace, and the value in the file must match exactly. If a reason is missing or not found, it’s highlighted on the validation screen, and even if disqualification data is invalid, the candidate is still imported and assigned to the pipeline stage.
We updated Robota.ua publication options to show current, user-friendly values with proper localization, so posting a vacancy no longer includes outdated or confusing choices.
We added Division variables for Recruit email templates. You can now find Division variable in both the Sender and Hiring lead variable lists.
Candidate comments export now includes a Comment creator column, so it’s easier to understand who left each comment when reviewing exported feedback.
The Pipeline statistics report export now includes a Vacancy request ID column. If a vacancy was created from a request, you’ll see the request ID in the export (added right after Created at).
Perform
Perform
We made survey respondent statuses more accurate. A respondent stays Opened until they answer at least one question; only then they become Started. The respondent count now includes Started and Finished only (Opened is not counted).
Review Cycles and Pulse Surveys list pages are redesigned from table/basic layouts to a consistent card-based layout.
We refreshed the Review cycles navigation to match the new page header and made the list easier to scan. Active and draft cycles are now separated, the finished counter is removed, and sorting is now consistent (by Start date for most cycles, and by End date for finished ones).
We replaced the status icon in review cycles with a clearer status badge in the header, so it’s easier to understand the cycle status at a glance.
Pulse
Pulse
We improved survey statuses and refined the survey launch flow and interface.
Surveys now always use the participant’s locale. Survey emails and the survey interface are shown in the language defined in the participant’s profile.
You can now launch an engagement survey manually, instead of waiting for the scheduled time. Scheduled surveys have a Launch button — once confirmed, the survey is sent to participants immediately and appears in the Running section.
Time
Time
In Attendance, we added more transparency around the expected time. When you open a person’s attendance and click the Expected hours info icon, you can now see the working hours taken from their active Work pattern.
Attendance exports are now more consistent across reports. The Timesheet export includes employee names in separate columns, instead of a single “Full name” field.
In Attendance → My tab, the export now also includes employee names in separate columns (First name, Middle name, Last name).
Mobile website
Mobile website
We removed the Request a demo option from the tenant selection page on mobile web to keep the login flow cleaner and more focused.
We improved the mobile web login/auth pages: removed the duplicate logo, adjusted side paddings, and made the layout more consistent across devices.
API
API
We added/updated Job catalog API endpoints to support:
creating job profiles (system + custom fields)
retrieving job profiles (paginated list of names + IDs, and by ID)
updating job profiles by ID
assigning job profiles to employees
returning an employee’s Job profile in the “Get employee” API response





