Those of you managing n8n workflows for clients — how do you find out when something breaks?

Describe the problem/error/question

Hey everyone :waving_hand:
I run n8n automations for clients, and I’m trying to figure out if a problem I keep hitting is just me — or something everyone here deals with.
Last month, one of my client’s workflows silently failed (expired Gmail credential). I only found out when the client messaged me asking why their leads stopped coming in. Not a great look. Then I spent an hour figuring out whether it was my workflow’s fault, their credential, or the API acting up — before I could even start fixing it.
For those of you managing workflows for multiple clients, I’m genuinely curious:
How do you usually find out a client’s workflow broke — do you catch it first, or does the client tell you?
When something breaks, how long does it take to figure out whose fault it is (your workflow bug vs. client’s credential/data vs. third-party API) before you can fix it?
Do you eat the cost of these fixes, or do you bill the client for that time?
What are you using right now to stay on top of this — n8n’s built-in error workflows, some monitoring tool, spreadsheets, or just vibes? :grinning_face_with_smiling_eyes:
And honestly — how much time per month would you say goes into this “is it broken / whose fault / explaining to client” loop?
I’m asking because I’m exploring ways to fix this for my own setup, and before I over-engineer something, I want to know how others handle it. If you’ve found a setup that works, I’d love to steal it. If you haven’t — you’re my people :handshake:

What is the error message (if any)?

Please share your workflow

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

Share the output returned by the last node

Information on your n8n setup

  • n8n version:
  • Database (default: SQLite):
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app):
  • Operating system:

Great question — the “client tells me” discovery is brutal, and I’ve been there too.

The pattern that fixes it: separate catching failures from detecting silence. An Error Trigger catches crashes instantly. But the expensive ones don’t error — they just stop running. A heartbeat approach works: every critical workflow writes a timestamp on success; a separate watcher checks those timestamps and alerts when something’s been quiet longer than expected.

For fault triage: tag failed runs by error source (credential vs API vs logic). Cuts “whose fault” time from an hour to minutes.

Cost: my workflow bug I eat it. Client credential expiry I bill for. Clear upfront transparency saves awkward conversations.

I also built flowsentinel.app for exactly this — catches silent failures across n8n, Zapier, Make and shows the exact next step. Free tier covers 5 active flows. But heartbeat + error workflow covers most of the gap either way.

What you could do is track each run in LumaTrack (an AI & automation ROI tool I built). It has a webhook for failing automations and for a drop in volume. You can wire those up with the LumaTrack n8n nodes & triggers or send them to whatever system you want (like Slack).