Svix

Flexportal Webhook Event Types

This is the list of event types that we currently send. For guidance on how to listen to these events, take a look at Svix's guide to consuming webhooks.

flexworker.activated

The flexworker is activated. An active flexworker is a fw who is working or will be working for the employement agency soon.

Example
JSON
{
  "data": {
    "flexworkerId": 8586,
    "internetPortalId": 143
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "flexworker.activated"
}

flexworker.changed

The information of the flexworker has changed. This can be the flexworker name, address etc.

Example
JSON
{
  "data": {
    "flexworkerId": 8586,
    "flexworkerNumber": "ABC123456",
    "internetPortalId": 143
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "flexworker.changed"
}

flexworker.connectedToPayroll

The flexworker is created in the payroll system. Payrolling itself is not yet ready.

Example
JSON
{
  "data": {
    "flexworkerId": 8586,
    "flexworkerNumber": "ABC123456"
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "flexworker.connectedToPayroll"
}

flexworker.created

A flexworker is created in the flexportal and in the payroll provider (Easyflex). It is possible to plan a flexworker for work etc. The flexworker is not yet ready for payroll operations, e.g. timesheet or download payslips.

Example
JSON
{
  "data": {
    "flexworkerId": 8586,
    "flexworkerNumber": "ABC123456",
    "internetPortalId": 143
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "flexworker.created"
}

flexworker.deactivated

The flexworker is deactivated. A flexworker who is not active is a fw who is not working for the employement agency. As such the inactive flexworker is removed from some lists in the flexportal.

Example
JSON
{
  "data": {
    "flexworkerId": 8586,
    "internetPortalId": 143
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "flexworker.deactivated"
}

flexworker.deleted

When the flexworkers is deleted

Example
JSON
{
  "data": {
    "flexworkerId": 8586
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "flexworker.deleted"
}

flexworker.offboardingStarted

When the offboarding of a flexworker started

Example
JSON
{
  "data": {
    "flexworkerId": 12,
    "journeyName": "Demo",
    "workEndDate": "2024-01-31T15:52:49.995399Z"
  },
  "eventId": "78e42323-50fc-4746-ab7d-26a4d7929e13",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:52:49.995399Z",
  "type": "flexworker.offboardingStarted"
}

flexworker.onboardingStarted

When the onboarding of a new or renewed flexworker started

Example
JSON
{
  "data": {
    "flexworkerId": 12,
    "journeyName": "Demo",
    "organisationId": 85
  },
  "eventId": "78e42323-50fc-4746-ab7d-26a4d7929e13",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:52:49.995399Z",
  "type": "flexworker.onboardingStarted"
}

flexworker.readyforpayroll

The connection between the Flexportal and a Payroll provider is set. The flexworker is ready for payroll operations, e.g. timesheet or download payslips.

Example
JSON
{
  "data": {
    "flexworkerId": 8586,
    "flexworkerNumber": "ABC123456",
    "internetPortalId": 143,
    "name": "Janssen, Jaap"
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "flexworker.readyforpayroll"
}

flexworker.residentialAddressChanged

When the residential address of the flexworker changed.

Example
JSON
{
  "data": {
    "flexworkerId": 8586
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "flexworker.residentialAddressChanged"
}

flexworker.upsertBsnAppointment

When an Bsn Appointment has been made

Example
JSON
{
  "data": {
    "appointmentAtCityHall": "2024-05-06T10:22:00",
    "flexworkerId": 8073,
    "needsBsn": false,
    "needsTransportation": false
  },
  "eventId": "29087082-8799-415d-83db-ec5c0ac3f44e",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-05-14T10:59:30.7576006Z",
  "type": "flexworker.upsertBsnAppointment"
}

house.changed

When the name or address of the house changed.

Example
JSON
{
  "data": {
    "houseId": 3389
  },
  "eventId": "78e42323-50fc-4746-ab7d-26a4d7929e13",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:52:49.995399Z",
  "type": "house.changed"
}

house.created

When a new house was created

Example
JSON
{
  "data": {
    "houseId": 3389
  },
  "eventId": "78e42323-50fc-4746-ab7d-26a4d7929e13",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:52:49.995399Z",
  "type": "house.created"
}

housingplanning.scheduled

When a flexworker is scheduled in a house

Example
JSON
{
  "data": {
    "flexworkerId": 12,
    "journeyName": "Demo"
  },
  "eventId": "78e42323-50fc-4746-ab7d-26a4d7929e13",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:52:49.995399Z",
  "type": "housingplanning.scheduled"
}

housingplanning.unscheduled

When a flexworker is unscheduled from a house

Example
JSON
{
  "data": {
    "flexworkerId": 12,
    "journeyName": "Demo"
  },
  "eventId": "78e42323-50fc-4746-ab7d-26a4d7929e13",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:52:49.995399Z",
  "type": "housingplanning.unscheduled"
}

journey.created

When a journey is created

Example
JSON
{
  "data": {
    "journeyId": 12,
    "name": "Demo"
  },
  "eventId": "78e42323-50fc-4746-ab7d-26a4d7929e13",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:52:49.995399Z",
  "type": "journey.created"
}

journey.deleted

When a journey is deleted

Example
JSON
{
  "data": {
    "journeyId": 12,
    "name": "Demo"
  },
  "eventId": "78e42323-50fc-4746-ab7d-26a4d7929e13",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:52:49.995399Z",
  "type": "journey.deleted"
}

journey.renamed

When a journey is renamed

Example
JSON
{
  "data": {
    "journeyId": 12,
    "newName": "Demo renamed",
    "oldName": "Demo"
  },
  "eventId": "38edc1ea-db38-4fe4-86b9-1fd3fa9907aa",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:54:15.8069267Z",
  "type": "journey.renamed"
}

organisation.activated

When the organisation is reactivated

Example
JSON
{
  "data": {
    "internetPortalId": 143,
    "organisationId": 8586
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "organisation.activated"
}

organisation.changed

When the organisation is changed. This can occur when the organisation is synchronized with the underlying payroll software like Easyflex or AFAS or when an organisation is created based on an Api call.

Example
JSON
{
  "data": {
    "internetPortalId": 123,
    "name": "Acme B.V.",
    "organisationId": 8586,
    "organisationNumber": "AB1234"
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "organisation.changed"
}

organisation.created

When the organisation is created. This can occur when the organisation is synchronized with the underlying payroll software like Easyflex or AFAS or when an organisation is created based on an Api call.

Example
JSON
{
  "data": {
    "internetPortalId": 123,
    "name": "Acme B.V.",
    "organisationId": 8586,
    "organisationNumber": "AB1234"
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "organisation.created"
}

organisation.deactivated

When the organisation is no longer active

Example
JSON
{
  "data": {
    "organisationId": 8586,
    "organisationNumber": "Ab124356"
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "organisation.deactivated"
}

request.approved

The request was approved by the employement agency.

Example
JSON
{
  "data": {
    "requestId": 8586
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "request.approved"
}

request.changed

When the JobTitle, StartDate, or EndDate of an existing Request changed

Example
JSON
{
  "data": {
    "requestId": 8586
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "request.changed"
}

request.created

When a new request is created for an organisation

Example
JSON
{
  "data": {
    "organisationId": 8586,
    "requestId": "89023"
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "request.created"
}

shift.changed

When the name or unravel scheme of a shift has changed

Example
JSON
{
  "data": {
    "shiftId": 8902
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "shift.changed"
}

shift.created

When a shift is created

Example
JSON
{
  "data": {
    "organisationId": 8586,
    "shiftId": 8902
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "shift.created"
}

shift.deleted

When a shift is deleted

Example
JSON
{
  "data": {
    "shiftId": 8902
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "shift.deleted"
}

unraveltrace.created

When worked hours are unraveled

Example
JSON
{
  "data": {
    "id": 8586,
    "menuItemId": 67
  },
  "eventId": "f82c4494-0201-4c5e-86f1-f3a869700e33",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2023-12-29T15:20:30Z",
  "type": "unraveltrace.created"
}

workplanning.scheduled

When a flexworker is scheduled to work

Example
JSON
{
  "data": {
    "firstDay": "2024-01-31",
    "flexworkerId": 12,
    "journeyName": "Demo",
    "organisationId": 16,
    "requestId": 89,
    "shiftId": 342
  },
  "eventId": "78e42323-50fc-4746-ab7d-26a4d7929e13",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:52:49.995399Z",
  "type": "workplanning.scheduled"
}

workplanning.unscheduled

When a flexworker is unscheduled from work

Example
JSON
{
  "data": {
    "flexworkerId": 12,
    "journeyName": "Demo",
    "lastDay": "2024-01-31",
    "organisationId": 16,
    "requestId": 89,
    "shiftId": 342
  },
  "eventId": "78e42323-50fc-4746-ab7d-26a4d7929e13",
  "flexportalName": "FlexportalDemo",
  "timestamp": "2024-01-31T15:52:49.995399Z",
  "type": "workplanning.unscheduled"
}