broccolli.xyz
Blog

Process Automation | Digital Transformation

Internal Communication Automation Without Losing Context

· 6 min

It is 9:14 in the morning. The general channel of a thirty-person company gets the usual message: "New form submitted." No name, no amount, no deadline, no indication of who has to decide what. To find out whether it concerns them, each person would have to open the portal. Almost nobody does.

The automation worked. The communication did not.

Wiring a form to Slack or Microsoft Teams is ten minutes of work. What separates useful internal communication automation from another source of noise is the context the message carries — and no tool provides that part out of the box.

Internal communication automation starts with the noise already there

Before adding messages to your team's day, it is worth looking at what is already there.

Microsoft analysed aggregated Microsoft 365 usage signals and published the results in Breaking down the infinite workday. The average worker is interrupted every two minutes during working hours by a meeting, an email or a notification. They receive 153 Teams messages per weekday and 117 emails, most of them skimmed in under 60 seconds. Nearly half — 48% — describe their own work as chaotic and fragmented.

These are figures from large organisations, not from small and medium businesses. But the direction is the same, and the implication is simple: your team's attention is already fully allocated. An automation that drops another ten messages a day into that environment is not neutral. It competes for attention with everything else, and it usually loses.

Google's rule for alerts applies here

Google's reliability engineering teams hit this problem long ago, with system alerts. The monitoring chapter of the Site Reliability Engineering book says two things that transfer whole to internal communication.

First, the diagnosis:

When pages occur too frequently, employees second-guess, skim, or even ignore incoming alerts, sometimes even ignoring a "real" page that's masked by the noise.

Second, the rule that follows from it: if a page merely merits a robotic response, it shouldn't be a page.

Applied to an internal notification, the question becomes uncomfortably clear. If the answer to this message is always "open the portal and go look", the message is not communicating anything. It is distributing work.

What context actually means in a message

Context is not writing more. It is including exactly what the decision requires, and nothing beyond it. In practice, four things.

  • What happened, in business language rather than system language. "Purchase request for €2,400" says more than "Record 4471 created".
  • Who it concerns. A direct mention of one person or a small group, not a channel with sixty members where responsibility dissolves.
  • The data the decision requires. Supplier, amount, budget line, remaining balance, who requested it. If the approver has to go looking for one of those fields, the message has failed.
  • The action available right there. An approve or reject button, or a text reply the workflow can interpret.

The fourth point is the one most automations skip. It is also what separates a notification from a decision.

A worked example: approving a request without leaving Teams

Take a purchase approval loop in a 40-person services firm. Designing the loop itself — who approves what, within which limits, in how many steps — is a separate conversation, and we have already had it in our piece on shortening decision cycles with approval automation. What matters here is only the message.

Before: the request arrives through a form, the system posts "New request pending" to a channel, the manager opens the portal, signs in, finds the record, checks the supplier history and the budget balance, decides, and returns to what they were doing.

After: the message arrives privately to the right manager, carrying the supplier, the amount, the budget line, the remaining balance and the last three purchases from that supplier. Plus two buttons.

The gain is not in the time spent deciding. It is in the time spent rebuilding context. My own estimate, with the arithmetic in the open: 30 approvals a week, three minutes saved on each, 45 working weeks a year. That is roughly 67 hours a year, from this one loop. It is not a study finding, it is arithmetic over assumptions you can replace with your own. To turn hours into money with a defensible method, we have written about how to calculate what a manual process really costs.

Note what stays out of the calculation: the act of deciding itself, which does not change. What disappears is the journey to the context.

What this requires in practice, and where it breaks

In n8n this pattern has its own name: the Send and Wait for Response operation, available on the Slack, Microsoft Teams, Gmail, Telegram and other nodes. The workflow sends the message and pauses until someone replies. It accepts three response formats: button approval, free text, or a custom form.

The official documentation for Slack approvals is honest about the requirements, and they are worth knowing before promising this to anyone.

  • The n8n instance must be publicly reachable over HTTPS. A local installation will never receive Slack's callbacks.
  • There is a single callback URL per instance, shared by every workflow on it. That means one Slack app per n8n instance, not one per department.
  • Without the signing secret configured in the credential, the buttons render in the message and absolutely nothing happens when someone clicks. This is the nastiest of the four failures, because it is silent: to whoever is testing, it looks like it works.
  • To record who responded, the app needs permission to read user email addresses. Without it the field comes back empty and you have no audit trail of who approved.

One more detail that is easy to forget with block-formatted messages: even when the visible content comes from blocks, the plain text field is still required. That field is what appears in the mobile notification preview and in screen readers. Leaving it empty means sending an alert that says nothing at the exact moment it interrupts someone.

AI writes the message, it does not establish the facts

It is tempting to ask a language model to summarise the thread and compose the notification. It works well for the narrative part: turning a twenty-message thread into three readable lines, or translating system jargon into plain English.

It does not work for the numbers. A summary that turns €2,400 into €2,040, or quietly drops the deadline, is worse than no summary at all. The message gains the credibility of well-written prose and loses it precisely where the decision rests.

The practical rule is to separate the two responsibilities. The fields the decision rests on — amounts, dates, identifiers, names — come straight from the source system through expressions, without passing through the model. The model only touches the prose. It is the same supervision logic we describe in our piece on generative AI in the back office and the tasks where human oversight still matters, and it is worth not diluting it just because the output this time is a short message.

Start with the notification your team ignores most

Most internal communication automation projects start from the wrong end: from the message that is easiest to build. There is little merit in designing the perfect workflow for a message nobody wanted in the first place.

Do the opposite. Pick the automated notification your team ignores most, and ask the people receiving it what they do with it. If nobody can justify its existence, switch it off. It is the cheapest automation you will do this month, and the only one that reduces noise without building anything.

If the message is genuinely needed, the next question is concrete: which three pieces of data would have to be in it so that the decision required opening nothing else? Internal communication automation is almost always that exercise, repeated process by process, rather than a project with an end date.

One last note, because you will meet it everywhere while researching this: the "23 minutes to recover from an interruption" figure circulates as though it came from a peer-reviewed study. It did not. It appears in interviews with the researcher Gloria Mark and was repeated until it became received fact, but the papers usually cited as its source do not contain that measurement. If you are building an internal case for reducing interruptions, use the Microsoft data, which is verifiable, and leave the 23 minutes out. A solid argument does not need the number everyone repeats without having read it.