Skip to main content

Fix · n8n

How to Know If Your n8n Workflow Is Actually Running (Not Just Green)

Green checkmarks lie. Here's how to verify your n8n workflows are actually executing on schedule.

Quick diagnostic

Three things to check first

Step 1

Check the trigger

Look at the last successful run. If the trigger hasn't fired since, the issue is upstream — a webhook URL changed, a cron schedule was edited, or the source system stopped sending events. Start here before you look at the workflow itself.

Step 2

Check the credentials

OAuth tokens expire quietly. API keys get rotated by a teammate who didn't know they were in use. A service account password changes upstream. Re-connect the integration that touches the step where the chain broke and try again.

Step 3

Check the logs

Open the most recent failed run. The first red step is where the chain broke — usually a field name that changed in the source data, a rate limit that kicked in, or a timeout talking to a downstream service. Fix that one step and the rest of the chain usually recovers on the next run.

The question itself tells you something important: if you're
Googling "how to know if my workflow is running," the n8n UI is not
telling you. And it isn't — the "Active" toggle in n8n confirms the
trigger is registered, not that it's firing. A workflow can be
active and dead at the same time, and the only way to tell is to
look at the executions and compare them against what should have
happened.

The manual version of this check is: open the workflow, look at the
executions list, find the most recent successful run, and confirm
the timestamp is inside the expected window. If the workflow should
run hourly and the last run was five hours ago, it's dead. If it
should run daily at 06:00 UTC and today's 06:00 run isn't there by
06:05, it's dead. Repeat this for every workflow on every client.
If you manage 20 clients with 5 workflows each, that's 100 checks
per day and nobody does it.

The automated version of this check has three flavours. You can
write a meta-workflow in n8n that queries the n8n API on a schedule
and posts a report to Slack — this works until the meta-workflow
itself breaks. You can set up external webhook reachability
checks on each workflow's URL — works for webhook triggers, not cron.
Or you can use a service that watches the executions from outside
and sends you one morning message covering every workflow at once,
in plain language.

The pattern

Most of these fail quietly.

Here’s the pattern: most automation and vibe-coded apps fail quietly. No alert, no error — just silence, until a customer notices. NoCrash watches your tools from outside and tells you in plain language, every morning, what ran clean and what didn’t. Peace of mind, not a log dump.

Stop finding out from your customers.

One morning message telling you what ran clean and what didn’t. Free forever on 3 things to watch.

Common questions

Frequently asked

Does the "Active" toggle mean my workflow is running?
No. "Active" means the trigger is registered. The trigger itself can still fail silently — an expired webhook, a quiet cron, a rotated credential — and the workflow will show active while doing nothing.
How often should I check if my workflows are running?
As often as the shortest-interval workflow needs. If your hourly job silently stops at 09:01, you want to know by 10:05, not tomorrow morning. For a full roster of clients, that's only practical with an automated check.
Can I use the n8n API to check workflow status?
Yes. /api/v1/workflows/{id}/executions returns the recent runs. You can poll it and compare timestamps against a schedule. You'll need to build the alerting, timezone handling, and per-client rollup yourself.
What's the easier way?
NoCrash does exactly this — polls your n8n instance, compares actual runs against expected schedules, and sends you one plain-language morning message covering every workflow across every client. Built for agency operators.