Personio is an all-in-one HR software for personnel management, recruiting, payroll, and absence management. With the integration, anny can detect absences from Personio and react to them.
With Personio, you can in anny:
- Automatically cancel bookings when employees are marked as absent in Personio
- Create absences in Personio when employees book specific resources in anny (for example, home office)
- Configure absence rules individually per absence type and resource
The integration is especially handy when your team manages hybrid workspaces through anny and absences are maintained centrally in Personio.
Typical use cases
How the Personio connection works
Authentication runs via OAuth with a client ID and client secret that you generate in Personio. This authorizes anny to read employee data and absences and to create absences. If the credentials become invalid (for example, because they were deleted in Personio), synchronization pauses until you successfully verify the authentication in anny again.
Synchronization only checks absences that start on the current day. Future absences (for example, a vacation next week) are only detected and processed on the relevant day, not in advance.
Connect Personio
Requirements
Before you connect Personio, make sure you have the following:
- In Personio: admin access with permission to create API credentials under Settings > Integrations > API credentials
- In Personio: the following API scopes must be enabled:
- Read employees
- Read/edit absences
- Read/edit attendances
- Read/edit webhooks
- In anny: admin role in the organization
Set up the connection
Open the integration
Open Integrations from the sidebar and go to Personio.
Generate API credentials in Personio
Log in to Personio and navigate to Settings > Integrations > API credentials.
- Click Add new credentials
- Enter a name, for example “anny API key”
- Choose the integration Other
- Enable the scopes: Read employees, Read/edit absences, Read/edit attendances, Read/edit webhooks
- Click Generate new credentials
Verify authentication in anny
Enter the generated client ID and client secret into the Client ID and Client Secret fields in anny and click Verify authentication.
Configure rules
After successful authentication, set up the rules you want (see Settings & options).
Once the connection is active, you can configure cancellation rules and absence creation rules.
Settings & options
The Personio integration offers two rule types that are configured independently of each other.
Cancellation of bookings through absences
Define which absence types cancel bookings automatically.
Add a new rule
In the Cancellation of bookings through absences section, click Add.
Select the absence type
Choose one or more absence types from Personio (for example, sick leave, vacation).
Add a restriction (optional)
Without a restriction, the rule applies to all resources. Via Add restriction, you can limit the rule to a resource, group, or category. If you choose a resource with sub-resources, the rule applies to its sub-resources. For multiple restrictions, create multiple rules.
Confirm
Save the rule with Confirm. With Synchronize, you can trigger synchronization immediately, otherwise it runs automatically every hour.
Once a rule is active, anny cancels the affected person’s confirmed bookings automatically. The cancellation applies even after the cancellation deadline has passed, and the name of the absence type appears as the cancellation reason. For multi-day absences, all bookings across the entire absence period are cancelled immediately.
By default, even unapproved absence requests in Personio trigger a cancellation. With the Only cancel accepted absences switch, you limit cancellation to approved absences.
Automatic creation of absences
Define which resource booking automatically creates an absence in Personio.
Add a new rule
In the Creation of absences through bookings section, click Add.
Choose the trigger in anny
Choose the resource, group, or category whose booking should trigger an absence (for example, the “Home office” resource). For resources with sub-resources, choose the parent resource: bookings of the sub-resources count, a rule directly on a sub-resource does not apply.
Choose the absence type in Personio
Choose the absence type that should be created in Personio (for example, “Home office”).
Confirm
Save the rule with Confirm.
Once the rule is active, every confirmed booking of the chosen resource creates an absence in Personio. There, the absence goes through the normal approval process and carries the comment “automatically created by anny”. If you cancel the booking, anny deletes the created absence again; if you reschedule it, the absence is automatically recreated.
The assignment to the half-day happens automatically:
For multi-day bookings, the assignment applies to the first or last day of the absence.
Limitations
The Personio integration does not support:
- Forward-looking checks: absences are only detected on the current day, not in advance (for example, no cancelling of vacations entered for next week)
- Real-time synchronization for cancellations: bookings are checked hourly, not in real time
- User provisioning or deprovisioning: employees are not created or removed in anny automatically
- Automatic restoration: cancelled bookings stay cancelled, even if the absence in Personio is later declined or deleted
- Error notifications: if creating an absence in Personio fails, anny does not retry and does not notify admins
Disconnect
If you deactivate the integration, no new synchronizations are performed. Existing rules stay saved but inactive. When you delete, all rules and the connection configuration are removed.
You can do both under Integrations: deactivate via the toggle in the top right, delete via the three dots → Delete.
FAQ
How often does anny sync absences from Personio?
Synchronization runs automatically once an hour. You can trigger it manually at any time via the Synchronize button.
Are future absences taken into account too?
No. The integration only checks absences that start on the current day. Future entries (for example, a vacation in two weeks) are only processed on their start day.
What happens if an absence in Personio is not yet approved?
By default, unapproved absence requests also lead to automatic cancellation of the affected bookings. With the Only cancel accepted absences switch, you can limit this to approved absences. Note: if a request is later declined, bookings that were already cancelled stay cancelled.
Which Personio scopes do I need exactly?
You need four scopes: Read employees, Read/edit absences, Read/edit attendances, and Read/edit webhooks. Without these permissions, anny cannot retrieve or create absences.
Can I limit cancellation to specific resources?
Yes. When creating a rule, you can set a resource, group, or category via Add restriction; for multiple restrictions, create multiple rules. Without a restriction, the rule applies to all resources.
Troubleshooting
Bookings are not cancelled even though an absence is entered in Personio
Check whether all four API scopes are set correctly (especially “Read employees” and “Read/edit absences”). Also make sure the employee is registered in Personio with the same email address as in anny. If the Only cancel accepted absences switch is active, check whether the absence in Personio has already been approved. Also note: only confirmed bookings are cancelled.
Synchronization only cancels on a manual click
Check whether the integration is active (toggle in the top right on the integration page). If it is active, the sync runs automatically every hour. Note that only absences starting on the current day are checked.
The absence in Personio is not created
Make sure the “Read/edit absences” scope is active and the rule is configured correctly. Important for sub-resources: the rule must point to the parent resource (or its group or category), not to the sub-resource itself. Also check whether the booking person exists in Personio with the same email address.