Chapter 3
How to choose channels when one employer's workforce sits in three incompatible places. The interrupt-versus-record distinction, what an in-app notification center does that nothing else can, where Slack, Teams, push, SMS, and email each earn their place, and a channel-by-notification decision table.

Last updated: July 2026
Most channel advice reduces to "meet employees where they are," which is useless once you notice that the employees of a single customer are in three incompatible places.
An HR platform can't pick one channel because a single employer's workforce contains three populations with almost no channel overlap.
Any one channel misses at least one of those groups entirely, and your customers have all three. That's the whole argument: multi-channel in HR isn't a sophistication play, it's a coverage requirement. A product that only does email cannot serve a manufacturer. A product that only does SMS cannot deliver a benefits guide.
There's a second reason that has nothing to do with reach. Channel choice is your customer's decision, not yours. One employer runs Slack, the next runs Microsoft Teams, the next forbids texting personal phones, the next filters your email domain at the gateway. Every channel you don't support is a customer you can't onboard, or a population inside that customer you quietly fail to reach.
Every HR notification has to do two things that no single channel does well: interrupt someone now, and still be there later.
Interrupt channels are pushed at a moment and decay: chat, push, SMS, and to a degree email. They're good at getting attention and bad at holding it. Record surfaces are pulled when someone goes looking, and they persist: the in-app notification center, and email as a distant second.
HR is unusually dependent on both, because HR notifications are mostly tasks with deadlines. A review reminder that only interrupts gets acknowledged and forgotten. A review reminder that only persists is never seen, because nobody opens an HR tool voluntarily. You need the ping and the list.
| Interrupt channels | Record surfaces | |
|---|---|---|
| Delivery | Pushed at a moment | Pulled when the user arrives |
| Lifespan | Decays in minutes to hours | Persists until actioned |
| Good at | Attention, urgency, action | Outstanding work, history, detail |
| Bad at | Anything the user needs to find again | Reaching anyone who doesn't visit |
| Sensitive content | Unsafe (previews, exports, shared devices) | Safe, because it's behind authentication |
So: pick an interrupt channel based on which population you're reaching, and pair it with a persistence surface in every case. Chat plus inbox for desk workers. Push plus inbox for mobile. SMS plus a link for people with neither.
An in-app notification center is the only HR notification surface that's authenticated, persistent, and scoped to one employer at a time, which makes it the one place you can put the actual content instead of a pointer to it.
That combination is what earns it a central role rather than a supporting one, and it's the piece HR products most often leave until last.
It's the destination for everything you're not allowed to put in a message. Section 4.3 lands on a hard rule: don't put a salary, a rating, or a benefits detail in an email, an SMS, or a push preview. That rule creates an obligation, because "notify and link" needs somewhere to link to. Without a notification center, the link goes to a dashboard and the employee has to hunt for what you told them about. With one, the notification and the sensitive content are the same object, and the content sits behind your existing auth.
It's the outstanding-work list, which is what HR software mostly is. Onboarding checklists, reviews, approvals, trainings, and acknowledgements are all tasks. Unread state in a notification center is a to-do list you get for free, and it's durable in a way a reminder isn't: the chat message scrolls away, the email gets archived, the inbox item stays until it's dealt with. The reminder decays and the list doesn't, which is why a persistence surface usually does more for completion than another reminder would.
It survives your customer's channel policy. A tenant that bans SMS, doesn't use Slack, and filters your email at the gateway still has your application. The notification center is the one channel nobody can configure away, which makes it your floor rather than your extra. That's a genuinely useful property when a works council objects to chat nudges (4.5) or an IT team blocks your sending domain.
Read state is a real signal, unlike an email open. Email opens are close to noise now, between image blocking and preview panes. A notification marked seen in your own application is a genuine engagement event, and it's what lets you separate acknowledgement from action, which 5.5 treats as two different things you have to track.
Tenant scoping is not optional here. HR platforms routinely have people who belong to more than one employer: a contractor working for two customers, an hourly worker with several employers on a staffing platform, an HR administrator managing multiple entities. Each context needs its own feed with no leakage between them, which means the notification center has to be tenant-aware rather than user-aware. Courier's Inbox is scoped by tenant for this reason, so the same person signing into two employers sees two separate feeds. (Courier is notification infrastructure: one API across email, SMS, push, in-app, Slack, and Teams, with tenants, preferences, and workflow orchestration built in.)
Two-sided platforms need two of them. Bluecrew notifies hourly workers about job opportunities and employers about roles being filled. Those are different feeds with different content and different permissions, running on the same infrastructure. Any marketplace-shaped HR product has this.
Where it falls short, and why pairing is mandatory. A notification center is pull, not push. Nobody logs into an HR tool daily, so an inbox with no interrupt channel attached is a filing cabinet nobody opens. It also can't reach anyone who has no account yet or has lost theirs, which rules it out for pre-boarding and offboarding. Treat it as the persistence half of a pair, never as the whole answer.
If you're building one from scratch, how to build a notification center covers the component in detail, and the in-app notification checklist covers the features people forget.
Corporate chat is the highest-engagement interrupt channel available for desk-based employees, and the worst system of record you could choose.
Why it works so well. It reaches people inside the application they already have open, with no context switch and no separate login. For anything asking a manager to do something small, that's the difference between action and deferral. Approvals and acknowledgements can often be completed inline, without the employee ever entering your product, which removes the biggest drop-off point in an HR workflow. Recognition works especially well here because it's social by nature and chat is a public space: a kudos in a team channel does something an email cannot.
Why it isn't enough. Chat messages scroll away and have no concept of an outstanding task. There's no unread state that survives a busy afternoon, so anyone who was in meetings or on holiday loses the thread. App DMs are among the first things people mute. And the employer owns the workspace, which means anything you send is exportable by their admins, so chat is a poor place for sensitive HR content for exactly the reasons in 4.3.
You need both platforms, not one. Your customer has already chosen Slack or Microsoft Teams and will not switch for you, so supporting one is supporting half the market. Workleap's Officevibe runs engagement notifications across Slack, Teams, and email for this reason. The Slack and Teams guide covers the implementation differences, which are real.
It reaches none of your deskless population. Corporate chat is a knowledge-work channel. If a customer has a head office and a factory floor, chat covers the first and nothing of the second, which is the trap in assuming your most engaged channel is your most representative one.
Two practical notes. If you offer inline actions in chat, make sure they write to the same task state as your notification center, or the two will diverge and an employee will see something completed in one place and outstanding in the other. And post recognition publicly only where the tenant has enabled it, because plenty of employers consider recognition private by default.
Push is how you reach a mobile-first or deskless workforce in real time, and it only exists as a channel if the employee installed your app.
That prerequisite is the whole question, and it's where most HR products lose. An app nobody installed isn't a channel, and adoption only comes from a reason to open it regularly. Products that carry a schedule, a payslip, or a task list get installed. Products that only carry an annual engagement survey do not. Be honest about which one you are before you plan around push.
Where push genuinely earns its place:
The constraints that bite:
One implementation detail worth getting right: badge counts should be derived from your notification center's unread count, not incremented per push. Otherwise you get the familiar bug where the badge says three and the inbox is empty, which trains people to ignore the badge.
SMS is the only channel that reaches an employee who has no work email, no corporate chat, and no app installed, which describes a large share of the hourly and deskless workforce.
That makes it indispensable and expensive, in both money and goodwill. Use it where nothing else reaches, and not as a general-purpose channel.
When it's the right call: pre-boarding, before a work identity exists. Hourly and deskless populations where app adoption is unrealistic. Genuinely urgent, time-critical notifications. Offboarding, once the work account is gone. Bluecrew reaches its hourly workforce on SMS alongside email, in-app, and Slack, because much of that population has no work mailbox to send to.
The constraints, and they're serious:
One HR-specific hazard worth designing against: an SMS about pay with a link in it is indistinguishable from a phishing attack. That's precisely the message pattern attackers use against employees. Always identify the employer by name, keep the sending identity consistent so people learn to recognize it, never ask for credentials or personal data in the message, and link to a domain the employee has seen before. Getting this wrong doesn't only lose the notification, it trains your customer's workforce to distrust legitimate HR messages.
Email is the only universally addressable channel and the only interrupt channel that also works as a record, which is why it stays the backbone even though it's the least engaging thing you send.
What it's uniquely good at:
Its weaknesses are equally clear: engagement is the lowest of any channel here, corporate mail policy can filter you at the gateway (which shows up as a per-tenant delivery problem rather than a global one), and the work address dies at offboarding, which is why 5.7 treats personal email as a separate field from the beginning.
Pick the interrupt channel from the population you're reaching, always pair it with a persistence surface, and define the fallback chain by reachability rather than preference.
| Notification | Interrupt | Persist | Fallback | Never |
|---|---|---|---|---|
| Offer, pre-boarding | Personal email | None yet | SMS | Work email, chat |
| Onboarding task | Chat or push | Notification center | Email digest | One SMS per task |
| Review or goal deadline | Chat | Notification center | SMS | |
| Survey invite and reminder | Chat or email | Notification center | Push | SMS, usually |
| Recognition | Chat, public if the tenant allows | Notification center | SMS | |
| Comp letter ready | Chat or email, no detail | Notification center, detail lives here | Push preview with a figure | |
| Approval request | Chat with inline action | Notification center | Email, then escalate | Silence on timeout |
| Urgent shift or ops event | SMS or push | Notification center | Voice | Email as the only channel |
| Credential or training expiry | Email plus chat | Notification center | SMS near the deadline | Nothing until expiry day |
| Statutory notice | Email, work and personal | Notification center | Postal where required | Chat or SMS as the only channel |
| Offboarding, final pay | Personal email | Account may be gone | SMS | Work email as the only channel |
Three rules that make the table work:
Fallback is about reachability, not preference. Preference decides whether to send. Reachability decides where. An employee who opted out of email hasn't opted into SMS, and an employee with no push token isn't expressing a choice. Keep the two resolution steps separate, which is what 5.3 sets out.
The chain has to be able to end somewhere other than a channel. When nothing reaches an employee, the correct outcome is often to notify their manager instead, which most notification systems don't model as a routing result. Build that terminal case deliberately.
Never send the same notification on every channel at once. Fan-out across channels for a single event is the fastest way to teach people to ignore all of them. Send on one, persist in the notification center, and escalate to a second channel only when the first didn't produce the action. Courier's routing handles this with an ordered channel list that stops at the first that works, rather than sending to all of them.
For desk-based employees, Slack or Microsoft Teams gets the highest engagement because it reaches people without a context switch, paired with an in-app notification center so the task persists after the message scrolls away. For deskless employees, SMS and push are usually the only channels that work. Most HR platforms need all of them, because a single customer normally has both populations.
Because it's the only surface that's authenticated, persistent, and tenant-scoped, which makes it the one place sensitive content like a compensation letter or a performance rating can actually live. It also doubles as the outstanding-task list that HR software fundamentally is, and it's the one channel a customer's IT or channel policy can't switch off.
Both, doing different jobs. Chat is the interrupt that gets a manager to act today; email is the durable record and the only place long-form content, attachments, and statutory notices belong. The failure mode is picking one: chat-only loses anything the employee needs to find again, and email-only loses the engagement.
Only where nothing else reaches the employee, which typically means pre-boarding, deskless and hourly workers, urgent events, and offboarding. It needs the personal number, consent, tenant permission, and 10DLC registration for US long-code traffic, and it should always identify the employer by name, because an unbranded text about pay with a link in it looks exactly like phishing.
One interrupt channel plus your notification center, with a second channel only as an escalation if the first didn't produce the action. Sending the same notification everywhere at once is the fastest way to get all your channels ignored.
Previous chapter
HR Notification Use Cases Across the Employee Lifecycle
Every HR notification worth sending, in lifecycle order from offer letter to alumni. Hiring and pre-boarding, onboarding, performance and goals, engagement surveys, recognition, compensation, leave and approvals, learning and compliance, and offboarding, plus the manager and admin mirror that generates most of the noise.
Next chapter
The Constraints That Make HR Notifications Different
The six constraints that change an HR notification system's data model rather than its copy: statutory notices nobody may opt out of, survey reminders that can't reveal who responded, sensitive payloads, right-to-disconnect law, works councils and GDPR, and employees with no corporate identity.
© 2026 Courier. All rights reserved.