Connectors
HR & People
Personio
HR platform for European companies: employees, absences, attendances, and documents
Personio API referenceAPI checked August 18, 2026
- Signs in with
- Connection fields
- Runs on
- Cloud or On-Prem Worker
- Operations
- 103
- Ready-made triggers
- 0
Connect Personio
- In Neblex open Connect › Connections and click New Connection.
- Search for Personio and give the connection a clear name.
- Fill in the fields. Secret values are encrypted and never shown again.
- Click Test, then Create Connection.
| Field | What to enter |
|---|---|
| Personnel/v2 API tokenOptionalSecret | Stored Personnel Data or scoped v2 OAuth bearer token. |
| Recruiting API tokenOptionalSecret | Separate v1 Recruiting API bearer token. |
| Company IDOptional | |
| Career site hostnameOptional |
Use it in a flow
- Open a flow, open the node library and search for Personio.
- Drag it onto the canvas and choose an Operation and your connection.
- Map the operation's fields from earlier steps, or click Map with Matt.
- Use Test this step to see what it returns, then save.
To start a flow from Personio without a ready-made trigger: a Poll for changes trigger can check one of its list operations on a schedule and pass on only what is new; if Personio can send webhooks, a Webhook trigger receives them at its own URL.
Operations
103 operations in 29 groups. Each one is a step you can add to a flow.
[DEPRECATED] Applicant1
Passing applications to Personiopost_recruiting_applicant | POST | DEPRECATED: This method of passing application to Personio is deprecated and will only receive bugfixes. |
Absence Periods5
Creates a new absence period.post_v2_absence_periods | POST | Creates a new absence period. |
Deletes an absence period by ID.delete_v2_absence_periods_id | DELETE | Deletes an absence period by ID. |
List absence periods.get_v2_absence_periods | GET | - This endpoint returns a list of absence periods. |
Retrieves an absence period by ID.get_v2_absence_periods_id | GET | Retrieves an absence period by ID. |
Updates an absence period by ID.patch_v2_absence_periods_id | PATCH | Updates an absence period by ID. |
Absence Periods Breakdowns1
Retrieves daily absence period breakdowns for a given absence period.get_v2_absence_periods_id_breakdowns | GET | Retrieves daily absence period breakdowns for a given absence period. |
Absence Types2
List absence types.get_v2_absence_types | GET | List absence type. |
Retrieves an absence type by ID.get_v2_absence_types_id | GET | Retrieves an absence type by ID. |
Absences8
Create a Time-OffcreateTimeOff | POST | Adds absence data for absence types with time unit set to days . |
Create an Absence Periodpost_company_absence_periods | POST | Adds absence data for absence types with time unit set to hours . |
Delete Absence Period by IDdelete_company_absence_periods_id | DELETE | Deletes absence period data for absence types with time unit set to hours . |
Delete Time-Off by IDdeleteTimeOff | DELETE | Deletes absence period data for absence types with time unit set to days . |
Get Time-Off by IDgetTimeOff | GET | Gets an absence period for absences with time unit set to days . |
List Absence Periodsget_company_absence_periods | GET | Fetches absence periods for absences with time unit set to hours . |
List Time-Off TypeslistTimeOffTypes | GET | Provides a list of absence types for absences time unit set to either days or hours . |
List Time-OffslistTimeOffs | GET | Fetches absence periods for absences with time unit set to days . |
Application1
Creating applications in Personiopost_v1_recruiting_applications | POST | Allows you to create applications in Personio. |
Application Documents1
Upload documents to be attached to applicationspost_v1_recruiting_applications_documents | POST | Uploading files to this endpoint enables you to attach them to an application later. |
Applications3
List all application stage transitions for an application ID.get_v2_recruiting_applications_id_stage_transitions | GET | Returns a list of application stage transitions, ordered by latest-first for the provided application ID. |
List all applications.get_v2_recruiting_applications | GET | Returns a list of applications for an authorized company, sorted by last updated date, newest first. |
Retrieve an application by ID.get_v2_recruiting_applications_id | GET | Retrieves an application for the provided application ID. |
Attendances9
Create an Attendance (deprecated)createAttendance | POST | This endpoint is deprecated, please use v2. |
Create an attendance period.post_v2_attendance_periods | POST | Create an attendance period and return newly created attendance period ID. |
Delete an attendance period by ID.delete_v2_attendance_periods_id | DELETE | Deletes an attendance period by ID. |
Delete Attendance by ID (deprecated)deleteAttendance | DELETE | This endpoint is deprecated, please use v2. |
Get an attendance period.get_v2_attendance_periods_id | GET | - Retrieves an attendance period by given attendance period ID. |
List attendance periods.get_v2_attendance_periods | GET | List attendance periods by given filters. |
List Attendances (deprecated)listAttendances | GET | This endpoint is deprecated, please use v2. |
Update an attendance period.patch_v2_attendance_periods_id | PATCH | Update an attendance period by given attendance period ID and return the attendance period ID. |
Update Attendance by ID (deprecated)updateAttendance | PATCH | This endpoint is deprecated, please use v2. |
Candidates2
List all candidates.get_v2_recruiting_candidates | GET | Returns a list of candidates for an authorized company, sorted by last updated date, newest first. |
Retrieve a candidate by ID.get_v2_recruiting_candidates_id | GET | Returns a candidate for the provided ID. |
Categories2
List all job categories.get_v2_recruiting_categories | GET | Returns a list of job categories for an authorized company. |
Retrieve a job category by its ID.get_v2_recruiting_categories_id | GET | Retrieves a job category for the provided category ID. |
Compensations4
Create Compensation Types.post_v2_compensations_types | POST | Creates a new Compensation Type and returns the created resource with its UUID. |
Create Compensation.post_v2_compensations | POST | Requires credential with both personio:compensations:read and personio:compensations:write scopes. |
List Compensation Types.get_v2_compensations_types | GET | Returns a list of Compensation Types for an authorized company. |
List compensations.get_v2_compensations | GET | Returns a list of payroll compensations of people for an authorized company. |
Cost Centers1
List cost centers.get_v2_cost_centers | GET | - Returns a list of existing cost centers for an authorized company. |
Custom Reports3
Get Custom Report by IDget_company_custom_reports_reports_report_id | GET | This endpoint provides you with the data of an existing Custom Report. |
List Custom Report Column Labelsget_company_custom_reports_columns | GET | This endpoint provides human-readable labels for report table columns. |
List Custom Reportsget_company_custom_reports_reports | GET | This endpoint provides you with metadata about existing custom reports in your Personio account, such as report name, report type, report date / timeframe. |
Document Management4
Delete document.delete_v2_document_management_documents_document_id | DELETE | Deletes the Document with the provided Document ID. |
Download document file.get_v2_document_management_documents_document_id_download | GET | Downloads the file associated with the provided Document ID. |
List document metadata.get_v2_document_management_documents | GET | Lists the metadata of Documents belonging to the provided owner ID. |
Update document metadata.patch_v2_document_management_documents_document_id | PATCH | Updates the metadata of the Document with the provided Document ID. |
Documents2
List Document Categoriesget_company_document_categories | GET | This endpoint is responsible for fetching all document categories of the company. |
Upload Documentpost_company_documents | POST | This endpoint is responsible for uploading documents for the company employees. |
Employees8
Create an EmployeecreateEmployee | POST | Creates a new employee. |
Get Absence Balance for Employeeget_company_employees_employee_id_absences_balance | GET | Retrieve the absence balance for a specific employee |
Get Employee by IDgetEmployee | GET | Get Employee by ID |
Get Employee Profile PicturegetEmployeeProfilePicture | GET | Show employee's profile picture. |
List Allowed Attributesget_company_employees_attributes | GET | Lists all the allowed atrributes per API credentials including custom (dynamic) attributes. |
List Allowed Custom Attributesget_company_employees_custom_attributes | GET | This endpoint is an alias for /company/employees/attributes. |
List EmployeeslistEmployees | GET | List Company Employees |
Update Employee by IDpatch_company_employees_employee_id | PATCH | Updates an existing employee. |
Employments3
List employments of a given Person.get_v2_persons_person_id_employments | GET | Returns a list of employments of a given person. |
Retrieve an employment.get_v2_persons_person_id_employments_id | GET | Retrieves an employment for the provided ID. |
Update an Employment.patch_v2_persons_person_id_employments_employment_id | PATCH | - This endpoint enables the update of an Employment resource. |
Jobs4
List all jobs.get_v2_recruiting_jobs | GET | Returns a list of jobs for an authorized company, sorted by last updated date, newest first. |
List jobs.get_v2_jobs | GET | - Returns a list of existing Jobs for an authorized company. |
Retrieve an job by ID.get_v2_recruiting_jobs_id | GET | Retrieves an job for the provided job ID. |
Retrieves a Job.get_v2_jobs_id | GET | - Returns the requested Job. |
Legal Entities2
List legal entities.get_v2_legal_entities | GET | - Returns a list of existing legal entities for an authorized company. |
Retrieves a legal entity.get_v2_legal_entities_id | GET | Returns a legal entity for the provided ID. |
Org Units2
Lists Org Units.get_v2_org_units | GET | Returns a paginated list of Org Units for the authenticated company. |
Retrieves an Org Unit.get_v2_org_units_id | GET | - Returns the requested Org Unit. |
Persons5
Create a new Person and Employment.post_v2_persons | POST | - This endpoint enables the creation of a Person resource and an associated Employment resource. |
Delete a Person.delete_v2_persons_person_id | DELETE | - This endpoint enables the deletion of a Person resource. |
List persons.get_v2_persons | GET | - This endpoint returns a list of persons. |
Retrieve a person.get_v2_persons_id | GET | This endpoint returns a specific person identified by the ID parameter. |
Update a Person.patch_v2_persons_person_id | PATCH | - This endpoint enables the update of a Person resource. |
Project Members3
Add Project Memberspost_v2_projects_id_members | POST | Adds a list of project members to a project. |
List Project Membersget_v2_projects_id_members | GET | List all project members by given project ID. |
Remove Project Membersdelete_v2_projects_id_members | DELETE | Remove project members from a project. |
Projects9
Create a Project (deprecated)post_company_attendances_projects | POST | This endpoint is deprecated, please use v2. |
Create a project.post_v2_projects | POST | Create a project and return the newly created project ID. |
Delete a Project.delete_v2_projects_id | DELETE | Delete a project by given project ID. |
Delete Project by ID (deprecated)delete_company_attendances_projects_id | DELETE | This endpoint is deprecated, please use v2. |
Get a Project.get_v2_projects_id | GET | Retrieves a project by given project ID. |
List Projectsget_v2_projects | GET | List all projects by given filters. |
List Projects (deprecated)get_company_attendances_projects | GET | This endpoint is deprecated, please use v2. |
Update a Project.patch_v2_projects_id | PATCH | Update a project by given project ID. |
Update Project by ID (deprecated)patch_company_attendances_projects_id | PATCH | This endpoint is deprecated, please use v2. |
Reports3
Lists all report attributes for a company.get_v2_reports_attributes | GET | Returns a list of the reports company attributes. |
Lists all reports for a company.get_v2_reports | GET | Returns a list of reports available for the company. |
Retrieves a report.get_v2_reports_id | GET | Retrieves a report for the provided ID. |
Salary Bands2
List salary bands.get_v2_salary_bands | GET | - Returns a list of existing Salary Bands for an authorized company. |
Retrieve a Salary Band.get_v2_salary_bands_id | GET | - Returns the requested Salary Band. |
Webhooks11
Create new webhook.post_v2_webhooks | POST | Create a new webhook. |
Delete a webhook.delete_v2_webhooks_id | DELETE | Delete a webhook. |
Get a webhook.get_v2_webhooks_id | GET | Get a webhook. |
Get webhook delivery activity.get_v2_webhooks_id_activity | GET | Returns delivery activity for a specific webhook. |
Get webhook events.get_v2_webhooks_id_events | GET | Returns events for a specific webhook. |
List webhooks.get_v2_webhooks | GET | Returns a list of webhooks. |
Redeliver events for a webhook.post_v2_webhooks_id_redelivery | POST | Redelivers events selected by the request parameters. |
Rotate the webhook's signing secret.post_v2_webhooks_id_signing_secret | POST | Generates a new active signing secret (or accepts a customer-supplied value) and moves the previous active secret into a 7-day retiring grace window. |
Send a ping event.post_v2_webhooks_id_ping | POST | Use this endpoint to trigger a test event of type ping for a specific webhook. |
Send a test event with custom payload.post_v2_webhooks_id_test_event | POST | Triggers a test event with a specific event type and custom payload data for a webhook. |
Update a webhook.patch_v2_webhooks_id | PATCH | Update a webhook. |
Workplaces1
List all workplaces.get_v2_workplaces | GET | - Returns a list of existing workplaces for an authorized company. |
XML1
Retrieve open positionsget_xml | GET | This is the job positions XML feed from the Company Career Site. |