The run is green. The client's CRM is empty. We catch that. Outcome monitoring + white-label weekly reports for automation agencies. Free n8n Health Check ↓
Your n8n workflow ran green. Your client's CRM is still empty.
80-second walkthrough of LeadPulse: free n8n Health Check, white-label client reports, alerts on silent failures, zero-item runs, dead triggers and expired credentials.
Free plan, no card: https://t.co/Md0JwqZ5yn
@zarqarwi 'The way it fails looks identical to the way it works' is the whole problem. The only check I trust for these is on the result: did the commit (or row, or email) actually appear in the last N hours? Exit codes can't tell you that.
@divyam_khorwal Painful with many instances. One habit worth adding: after each upgrade, trigger one known workflow per instance and confirm its end result landed, not just that the container is healthy. Upgrades are where quiet breaks show up.
@TongjunLi37786 Ten days is painful. A health check that sends one known prompt daily and checks a real answer comes back catches billing, key and model-retirement problems alike, since they all look like 'no output'.
@buildwithdk@Sanatk2312 'Work or tell you, never quietly do less' is a great rule. One cheap check for that exact case: if the subject equals your fallback text, stop the send and ping yourself. The fallback is the symptom you can test for.
Building in public: how LeadPulse watches Make (and Zapier) scenarios.
Add one HTTP step at the end that calls a unique heartbeat URL, optionally with ?count=.
If the ping is late, or the count is 0, you get one alert. When it recovers, a recovery note.
@Wait4TheMorning Nice catch. In n8n you can pin a set of awkward test inputs (bare address, uppercase, plus-tags, empty) and rerun the node against them after every edit, so the fix stays fixed. https://t.co/OVANPKrKVi
@arnavshr09 The timezone one is a great catch. Same idea after launch: check the outcome, not the run. Once a day, compare bookings that landed on the calendar with leads that came in. Green steps with an empty calendar is the alert.
@Sanatk2312 The 'runs but returns nothing' case is the one I'd guard first: alert when a run produces zero (or far fewer) results than usual, not only when it errors. A green run with an empty output is still a failure.
@mascot75572 A, with one guard: write a record per brand+video (e.g. 'pending') before publishing, check it first, mark it 'posted' after. A retry then can't double-post, and an error workflow can alert on anything stuck in pending.
@Jay_Mex_ Agree. What helps a client keep paying for maintenance is seeing it: a short weekly note with runs, failures caught and what you fixed. A Sheet works; LeadPulse sends that as a white-label report.
@MartinSzreter Thanks Martin, that's a clean way to do it. Routing anything that isn't a normal finish to retry or alert means a cut-off answer never quietly gets published.
@CustomersOnAuto That failed-search-looks-like-no-match one is nasty. Worth making the lookup node fail loudly (On Error: Stop Workflow) and routing errors to an error workflow, so 'search broke' can never pass as 'not found'. https://t.co/a3OsmZcS7r
n8n/Make builders: for client workflows, webhook or polling?
Webhooks are fast but tend to fail by going quiet. Polling is slower but usually tells you when it breaks.
Which one has burned you more?
Quick check: put the Webhook response module last. If it sits mid-scenario and a later module errors, you won't be notified.
A deactivated scenario sends you nothing because it doesn't run, so the robust check is a heartbeat from its last module: https://t.co/N4Sb3Veuhc
Make scenario toggle off, no runs since a certain time, nobody remembers turning it off?
Make switches scenarios off after errors: scheduled ones after N consecutive errors (default 3), webhook-started ones on the first. Also after an OperationsLimitExceededError.
Quick check: right after the trigger, add an IF node with "is empty" / "does not exist" on each required field, and route true to Stop and Error. Now a rename fails loudly and reaches your error workflow.
AI-output chains and read-back checks: https://t.co/CoGFzLZgC7
Every n8n run green, CRM records arriving on schedule, and the email field is blank.
Often an upstream field got renamed (email -> email_address). {{ $json.email }} doesn't throw on a missing field. It resolves empty and the node carries on.
Quick check: Google Cloud console > OAuth consent screen. If it says External + Testing, it breaks 7 days after each reconnect. Use Internal for Workspace-only users, or publish the app.
Service accounts, password changes and the 100-token limit: https://t.co/IqZhoNaK0f
n8n Google workflow fine on Friday, a column of invalid_grant / "Token has been expired or revoked" by Monday?
Common cause: a custom OAuth app with External user type still in Testing. Google issues it refresh tokens that expire in 7 days (unless only basic profile scopes).