Seven notifications can reach Slack, and only one thing reaches a channel: counters. Here is the exact rule, and why it is fail-closed.
The principle #
A Slack channel is readable by the whole workspace, external guests included. A sick-leave absence posted into a team channel is not a display glitch, it is a data-protection incident. The connector starts from there: everything is a direct message by default, and whatever reaches a channel is reduced to counters.
| Message type | Destination | Content |
|---|---|---|
| Individual HR notification | Direct message to the employee | The fact, and an Open in Illizeo button |
| Absence request to approve | Direct message to the approver | The requester, the absence type, Approve / Reject buttons |
| HR digest | Channel chosen by the administrator | Two counters, no names |
The seven notifications that can reach Slack #
- Approvals: absence request, expense report, attendance — and the outcomes (accepted, rejected, ready for payment)
- Document to validate
- Meeting scheduled or cancelled
- @-mention in a thread
- On-call
- Onboarding and offboarding to-dos
- Payroll review reminder
No other Illizeo notification goes to Slack. And these only go there if the employee has ticked Slack for that event: the setting is zero by default, and a missing settings row does not switch it on either. The message goes out in the recipient’s language, like emails.
Approving an absence from Slack #
An absence or certificate request that is still pending arrives with two buttons, Approve and Reject, alongside the open button. The decision is recorded in Illizeo exactly as if it had been taken on screen.
Three safeguards: the request coming from Slack is authenticated by signature; a request whose timestamp is more than five minutes old is refused even with a correct signature; and the same click redelivered by Slack is processed only once.
Expense reports and attendance do not get those buttons: they open in Illizeo.
The HR digest #
The only message meant for a channel. It carries two counters: the number of pending requests and the number of employees absent today — the same definition of “absent today” as the dashboard. The administrator picks the channel and the frequency, daily or weekly. With no channel chosen, nothing is posted: no guessed channel, no unrequested noise.
The rule: never a name or an amount in a channel #
Before any channel send, the message is inspected. If it carries an identity (name, email, requester, approver, signer, reason, document…) or an amount (salary, total, reimbursement, cap, currency…), the channel is refused and the message does not go there. The rule is fail-closed: an event that is not explicitly allowed goes out privately. Exactly one event is allowed in a channel today, the HR digest.
Amounts never leave at all — channel or not. An approved expense report announces the approval in Slack; the sum stays in the email.
What does not exist #
No slash command, no conversational bot, no Illizeo search from Slack. No automatic posting of joiners, leavers, birthdays or project milestones into a channel. No frequency other than daily or weekly for the digest. No Microsoft Teams connector.
FAQ #
Why is my Slack message shorter than the email?
Because amounts are stripped from it, and because it aims at the action: the detail sits behind the button.
Can the digest name who is absent?
No, by construction. A digest that named someone would no longer be an aggregate: it would be pushed back to a direct message rather than posted.
What if I click Approve twice?
The second processing is ignored. Slack itself sometimes retries a delivery; the protection covers that case too.
Do managers see their team’s absences in a channel?
No. A channel only receives counters. Individual requests arrive as a direct message to the approver concerned.
What if the employee is not on Slack?
The message goes out by email. The connector never redirects a direct message to a channel to compensate: guessing a recipient for personal data would be worse than sending nothing.
Configure notifications and reminders #
The three available channels, and how to set them event by event.
