Cet article liste tous les événements qu’un webhook peut recevoir, famille par famille, avec ce qui les déclenche et les champs de leur data. Il sert aux administrateurs qui choisissent les abonnements et aux développeurs qui écrivent le récepteur.
Avant de commencer #
- Les événements se choisissent à la création ou à la modification d’un webhook, dans Paramètres › Gérer Illizeo › Webhooks (voir Créer et gérer un webhook).
- Les familles Planification, Annualisation du temps de travail, Budget & masse salariale, BDESE, Paie suisse et Flex Office n’existent que si le module est activé dans votre espace : sinon elles ne sont ni proposées ni émises.
- Chaque message a la même enveloppe (
id,event,occurred_at,tenant,data), décrite dans Recevoir et vérifier un webhook.
S’abonner à une famille #
Dans la fenêtre du webhook, chaque famille a sa case, avec son code (par exemple absence.*). La cocher abonne le webhook à tous les événements de la famille, y compris ceux qui s’y ajouteront ; les cases des événements se grisent alors. Sinon, cochez les événements un à un.

Les événements #
Collaborateurs (employee.*) #
| Code | Libellé | Déclenché quand |
|---|---|---|
employee.created |
Collaborateur créé | Un collaborateur est créé, par l’écran, un import, l’API ou un connecteur. Une embauche encore en brouillon n’émet rien : l’événement part quand elle est finalisée. |
employee.updated |
Collaborateur modifié | Une donnée de la fiche change. changed donne les noms des champs modifiés, jamais leurs valeurs. |
employee.contract_ended |
Contrat terminé | Un contrat reçoit une date de fin (sortie, ou fin d’un emploi parallèle) ; ended_at peut être dans le futur. |
Champs : employee_id, et selon l’événement contract_id, changed, ended_at.
Absences (absence.*) #
| Code | Libellé |
|---|---|
absence.requested |
Absence demandée |
absence.approved |
Absence validée |
absence.rejected |
Absence refusée |
absence.cancelled |
Absence annulée |
Champs : absence_id, employee_id, absence_type_id, from, to, status.
Temps et présences (attendance.*) #
attendance.day_closed, « Journée de présence close » : envoyé chaque nuit pour la veille, une fois par collaborateur qui a pointé ce jour-là. Une correction apportée ensuite à cette journée n’est pas renvoyée : relisez la période par l’API si besoin. Champs : employee_id, date, worked_minutes, status.
Planification (scheduling.*) #
| Code | Libellé |
|---|---|
shift.published |
Shift publié |
shift.updated |
Shift publié modifié |
shift.deleted |
Shift publié supprimé |
shift.unpublished |
Shift dépublié |
shift.confirmed |
Shift confirmé par l’employé |
shift.rejected |
Shift refusé par l’employé |
open_shift.claimed |
Shift ouvert attribué |
shift.replacement_completed |
Shift remplacé (nouveau titulaire) |
shift.checked_in |
Shift commencé (check-in) |
shift.completed |
Shift terminé |
Les brouillons n’émettent rien. Champs communs : shift_id, employee_id, employment_id, date, start_time, end_time, all_day, office_id, status, is_open, open_shift_id ; s’y ajoutent selon l’événement publication_id, changed, responded_at, application_id et source, les champs du remplacement (replacement_id, replacement_type, previous_employee_id, previous_employment_id), ou checked_in_at / completed_at, outside_zone et mode.
Annualisation du temps de travail (annualisation.*) #
| Code | Libellé |
|---|---|
annualisation.period.ended |
Période d’annualisation échue (bilan établi) |
annualisation.review.closed |
Bilan d’annualisation clôturé |
annualisation.review.reopened |
Bilan d’annualisation rouvert |
Champs : bilan_id, employee_id, employment_id, regime_id, debut, fin, unite, statut, et les quantités du bilan en heures ou en jours (objectif, realise, absences, heures_sup_hebdo, heures_fin_de_periode, deficit, puis à la clôture excedent, traitement_du_deficit, cloture_le) ; reouvertures pour une réouverture.
Documents et signatures (document.*, signature.*) #
| Code | Libellé | Champs |
|---|---|---|
document.uploaded |
Document déposé | document_id, employee_id, category_id |
document.generated |
Document généré | document_id, employee_id |
signature.completed |
Signature terminée | signature_id, employee_id, provider |
signature.declined |
Signature refusée | idem |
signature.cancelled |
Signature annulée | idem |
Exports planifiés (export.*) #
export.ready, « Fichier d’export prêt » : le fichier d’un rapport planifié au canal « Retrait par l’API » vient d’être produit ; le récepteur peut le télécharger aussitôt par l’API. Champs : export_id, report_id, schedule_id, file_name, format, size_bytes, expires_at.
Budget & masse salariale (budget.*) #
| Code | Libellé |
|---|---|
budget.overrun |
Dépassement prévu du budget d’une unité |
budget.equality.recorded |
Analyse d’égalité salariale enregistrée |
budget.review_phase |
Revue salariale : nouvelle phase |
budget.proposal.submitted |
Revue salariale : proposition soumise |
budget.proposal.validated |
Revue salariale : proposition validée |
budget.proposal.sent_back |
Revue salariale : proposition renvoyée |
budget.review_decided |
Revue salariale : dossier de validation tranché |
budget.campaign.closed |
Revue salariale close |
Les champs suivent l’objet : l’unité et l’écart pour un dépassement, l’analyse et son résultat pour l’égalité salariale, la campagne et sa phase, ou la proposition (collaborateur, contrat, statut, pourcentage d’augmentation, classe, échelon, date d’effet) pour la revue salariale.
BDESE (bdese.*) #
| Code | Libellé |
|---|---|
bdese.published |
Version d’un exercice de la BDESE publiée |
bdese.equality_index.published |
Index de l’égalité professionnelle publié |
bdese.consultation.opened |
Consultation du CSE ouverte |
bdese.consultation.opinion_recorded |
Avis du CSE déposé |
bdese.consultation.deemed_negative |
Avis du CSE réputé négatif à l’échéance |
Champs : base_id et annee, puis version et publie_le, note, ou consultation_id, type, echeance et avis.
Paie suisse (swiss_payroll.*) #
| Code | Libellé |
|---|---|
swiss_payroll.payroll.closing_pending |
Clôture en attente de validation |
swiss_payroll.payroll.closed |
Décompte de paie clos |
swiss_payroll.payslips.ready |
Fiches de paie prêtes |
swiss_payroll.declaration.pending_approval |
Déclaration en attente de validation |
swiss_payroll.declaration.sent |
Déclaration envoyée à Swissdec |
swiss_payroll.declaration.completed |
Déclaration terminée |
swiss_payroll.declaration.failed |
Déclaration échouée |
swiss_payroll.declaration.refused |
Déclaration refusée |
swiss_payroll.recipient.maintenance |
Destinataire en maintenance |
swiss_payroll.case.closed |
Cas clos chez un destinataire |
Champs : le décompte (payroll_id, perimeter, year, month, avec contracts, payslips ou approval_id), la déclaration (declaration_id, nature, test, status, recipients) ou le destinataire (recipient_id, domain, institution, case_state).
Flex Office (office.*) #
| Codes | Objet |
|---|---|
office.booking.created, .updated, .approved, .rejected, .cancelled, .released |
Réservation de bureau créée, modifiée, approuvée, refusée, annulée, ou bureau libéré faute de pointage |
office.visit.created, .updated, .approved, .rejected, .cancelled |
Visite créée, modifiée, approuvée, refusée, annulée |
office.visitor.arrived, .departed |
Visiteur arrivé, parti |
office.room_booking.created, .updated, .cancelled |
Salle de réunion réservée, réservation de salle modifiée, annulée |
office.check_in.created |
Présence sur site pointée |
Ces événements partent quelle que soit l’origine du changement : écran, API ou effet d’un autre geste (fermeture d’un lieu, absence, poste archivé). Ils ne portent que des identifiants, des dates et des états. Le parking et la restauration n’en émettent pas.

À savoir #
- La carte Événements webhook de la documentation de l’API reprend cette liste, avec les champs de chaque événement.
- Chaque événement part une fois vers chaque webhook qui l’écoute : deux webhooks abonnés au même événement reçoivent chacun leur message, avec le même identifiant d’événement.
