Amirali YaghoutiSenior Software Engineer

Automation Case study

n8n Operations Automation

Automation that makes every decision on its own is the version that eventually sends the wrong message to a customer. These n8n workflows, a CRM notification router and a scheduled reporting pipeline, route events, assemble reports and prepare actions, and then wait for a person wherever the decision actually matters.

The business problem

Operational events, reports and notifications all needed routing, but not every decision along the way should be automatic. Two problems sat underneath that. Every CRM and commerce event went to the same destination, whatever it was and whoever needed to act on it, so everything looked equally urgent, which means nothing did. And operational data was spread across the store, the CRM and several spreadsheets; assembling it into anything a manager could read took long enough that it happened irregularly, and when it did arrive it was a table, so the interpretation fell to whoever had time. The fix in both cases is not fewer notifications or fewer reports, it is routing and review: the event type decides who sees it and whether it needs approval before anything happens, and the digest leads with what needs attention.

What I delivered

  • n8n workflows for Telegram notifications, Google Sheets reporting, scheduled summaries and approval steps, on a workflow architecture that keeps automation maintainable instead of hidden.
  • CRM notification router. Routing logic that classifies each CRM and commerce event and sends it on by type, to a named team member or channel instead of a general destination, so every notification arrives with an owner.
  • Approval queues inside the router for the events that should not proceed on their own, which separates what is informational from what needs a decision.
  • Reporting pipeline. A scheduled pipeline that collects operational data from the systems it lives in, normalises it into one shape and generates a summary that ends in next actions rather than in totals, on a daily and weekly cadence so the digest exists without anybody triggering it.
  • Human review before anything derived from the summary reaches a customer, keeping the generated portion internal by default.
  • Error-handling branches on every path in both sub-systems, and retry behaviour in the pipeline documented as part of the workflow rather than discovered during an outage, so a failure surfaces instead of dropping the event quietly.
  • Credentials kept in provider vaults or server-side configuration, never in the workflow definitions.

Technical approach

  • Separated repetitive routing from decisions that require human judgment, using webhooks and scheduled flows with clear error paths.
  • In the router, classification comes before routing. Every rule about who sees what leans on the event type, so I settle the type in one place rather than guess at it again downstream, and I address each notification to a person: an alert with no owner is one everybody assumes somebody else is handling.
  • Approval gates sit where a mistake would be expensive, and deliberately nowhere else. A workflow that asks constantly gets approved without being read.
  • In the pipeline, collection stays separate from summarisation, so a change in what I want the digest to say does not mean changing how the data is gathered. The summary ends in actions because that is the part a manager can use; numbers support the recommendation, they are not the deliverable.
  • Anything customer-facing derived from the digest passes a person first. The digest is allowed to be wrong internally; it is not allowed to be wrong at a customer.
  • Failure behaviour is designed instead of accepted as the default, and every branch has an error path. Automation that fails silently is worse than no automation, because people have already stopped doing the manual version and believe the numbers are current.
  • Kept reporting outputs readable for managers and operators.

Result and evidence

The automation took over the repetitive handling and left the decisions that matter with a person. Events reach the person who needs to act on them, and the ones that require a decision wait for it; the general channel stopped being the place notifications go to be ignored. The operational digest arrives on schedule and leads with what needs attention, which is what got it read rather than archived.

Commercial value

It shows how automation can support a commerce team without removing accountability. Operational awareness is a routing problem, not a volume problem: get the routing right and the alerts are worth having at all. Management attention is the scarce input, and a digest that spends it on interpretation rather than on reading tables is worth several times the same data in raw form.

Delivery notes

I had to define the safe boundary, tie the work to daily store operations, and keep these workflows maintainable after release.

  • Defined the safe boundary before changing behaviour.
  • Kept the implementation understandable for future maintenance.
  • Connected the technical work to an outcome the team could use.
implementation-brief.readme

Readable implementation brief

implementation_brief {
  project: "n8n Operations Automation"
  context: "Automation"
  problem: "Operational events, reports and notifications all needed routing, but not every decision along the way should be automatic."
  delivered: "n8n workflows for Telegram notifications, Google Sheets reporting, scheduled summaries and approval steps, with error branches and human review points."
  router: "classify -> route -> notify/queue; a named owner per notification, never a general firehose"
  pipeline: "collect -> normalise -> summarise -> next actions; scheduled daily and weekly, no manual trigger"
  gates: "approval only where a mistake is expensive; generated content stays internal until reviewed"
  failure: "explicit error branch on every path; designed retry; nothing is dropped silently"
  secrets: "provider vaults or server-side config"
  evidence: "The automation took over the repetitive handling and left the decisions that matter with a person."
  value: "It shows how automation can support a commerce team without removing accountability."
}