If you want to sync employee absences to another system, e.g., create calendar events in a different system, or ensure absences are included in a project scheduling tool, you can use webhooks in workflows to send specific data from Leapsome to third-party systems.
Please note that while this supports syncing data to external systems, it is different from regular API-based integrations. Data is not synced regularly, and not with all absences; only if a change is made on Leapsome do we send the data of the specific absence that was created or changed.
Webhooks are integrated into Leapsome's Workflow builder. Once you've set up a workflow, the workflow timing defines the trigger when data is pushed. What data is included depends on the workflow trigger type.
Once set-up, the workflows will be triggered,, e.g., whenever an absence is created or updated. To ensure the data is synced to your external tool meaningfully, you’ll need to set-up rules on how to process the webooks payload sent by Leapsome, This depends on your needs, the use case and specific system you work with. We recommend technical resources for this step.
To send data related to absences, you can use these workflow triggers:
- Event > Employee absence created
- Event > Employee absence updated
- Date > Absence start date
- Date > Absence end date
For most use cases around absence syncing, we recommend the following set-up on Leapsome side:
Create a new workflow to send data when a new absence is created in Leapsome. For this, select trigger type event > “Employee absence created”.
In steps, add "Call webhook" directly on the event (more details on this step further below).
Create a second, new workflow to update existing absences when they are changed in Leapsome. Here, the trigger is “Employee absence updated”.
The steps are equivalent to the first workflow.
Both workflows need to include one step “Call webhook” that sends the data via webhooks. To receive the data in a meaningful format, you need either an automation tool like Zapier or ensure the receiving system supports receiving data from webhooks.
- Step: Call webhook
- Add relevant employee data, e.g. Employee ID, email
- Add weebhook URL - this is generated in the system receiving the data, e.g. in Zapier.
The webhooks request body contains the same data points for both absence created and upsence updated. For absence-related flows, the metadata section contains the following details per individual absence:
- absenceID
- absenceType
- absenceStart - timestamp
- absenceStartDuration - halfDayMorning, halfDayAfternoon, fullDay
- absenceEnd - timestamp
- absenceEndDuration - halfDayMorning, halfDayAfternoon, fullDay
- absenceDurationCalendarDays - number (duration without taking work schedule and public holidays into account)
- absenceActualDurationDays - number (duration taking work schedule and public holidays into account)
- absenceStatus: active, removed
- absenceApprovalStatus: pending, autoApproved (if no approval is required), approved