---
updatedAt: 2025-06-09T11:00:35.000Z
---

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

# Task events (v1 Legacy)

Receive notifications about triggered task lists and tasks status updates.

> 🚧 Starting April 17, 2025 you can no longer create new V1 webhooks.
>
> Note that existing webhooks v1 will continue to run in parallel to v2 after April 1, 2025, but users will be able to create only new webhooks v2. We will provide advance notice before any future deprecation of v1 webhooks functionality, ensuring a smooth transition.

> 📘 Migrating to webhooks v2
>
> The Bob Webhooks v2 adds reliability and stability by reducing the data sent on the payload, ensuring the events will be sent in the right order, and better retries handling when a webhook fails to send the event.
>
> If you are using V1, please refer to [Migrating to webhooks v2](/docs/migrate-to-webhooks-v2).

# Working with Webhook events

Before you dive into the various event types, make sure to follow these key steps:

1. Start by exploring our guide [Getting started with Webhooks](/reference/getting-started-webhooks).
2. **Important**: We strongly recommend not relying solely on the data provided in the webhook payload. Make an API call to retrieve the necessary data in the most accurate way. To learn more, see our [best practices](https://apidocs.hibob.com/reference/getting-started-1#best-practices).

# Task Events

Use the following events to receive notifications about triggered task lists and tasks status updates.

| Event               | Type               | Description                                                       |
| :------------------ | :----------------- | :---------------------------------------------------------------- |
| Task List Triggered | todo.assign        | All general tasks triggered upon a task list trigger.             |
| Task Status Changed | todo.changedStatus | Any change in the status of a general task - completed/incomplete |

> **Note**: As best practice we recommend to use the event as a notification only, and retrieve the complete task details by using the [Read tasks of a specific employee](https://apidocs.hibob.com/reference/get_tasks-people-id)  API endpoint. Use the employee ID (which is returned in the "toDoAssigneeId" in the event's payload), to filter the API response.

# Task List Triggered Payload

```json
{
  "companyId": 1,
  "changedBy": {
    "id": "2471054914621538305",
    "companyId": 1,
    "firstName": "Luke",
    "surname": "Skywalker",
    "email": "gal.schwartz+local@hibob.io",
    "displayName": "Luke Skywalker",
    "site": "Hong Kong (Demo)",
    "siteId": 3
  },
  "toDos": [
    {
      "id": 9677,
      "owner": {
        "id": "2471054969701138446",
        "firstName": "Frederick",
        "surname": "Bateson",
        "email": "demofredrick@email.io",
        "displayName": "Frederick Bateson"
      },
      "title": "Set a 'first friday' night out",
      "requestedFor": {
        "id": "2471054981302583315",
        "firstName": "Austin",
        "surname": "Legge",
        "email": "austin@email.io",
        "displayName": "Austin Legge"
      },
      "due": "2021-04-11",
      "linkInBob": null,
      "set": "Onboarding",
      "workflow": "Onboarding",
      "ordinalInWorkflow": 9,
      "description": "How was week one for your new starter(s)? To welcome them properly, invite them out for a drink on their 'First Friday'",
      "status": "Open",
      "completionDate": null
    },
    {
      "id": 9680,
      "owner": {
        "id": "2471054914621538305",
        "firstName": "Bob",
        "surname": "Skywalker",
        "email": "bob@email.io",
        "displayName": "Bob Skywalker"
      },
      "title": "Send intro email to the company",
      "requestedFor": {
        "id": "2471054981302583315",
        "firstName": "Austin",
        "surname": "Legge",
        "email": "austin@email.io",
        "displayName": "Austin Legge"
      },
      "due": "2021-04-09",
      "linkInBob": null,
      "set": "Onboarding",
      "workflow": "Onboarding",
      "ordinalInWorkflow": 11,
      "description": "Make new starters feel like they belong by sending a welcome email to the entire company. The little things can make all the difference",
      "status": "Open",
      "completionDate": null
    }
    ],
  "requestedFor": {
    "id": "2471054981302583315",
    "companyId": 1,
    "firstName": "Austin",
    "surname": "Legge",
    "email": "austin@email.io",
    "displayName": "Austin Legge",
    "site": "New York (Demo)",
    "siteId": 2
  },
  "pivotDate": "2021-04-08",
  "assignmentType": "manually",
  "workflow": {
    "id": 1,
    "name": "Onboarding",
    "message": "<div>This is an onboarding tasklist</div>",
    "automaticTriggerEnabled": false,
    "automaticTrigger": {},
    "filter": [
      {
        "fieldPath": "/internal/lifecycleStatus",
        "operator": "text_equals",
        "values": [
          "employed"
        ]
      }
    ],
    "owner": "2471054979121545234"
  },
  "type": "todo.assign",
  "creationDate": "2021-04-08T10:47:02.087"
}
```

## Task Status Changed Payload

```json
{
  "companyId": 4765676,
  "changedById": "2471054914621538305",
  "changedByName": "Bob Skywalker",
  "newStatus": "Closed",	// task's new status
  "toDoId": [	// task internal id
    28805776
  ],
	"toDoRequestedForId": [		
    "247105491462156754"
  ],
  "toDoAssigneeId": [
    "2471054914621538305"
  ],
  "toDoAssigneeName": [
    "John Mann"
  ],
  "toDoTitle": [
    "Open company email for ne"	// truncated to 25 characters
  ],
  "type": "todo.changedStatus",
  "modificationDate": "2021-04-07T14:26:36.547"
}
```

> **Note**: The Webhook event payload may contain truncated values (such as the task description or title) in case they are long. Use the  [Read tasks of a specific employee](https://apidocs.hibob.com/reference/get_tasks-people-id)  API endpoint to read the complete task details.