Chat Alerts: Twenty Minutes, Real Behaviour Change
The cheapest integration in any operations system: paste a webhook URL and events start landing where your team already argues about work. Which of the six chat channels to pick, why one channel per topic beats one channel for everything, and the mute problem that kills this quietly.
Of all the integrations available, this is the one to do on day one, and it takes about twenty minutes. Not because chat notifications are sophisticated — they are the least sophisticated thing on the integrations page — but because they are the only integration that changes behaviour rather than moving data. A low-stock alert in a channel people already read gets acted on. The same alert in a report gets acted on when somebody opens the report.
The six, and how to choose
| Channel | Setup | Pick it when |
|---|---|---|
| Microsoft Teams | Paste an incoming webhook URL | You are on Microsoft 365, which most Kenyan organisations above about forty staff are. |
| Slack | OAuth with a channel picker, or paste a webhook URL | You already run Slack. The OAuth route lets you choose the channel from a list rather than hunting for a URL. |
| Google Chat | Paste a webhook URL from a space | You are on Google Workspace and your team actually uses Chat rather than tolerating it. |
| Discord | Paste a webhook URL | Younger teams, technical teams, and organisations that adopted it for something else and stayed. |
| Telegram | A bot token | Kenya-specific and underrated — works on any connection, no licence, and most people already have it. |
| Already there | The fallback. Detail, attachments, and anything that must be findable in six months. |
The honest answer is that it does not matter much which you pick. It matters enormously that you pick the one your team is already in. An alert in a tool people opened for this purpose is an alert in a tool nobody opens.
One channel per topic, not one channel for everything
The instinct is a single "#awra-alerts" channel. It works for about three weeks, at which point it contains low-stock warnings, approval requests, expiry notices and somebody's failed import, and the person who needed to see the approval has muted it.
-
Approvals to the people who approve
A channel containing the two or three people who can act, and nothing else in it. This is the channel that must never be muted, which is why nothing routine goes in it.
-
Stock alerts to the store
Low stock, expiry, dead stock. The storekeeper and their supervisor. Higher volume and lower urgency, which is exactly why it needs to be separate.
-
Exceptions to whoever fixes them
Blocked payments, over-receipts, failed integrations. Usually finance and the internal owner. Low volume, high consequence.
-
Nothing informational anywhere
If nobody must act, it belongs in a report. This is the rule that keeps the other three alive, and it is the one that gets broken first because informational alerts are easy to configure and feel productive.
A muted channel gives no signal that it was muted. The integration will look like it is working for months after it stopped working.
What arrives, and what does not
What AWRA OpsHub does today
- Six channel types — Teams, Slack, Google Chat, Discord, Telegram and email — each connectable with your own webhook URL, bot token or OAuth grant.
- Slack via OAuth with a channel picker, so you select a channel from a list rather than generating a URL by hand.
- Per-category routing, so different kinds of event go to different places.
- A test send, so you can confirm the plumbing before you rely on it.
- Soft failure — a channel that is unreachable does not break whatever raised the notification.
- The same notification fanning out to more than one channel, if you want an approval in both Teams and WhatsApp.
What it does not do
- No interactive actions. You cannot approve a purchase order from the message. The notification links to the record and the decision happens there.
- No threading of related events into one conversation.
- No inbound handling — a reply in the channel goes nowhere.
- No per-channel quiet hours or rate limiting, so volume discipline is entirely yours.
- No delivery dashboard showing what was sent to which channel and whether it landed.
The absence of in-message approval is worth knowing before you promise it to a manager. Approving from a chat message is a genuinely nice feature and it is not here — the message is a prompt, and the decision is made on the record where the audit trail can attribute it properly.
A working configuration for a 40-staff distributor
Three channels, tuned
Note that nothing informational is routed at all — no "invoice created", no "order approved", no daily summaries. Those go in the weekly thirty minutes described in the first 90 days. Every informational alert you add costs you a little of the attention the three channels above depend on.
Review the channels at day 60
Ask the people in each one whether they have muted it. Ask plainly, without implying it would be wrong — muting a noisy channel is a rational act and you need the honest answer. Whatever they have muted tells you exactly which alerts to stop sending.
When to reach for a connector instead
A chat channel is for a person who needs to know. If a system needs to act, that is a workflow connector — signed, retried, with a payload you shape and a dead-letter record when it fails. The two are often confused because both are "send this somewhere", and the consequences of confusing them are a chat room full of machine noise or an integration nobody can debug. Outbound webhooks and connectors covers the other side.
Our take
Do this on day one, in the tool your team is already in, with three channels rather than one — approvals, store, exceptions — and nothing informational anywhere. Then ask at day 60 what people have muted, because that is the only feedback this integration will ever give you and it will not volunteer it.
Twenty minutes, and alerts land where people look
Teams, Slack, Google Chat, Discord, Telegram or email — per-category routing, a test send, soft failure, and the same event to more than one channel when it matters.
See plans & pricingFrequently asked questions
Which chat channels are supported?
Microsoft Teams, Slack, Google Chat, Discord and Telegram, plus email. Most are a pasted incoming webhook URL or a bot token; Slack can also connect over OAuth with a channel picker, which saves hunting for a URL. Which one you choose matters far less than whether it is the tool your team is already in.
Can we approve a purchase order from a chat message?
No. There are no interactive actions in the message — it links to the record and the decision happens there, where the audit trail can attribute it properly. Worth knowing before you promise in-message approval to a manager, because it is a genuinely useful feature and it is not built.
Should everything go to one channel?
No. One channel works for about three weeks, after which it contains low-stock warnings, approvals, expiry notices and somebody's failed import, and the person who needed the approval has muted it. Use three: approvals to the people who approve, stock alerts to the store, exceptions to whoever fixes them. And route nothing informational anywhere.
What happens if a channel is muted?
Nothing visible, which is why this is the main failure mode. There is no delivery dashboard and a mute produces no signal, so the integration looks like it is working for months after it stopped. The only remedy is to ask, at around day 60, what people have muted — plainly, without implying it was wrong, because muting a noisy channel is rational.
Can a reply in the channel do anything?
No. Chat notifications are outbound only; a reply goes nowhere and is not read. Say this out loud when you set it up, because a threaded chat message invites a response and somebody will eventually answer one usefully and assume it was received.
When should we use a workflow connector rather than a chat alert?
Use a chat alert when a person needs to know and a connector when a system needs to act. A connector signs its payload, retries on failure and keeps a dead-letter record; a chat alert is a message. Confusing the two gives you either a channel full of machine noise or an integration nobody can debug.