Leave requests

Webhook topics and example payloads for the leave-request lifecycle.

PeopleForce offers four webhook topics covering the leave-request lifecycle:

  • leave_request_create — a leave request is created
  • leave_request_approve — a leave request is approved
  • leave_request_reject — a leave request is rejected
  • leave_request_withdraw — a leave request is withdrawn

If the leave policy has file attachments enabled or required, the attached files are not included in the webhook payload.

Leave request created

Triggered instantly, as soon as the leave request is created. Action: leave_request_create.

{
  "action": "leave_request_create",
  "data": {
    "id": 1062480,
    "attributes": {
      "employee_id": 2632,
      "starts_on": "2024-01-31",
      "ends_on": "2024-02-01",
      "amount": "2.0",
      "description": "Vacation with family",
      "unit": "days",
      "state": "approved"
    },
    "entries": [
      { "occurs_on": "2024-01-31", "amount": "1.0" },
      { "occurs_on": "2024-02-01", "amount": "1.0" }
    ],
    "leave_type": { "id": 13289, "name": "Vacation" },
    "meta": {
      "created_at": "2024-02-01T15:43:50.841+00:00",
      "updated_at": "2024-02-01T15:43:50.878+00:00"
    }
  }
}

Leave request approved

Triggered instantly, as soon as the last approver in the approval flow approves the request and its status changes to Approved. Action: leave_request_approve.

{
  "action": "leave_request_approve",
  "data": {
    "id": 345842,
    "attributes": {
      "employee_id": 2632,
      "starts_on": "2022-09-20",
      "ends_on": "2022-09-23",
      "amount": "32.0",
      "description": "",
      "unit": "hours",
      "state": "approved"
    },
    "entries": [
      { "occurs_on": "2022-09-20", "amount": "8.0" },
      { "occurs_on": "2022-09-21", "amount": "8.0" },
      { "occurs_on": "2022-09-22", "amount": "8.0" },
      { "occurs_on": "2022-09-23", "amount": "8.0" }
    ],
    "leave_type": { "id": 4098, "name": "Day off" },
    "meta": {
      "created_at": "2022-09-21T16:08:31.562+01:00",
      "updated_at": "2022-09-21T16:08:36.540+01:00"
    }
  }
}

Leave request rejected

Triggered instantly, as soon as at least one approver in the approval flow rejects the request and its status changes to Rejected. Action: leave_request_reject.

{
  "action": "leave_request_reject",
  "data": {
    "id": 345847,
    "attributes": {
      "employee_id": 2632,
      "starts_on": "2022-09-06",
      "ends_on": "2022-09-11",
      "amount": "32.0",
      "description": "",
      "unit": "hours",
      "state": "rejected"
    },
    "entries": [
      { "occurs_on": "2022-09-06", "amount": "8.0" },
      { "occurs_on": "2022-09-07", "amount": "8.0" },
      { "occurs_on": "2022-09-08", "amount": "8.0" },
      { "occurs_on": "2022-09-09", "amount": "8.0" },
      { "occurs_on": "2022-09-10", "amount": "0.0" },
      { "occurs_on": "2022-09-11", "amount": "0.0" }
    ],
    "leave_type": { "id": 4098, "name": "Day off" },
    "meta": {
      "created_at": "2022-09-21T16:10:25.052+01:00",
      "updated_at": "2022-09-21T16:10:28.284+01:00"
    }
  }
}

Leave request withdrawn

Triggered instantly, as soon as the leave request is withdrawn and its status changes to Withdrawn. Action: leave_request_withdraw.

{
  "action": "leave_request_withdraw",
  "data": {
    "id": 345850,
    "attributes": {
      "employee_id": 2632,
      "starts_on": "2022-09-28",
      "ends_on": "2022-09-30",
      "amount": "3.0",
      "description": "",
      "unit": "days",
      "state": "withdrawn"
    },
    "entries": [
      { "occurs_on": "2022-09-28", "amount": "1.0" },
      { "occurs_on": "2022-09-29", "amount": "1.0" },
      { "occurs_on": "2022-09-30", "amount": "1.0" }
    ],
    "leave_type": { "id": 3916, "name": "Day off" },
    "meta": {
      "created_at": "2022-09-21T16:12:48.034+01:00",
      "updated_at": "2022-09-21T16:13:13.260+01:00"
    }
  }
}

On this page