Skip to content

Pinya HR Integration

WFM can import employee absence records from Pinya HR. Import runs automatically every hour via a cron job. The data is used for vacation planning and shift collision detection.


What gets imported

Pinya HR provides absence records for employees. WFM imports:

Field Description
Employee ID Matched to WFM employees by email
From/To dates Absence start and end dates
Absence type The Pinya absence type (Holiday, Sick day, HO, …), used for the type mapping below

Note

All absence records are imported. Each carries its Pinya absence type, which you can map to a specific WFM request type β€” see Absence type mapping.


Configure Pinya integration

  1. Go to Settings > Integrations > Applications.
  2. In the Pinya section, fill in:
Field Description
Base Url Pinya API base URL
Tenant Pinya tenant identifier
Access Token Authentication token
Exclude Working Time Absences When enabled, absences marked as working time in Pinya are not imported
Offset Date From (months) How many months into the past to import absences
Offset Date To (months) How many months into the future to import absences
  1. Save.

Absence type mapping

Each Pinya absence carries a type (Holiday, Sick day, HO, …). In the Absence type mapping section you can map each type to a WFM request type, so absences appear with the right label and colour in the schedule.

  1. Under Default request type, choose the request type used for any absence type you do not map.
  2. For each Pinya absence type you want to show specifically, add a row: pick the Absence type and the Request type it maps to.
  3. Click Save.

Only time-off request types are offered as mapping targets. An absence whose type is not mapped falls back to the default request type. The mapping is for display only β€” an unmapped absence is still imported and still blocks the schedule.

The list of Pinya absence types is filled from the data pulled during the hourly import, so a type appears in the dropdown once it has been imported at least once.


How import works

Import runs automatically via cron job every hour. The process:

  1. Connects to Pinya API using configured credentials.
  2. Downloads employee list and maps emails to WFM employee IDs.
  3. Downloads absence records for the configured date range.
  4. Creates or updates records in WFM database.
  5. Marks records with source "pinya" for tracking.

Manual import

There is no manual import button. Import runs automatically. If you need to trigger an import immediately, contact your administrator.


How imported data is used

Shift planning

When generating schedules, WFM checks for absence conflicts. If an employee has an imported absence during a scheduled shift:

  • The shift is automatically adjusted or split.
  • Administrators receive a notification about the conflict.

Vacation fund

Imported absences count toward the employee's vacation usage. The vacation fund tracks usage across all sources (Pinya, manual requests, other integrations).

Notifications

Workplace administrators receive notifications when an imported absence conflicts with a scheduled shift.


Data matching

Employees are matched between Pinya and WFM by email address. Make sure employee emails are consistent across both systems.

If an employee exists in Pinya but not in WFM (no matching email), the absence record is skipped.


Filtering options

Exclude Working Time Absences

By default (Exclude Working Time Absences disabled), all absence records are imported.

If enabled, records marked as "working time" in Pinya are skipped. Use this if Pinya tracks both absences and working time and you only want absences.


Notes

  • Import does not create duplicate records - existing records are matched by external ID.
  • Imported records are marked with source "pinya" in the database.
  • The date range for import is calculated from the current date plus offsets.
  • If Pinya credentials are invalid or the API is unavailable, the cron job logs an error and retries next hour.