Past 7 days · Workflows & agent builders

n8n

Connect tools and build workflows and agents

Experience score55.0/10022 comments
Source All

What people think

Across 22 comments in the past 7 days, experiences are mixed. Criticism concentrates on reliability (6 of 9 negative excerpts). Praise concentrates on workflow & integrations (7 of 13 positive excerpts). One user is excited to have Jev natively integrated into n8n. One user advises in self-hosted n8n, treat the binary volume as a first-class backup target alongside the database dump, and restore tests should bring both up together.

Daily experience trend

40506056.709-2509-2709-2809-3010-01By comment date · UTC · at least 5 comments per day

User feedback

28 review excerpts

NegativeReliability

I’d treat the binary volume as a first-class backup target alongside the database dump, not as an afterthought. A restore test should bring up both the database and that volume together; otherwise the workflows may load while their file payloads are missing.

PositiveWorkflow & integrations

Very cool to have this natively in n8n

NegativeEase of use

the async polling thing is the real pain in n8n . you end up with a wait node loop that looks ugly and breaks if the timeout is off by even a little.

NegativeReliability

make sure your error branch actually parses the status code separately from the body, most 500s from image hosts have useful info in the response body that n8n just doesnt surface by default

PositiveEase of use

I still keep n8n around for dumb glue though - cron scrapes, slack alerts, that kind of thing. Building THOSE with an agent is more effort than it's worth. Visual for the boring stuff, code for anything with state.

PositiveWorkflow & integrations

You can close the parent-to-child gap without a timestamp search: have each sub-workflow return its own execution id from its last node. Execute Sub-workflow hands that back to the caller, so the parent can write its execution id and the child's into the same log row and the chain becomes a direct join instead of a time window.

MixedEase of use

The built-in parent/child view is fine for one hop. It stops being useful the moment several runs overlap, which sounds like where you are.

PositiveEditing & control

n8n encrypts credentials at rest, but it doesn't care whose API keys are inside them — if the Stripe/database/API credentials in the workflows belong to your personal accounts instead of the client's, the handover is a lie and everything breaks the day you revoke them. Provisioning every credential from the client's accounts before go-live, and documenting which service each credential belongs to, has saved me more than one "why did payments stop working" call six months later.

PositiveWorkflow & integrations

So we’d still need the explicit logs for both success and cases where the decision looks off, but the Error Trigger approach is still useful if there’s an actual workflow failure.

Comment context
Comment being replied to ↗

One complementary angle: the Error Trigger workflow. Point it at your sub-workflows and it fires on failure with the workflow name, execution ID, and the full error payload — pass your correlation ID through it too and log to the same table, and failures land right next to the success-path rows instead of requiring a hunt through the execution list. Two caveats: it only fires on failures, so you still need the explicit log rows for success-path tracing, and on a busy instance double-check your execution pruning/retention settings (EXECUTIONS_DATA_PRUNE) so the history DB doesn't balloon while you're debugging by timestamp.

MixedReliability

In our case, the workflow itself won’t necessarily throw an error since a wrong decision can still be a successful execution. So we’d still need the explicit logs for both success and cases where the decision looks off, but the Error Trigger approach is still useful if there’s an actual workflow failure.

PositiveWorkflow & integrations

I’d add the external monitor to the handover. If it stays in your account, alerts go to you after the contract ends. In didit.run you can hand the workspace to the client and the ping urls stay the same.

PositiveEase of use

I was checking how others handle this in the n8n community, and maintaining a separate log seems like the better approach. I was initially thinking more about being able to navigate from the main workflow execution directly to the corresponding sub-workflow execution trace, similar to how the editor tab lets you navigate to the sub-workflow itself. Having the parent execution ID/correlation metadata exposed on the sub-workflow execution would make this much easier, especially for evaluation runs.

NegativeReliability

The built in parent/child stuff in n8n is kinda spotty once you get past one level deep. Half the time the execution list just shows them as separate unrelated runs so good luck piecing it together after the fact

NegativeEase of use

n8n's parent/child link works until you're looking at 200 executions in a five-minute window.

NegativeReliability

By default n8n holds file payloads in memory and writes them to PostgreSQL as base64, which quickly triggers container OOM crashes and balloons database backup sizes as soon as workflows handle PDFs or images.

PositivePrice & limits

Offloading binaries to the filesystem keeps memory usage predictable and makes database dumps much faster.

PositiveResults & quality

This is a solid workflow, especially the structured output part.

PositiveWorkflow & integrations

Ask Fetchsandbox for the twin's signing secret and store it as a separate n8n credential/variable alongside the base URL, so sandbox vs live is one toggle, not two.

Comment context
Original post ↗

building workflow payments are handled by stripe but wondering is there a config I can change the endpoint fetchsandbox twin ?

MixedReliability

If you verify incoming webhooks against the wrong secret, everything fails closed and it looks like n8n just silently dropped the events.

NegativeWorkflow & integrations

n8n is just one of many automation methods.. and been replaced altogether in my shop.

MixedEditing & control

idempotency key built from the chat message id fixed it, not the gate

Comment context
From the same comment ↗

mine double fired because the classifier call on synexa stalled and n8n retried the whole branch.

NegativeReliability

mine double fired because the classifier call on synexa stalled and n8n retried the whole branch

Comment context
Original post ↗

My refund agent went rogue in prod and issued the refund twice.

PositiveWorkflow & integrations

for whatsapp, quotes and publishing, start with n8n in self-host rather than an orchestrator agent, these are above all fixed workflows with an LLM step in the middle.

Machine translated
Show original

pour whatsapp, devis et publication, commence par n8n en self-host plutôt qu'un agent orchestrateur, ce sont surtout des workflows fixes avec une étape LLM au milieu.

NegativeWorkflow & integrations

In n8n's WhatsApp Trigger node, I don't see any place to manually enter/match that same verify token — the node just has OAuth credentials (Client ID/Secret) and a Trigger On (Messages) dropdown. So I'm not sure how n8n is supposed to validate the token Meta sends during the handshake.

Comment context
From the same comment ↗

Typed a random string into the "Verify token" field (e.g. `dental2026`)

PositiveEase of use

The message buffering part is probably the most useful piece here. WhatsApp users almost never send a complete request, in one message so waiting briefly before triggering the agents make the interaction feel much more natural.

MixedWorkflow & integrations

if you're doing this in n8n specifically, its built-in Credentials store already handles the agent-never-sees-the-raw-key part (credentials are referenced by ID, not injected into the workflow JSON), but it doesn't do rotation or per-agent scoping on its own

Comment context
Original post ↗

Do you keep separate keys for every service and store them behind a proxy/secret manager, or use some kind of integration layer? I’m mainly thinking about least-privilege access, key rotation, and making sure the agent never sees raw credentials.

PositiveWorkflow & integrations

The message-buffering part is especially useful since real WhatsApp conversations rarely happen in a single message.

NegativeReliability

On n8n Cloud, Cloudflare kills requests over 100 seconds (524 error), and a slow LLM/Sheets chain can hit that.