Leapsome Workflows allow you to automate HR processes end-to-end, and with webhook support, you can extend those automations beyond Leapsome to the other tools your team relies on. Webhooks make it possible to send data from Leapsome to an external system, pause a workflow until an external task is completed, or even kick off a Leapsome workflow from an event that happens in another tool entirely.
This means your HR processes no longer live in a silo, they can connect to tools like Okta, Jira, Zapier, or any other web-enabled platform in real time, without manual handovers or duplicate data entry.
Rather than checking for updates manually, webhooks work proactively: as soon as a defined event occurs, data is automatically sent or an action is triggered, no polling, no waiting.
Table of contents
- When to use webhooks in Workflows
- The three webhook use cases
- How webhooks work
- Authentication
- Setting up a webhook step in a workflow
When to use webhooks in Workflows
Webhooks in Leapsome Workflows are a good fit when:
- You want Leapsome to automatically send employee data to a third-party tool when something changes (e.g., a new hire is created, a manager is updated)
- A workflow step depends on a task being completed in an external tool, and you need the workflow to pause until that happens
- An event in an external tool (e.g., a training completion in your LMS) should automatically trigger a Leapsome workflow for the relevant employee
Please note: Webhooks in Leapsome exist within the Workflows module. This means the use cases are tied to workflow logic; they are not standalone API endpoints. If you need a fully custom webhook integration, you may need IT / developer support depending on your setup.
The three webhook use cases
Outgoing: Call a webhook
Goal: Something that happens in Leapsome triggers data being sent to a third-party tool.
When a workflow step of the type 'Call a webhook' is reached, Leapsome sends the defined employee attributes to the external tool's webhook URL.
Example: A new employee is created in Leapsome. A workflow triggers and, as one of its steps, calls Okta's webhook, passing along the employee's name, email, and team. Okta then uses this data to create the user and assign the right permissions automatically. This step type is particularly useful when Leapsome is your source of truth for people data and you want to keep downstream tools in sync.
Incoming: Wait for a webhook call
Goal: A Leapsome workflow pauses until an external tool signals that a specific step has been completed.
When the step 'Wait for a webhook call' is reached, the workflow holds at that point. Once the external tool calls Leapsome's webhook for that step, the workflow continues to the next step.
Example: During onboarding, the IT team receives a Jira task to set up a laptop for a new joiner. The Leapsome workflow waits at this step. Once the Jira task is marked as complete, Jira calls Leapsome's webhook, and the workflow moves on to the next step, for example, notifying HR to grant system access.
Please note: Only use this step type when you are confident the external action will be completed at some point. If the webhook call never arrives, the workflow will remain paused indefinitely. An admin can manually skip the step if needed.
Incoming: Enroll users when a webhook is called
Goal: An event in an external tool triggers a user to be enrolled in a Leapsome workflow.
Instead of a date-based or event-based trigger inside Leapsome, the enrollment trigger for the workflow is a webhook call from an external tool. The external tool sends the email address(es) of the relevant user(s), and Leapsome enrolls them in the workflow.
Example: An employee completes a training course in your LMS and receives a certificate. The LMS calls Leapsome's webhook, which enrolls the employee in a workflow that prompts them to upload the certificate via the 'Upload document' step.
How webhooks work
Webhooks function similarly to an API call: they send data or trigger an action via an HTTP POST request. The key difference is that they are event-driven - instead of your system asking another system for updates, the update is pushed automatically as soon as an event occurs.
In Leapsome, every webhook step generates a unique webhook URL and bearer token. Depending on the direction:
- Outgoing (Leapsome → External tool): Copy the webhook URL from the external tool and paste it into the Leapsome step settings. Leapsome calls that URL when the step is triggered.
- Incoming (External tool → Leapsome): Copy the webhook URL generated by Leapsome and provide it to the external tool. The external tool calls that URL when the relevant event occurs.
Authentication
All webhook calls must include a bearer token in the HTTP request header for security. This token is:
- Generated automatically by the receiving tool (i.e., Leapsome generates the token for incoming webhooks; the external tool generates it for outgoing ones)
- Included in the webhook URL that is copied and pasted between tools
No additional authentication setup is required for the most common setup - copying and pasting the URL with the token is sufficient.
Setting up a webhook step in a workflow
- Go to 'Settings' > 'Automations' and click on 'Workflows'
- Open an existing workflow or create a new one
- Add a step and select the relevant webhook step type:
- 'Call a webhook' (outgoing)
- 'Wait for a webhook call' (incoming)
- 'Enroll users when a webhook is called' (as the workflow trigger)
- For 'Call a webhook': paste the webhook URL (including bearer token) from the external tool into the step settings, and select the employee attributes to include in the payload
- For incoming webhook steps: copy the Leapsome-generated webhook URL and bearer token and provide these to the external tool
- Save and activate the workflow
Most setups require only copying and pasting a URL - no coding or developer involvement needed. More advanced configurations (e.g., custom payloads, scripted calls) may require support from your IT team.