Every webhook event type Jadiroon sends, by resource. Event names are <resource>.<verb>; the payload is described on the Webhooks page, and each resource page explains when its events fire.
- Created / updated / deleted follow the record, whether the change came from the app, the API or automation.
<resource>.bulk_changedreplaces per-record events when too many rows changed at once (imports, structure replaces). Re-read the resource withupdatedSinceand the deletion feed.- Removing a sector, sub-sector or job family from the workspace's Functional Structure sends
<resource>.deleted, without a tombstone in the deletion feed (the catalog row still exists). - Jadiroon's support team changing one of your users from the Platform Console (role change, disable or re-enable, removal) sends the same
user.updated/user.deletedevents as your own Users & roles settings. Those audit rows are platform actions (user.role_change,user.disable,user.enable,user.remove), so they are not in the audit-action table below. - A hire sends
application.hiredandemployee.created; offboarding sendsemployee.offboarded. - Changes to the national catalog made by Jadiroon send no events; re-read the catalog lists periodically.
- An endpoint subscribed to
*gets every resource event its integration can read, but neveraudit.recorded.
The tables below are generated from the code (npx tsx scripts/print-event-catalog.ts), so they match what Jadiroon emits.
Resource events
| Event type | Resource | Meaning |
|---|---|---|
org_unit.created | Org units | Created |
org_unit.updated | Org units | Updated |
org_unit.deleted | Org units | Deleted |
org_unit.bulk_changed | Org units | Many changed at once (re-read) |
position.created | Positions | Created |
position.updated | Positions | Updated |
position.archived | Positions | Archived |
position.deleted | Positions | Deleted |
position.bulk_changed | Positions | Many changed at once (re-read) |
sector.created | Sectors | Created |
sector.updated | Sectors | Updated |
sector.deleted | Sectors | Deleted |
sub_sector.created | Sub-sectors | Created |
sub_sector.updated | Sub-sectors | Updated |
sub_sector.deleted | Sub-sectors | Deleted |
sub_sector.bulk_changed | Sub-sectors | Many changed at once (re-read) |
job_family.created | Job families | Created |
job_family.updated | Job families | Updated |
job_family.deleted | Job families | Deleted |
job_family.bulk_changed | Job families | Many changed at once (re-read) |
job_description.created | Job descriptions | Created |
job_description.updated | Job descriptions | Updated |
job_description.archived | Job descriptions | Archived |
job_description.unarchived | Job descriptions | Restored from archive |
job_description.deleted | Job descriptions | Deleted |
job_description.bulk_changed | Job descriptions | Many changed at once (re-read) |
pay_scale.created | Pay scales | Created |
pay_scale.updated | Pay scales | Updated |
pay_scale.deleted | Pay scales | Deleted |
pay_scale.bulk_changed | Pay scales | Many changed at once (re-read) |
employee.created | Employees | Created |
employee.updated | Employees | Updated |
employee.archived | Employees | Archived |
employee.offboarded | Employees | Offboarded |
employee.deleted | Employees | Deleted |
employee.bulk_changed | Employees | Many changed at once (re-read) |
candidate.created | Candidates | Created |
candidate.updated | Candidates | Updated |
candidate.archived | Candidates | Archived |
candidate.deleted | Candidates | Deleted |
opening.created | Openings | Created |
opening.opened | Openings | Hiring opened |
opening.updated | Openings | Updated |
opening.closed | Openings | Hiring closed |
opening.archived | Openings | Archived |
opening.bulk_changed | Openings | Many changed at once (re-read) |
application.created | Applications | Created |
application.updated | Applications | Updated |
application.stage_changed | Applications | Stage changed |
application.rejected | Applications | Rejected |
application.hired | Applications | Hired |
interview.scheduled | Interviews | Scheduled |
interview.updated | Interviews | Updated |
interview.cancelled | Interviews | Cancelled |
interview.completed | Interviews | Completed |
user.updated | Users | Updated |
user.deleted | Users | Deleted |
role.created | Roles | Created |
role.updated | Roles | Updated |
role.deleted | Roles | Deleted |
Special events
| Event type | Meaning |
|---|---|
audit.recorded | One event per audit row, for SIEM. Opt-in: pick it explicitly; * never includes it. Needs audit.view. |
ping | Test event sent from Send test event. Never retried. |
Audit actions that produce events
77 of the 209 audit actions produce resource events; the others produce none (they still reach audit.recorded).
| Audit action | What happened |
|---|---|
people.people.imported | Imported people |
people.person.archived | Archived a person |
people.person.created | Added a person |
people.person.deleted | Deleted a person |
people.person.offboarded | Offboarded a person |
people.person.updated | Updated a person |
people.profile.updated | Updated their own profile |
planning.recommendation.applied | Applied a workforce plan recommendation |
planning.workload.position_updated | Updated a position's workload settings |
recruitment.application.rescreened | Re-screened a CV |
recruitment.application.screened | Screened a CV |
recruitment.application.stage_changed | Moved an application to another stage |
recruitment.application.submitted | Submitted an application |
recruitment.candidate.account_deleted | Deleted a candidate account |
recruitment.candidate.cv_uploaded | Uploaded a CV |
recruitment.candidate.hired | Hired a candidate |
recruitment.candidate.profile_updated | Updated a candidate profile |
recruitment.candidate.signed_up | Signed up as a candidate |
recruitment.interview.cancelled | Cancelled an interview |
recruitment.interview.conducted | Recorded an interview evaluation |
recruitment.interview.reproposal_requested | Asked for new interview times |
recruitment.interview.reproposed | Proposed new interview times |
recruitment.interview.scheduled | Scheduled an interview |
recruitment.interview.slot_picked | Confirmed an interview time |
recruitment.opening.archived | Archived an opening |
recruitment.opening.created | Created an opening |
recruitment.opening.hiring_closed | Closed hiring for an opening |
recruitment.opening.hiring_opened | Opened hiring for an opening |
recruitment.opening.made_external | Published an opening externally |
recruitment.opening.unarchived | Restored an archived opening |
recruitment.opening.updated | Updated an opening |
structure.data_editor.committed | Saved changes in the data editor |
structure.job_description.archived | Archived a job description |
structure.job_description.competencies_updated | Updated a job description's competencies |
structure.job_description.created | Created a job description |
structure.job_description.deleted | Deleted a job description |
structure.job_description.duplicated | Duplicated a job description |
structure.job_description.unarchived | Restored an archived job description |
structure.job_description.updated | Updated a job description |
structure.job_descriptions.replaced | Replaced the selected job descriptions |
structure.job_families.reordered | Reordered job families |
structure.job_families.updated | Changed the selected job families |
structure.job_family.added | Added a job family |
structure.job_family.created | Created a job family |
structure.job_family.duplicated | Duplicated a job family |
structure.job_family.removed | Removed a job family |
structure.job_family.updated | Updated a job family |
structure.onboarding.completed | Completed workspace setup |
structure.org_unit.created | Created an organizational unit |
structure.org_unit.deleted | Deleted an organizational unit |
structure.org_unit.updated | Updated an organizational unit |
structure.org_units.imported | Imported organizational units |
structure.org_units.overwritten | Replaced the Organizational Structure |
structure.pay_grade.created | Added a pay grade |
structure.pay_grade.deleted | Deleted a pay grade |
structure.pay_grade.updated | Updated a pay grade |
structure.pay_scale.created | Created a pay scale |
structure.pay_scale.deleted | Deleted a pay scale |
structure.pay_scale.updated | Updated a pay scale |
structure.person.assigned | Assigned an employee to a position |
structure.position.created | Created a position |
structure.position.deleted | Deleted a position |
structure.position.duplicated | Duplicated a position |
structure.position.updated | Updated a position |
structure.positions.imported | Imported positions |
structure.sector.created | Created a workspace sector |
structure.sector.selected | Changed the workspace sector |
structure.skill.deleted | Deleted a competency |
structure.skill.updated | Updated a competency |
structure.subsector.created | Created a sub-sector |
structure.subsectors.reordered | Reordered sub-sectors |
structure.subsectors.updated | Changed the selected sub-sectors |
users.role.created | Created a role |
users.role.deleted | Deleted a role |
users.role.updated | Updated a role |
users.user.removed | Removed a user |
users.user.role_changed | Changed a user's role |