---
updatedAt: 2026-03-08T11:27:17.000Z
---

Fetch the complete documentation index at: https://apidocs.hibob.com/llms.txt. Use this file to discover all available pages before exploring further.

# Workforce Planning Webhooks

Receive notifications about positions, openings and budgets

The Workforce Planning module in Bob allows you to plan your staffing needs and provides visibility into your current and future workforce. The workforce planning webhooks enable you to receive notifications whenever positions or data related to positions are updated. To learn more about workforce planning in Bob, see [Explore Workforce planning](https://apidocs.hibob.com/docs/explore-workforce-planning).

> 📘 Note:
>
> If you have not purchased Workforce planning, you will not have access to this feature. To learn more, see <a href="https://www.hibob.com/features/workforce-planning">Workforce planning ↗</a>.

### Before you begin

Explore [Getting started with Bob webhooks](/reference/getting-started-webhooks) to learn how to work with webhooks.

## Workforce planning events

| Workforce Planning Event | Type                                                                                                                                      | Description                                            |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| Position Created         | [workforcePlanning.position.created](https://apidocs.hibob.com/reference/post_webhook_workforce-planning-position-created)                | Triggered when a new position is created in the system |
| Position Updated         | [workforcePlanning.position.updated](https://apidocs.hibob.com/reference/post_webhook_workforce-planning-position-updated)                | Triggered when any position fields are modified        |
| Position Opening Created | [workforcePlanning.positionOpening.created](https://apidocs.hibob.com/reference/post_webhook_workforce-planning-position-opening-created) | Triggered when a new position opening is created       |
| Position Opening Updated | [workforcePlanning.positionOpening.updated](https://apidocs.hibob.com/reference/post_webhook_workforce-planning-position-opening-updated) | Triggered when position opening fields are modified    |
| Position Opening Deleted | [workforcePlanning.positionOpening.deleted](https://apidocs.hibob.com/reference/post_webhook_workforce-planning-position-opening-deleted) | Triggered when a position opening is removed           |
| Position Budget Created  | [workforcePlanning.positionBudget.created](https://apidocs.hibob.com/reference/post_webhook_workforce-planning-position-budget-created)   | Triggered when a new position budget is created        |
| Position Budget Updated  | [workforcePlanning.positionBudget.updated](https://apidocs.hibob.com/reference/post_webhook_workforce-planning-position-budget-updated)   | Triggered when position budget fields are modified     |

<Callout icon="🚧">
  **Notes:**

  * **Budgets and position** openings are always linked to a position.
  * **Use the[public API](https://apidocs.hibob.com/reference/workforce-planning)** to get full details for each object.
  * **Position opening events don’t include the position ID**, but you can get it by retrieving the opening details.
  * **Budget events do include the position ID**, because budget details don’t return it.
</Callout>

### How to handle Workforce Planning Events

1. **Receive the event notification**: Bob sends a webhook event to your endpoint whenever a workforce planning event is triggered. The payload includes the relevant entity ID (such as `positionId`, `positionOpeningId`, or `positionBudgetId`), `companyId`, and the event `type`.
2. **Retrieve the data**: Use the entity ID from the payload to call the appropriate API and retrieve the complete data for the relevant position, position opening, or position budget.
3. **How to process update events**: For update events, the payload includes a `fieldUpdatesIds` array to indicate which fields were changed. Use the API to retrieve the updated fields values.

<br />