Field notes from building n8n templates
Faults found in our builds,
and what we changed.
Each note describes a fault in an n8n workflow that Fractional HQ hit, tested for or found by reading the build. Each one says what we ran and what we only read, with the date, and ends with what we did not check.
Have a workflow to hand? Paste it into the free n8n workflow checker and it looks for several of these faults in your browser, which is quicker than reading every note.
12 notes, newest finding first
n8n booking workflow books twice when the customer repeats the message
A calendar booking workflow in n8n booked a second appointment when the customer sent the same request again. Why the duplicate check missed it, and the fix we ran.
n8n Wait node with a date in the past continues immediately
we gave an n8n Wait node a time that had already passed and the run carried straight on, so a booking reminder went out right behind the confirmation message.
n8n reminder after a Wait: re-check the booking first
A paused n8n run only knows what was true before its Wait node. How a second read of the booking stopped a reminder for a cancelled booking, in a replay of a real message.
n8n WhatsApp Trigger test step waits and never runs
Pressing play on an n8n workflow that starts with a WhatsApp Trigger only starts listening for a message. How we test a WhatsApp workflow by hand, and by replay.
WhatsApp reminder not delivered from n8n: the 24-hour window
From n8n, a plain-text WhatsApp reminder only arrives if the customer wrote in the last 24 hours. What Meta's rule means for a booking reminder, and two ways round it.
n8n Google Sheets append missing rows
A row can go missing when two n8n executions append to one Google Sheet in the same second, while both nodes report success. The HTTP Request fix that held for us.
n8n parallel branches execution order canvas position
In n8n, two branches from one node run top first on the canvas, so tidying the layout can change what a workflow does. How we found it and how we test for it.
n8n Cannot access "caller" due to security concerns
Why n8n throws Cannot access "caller" due to security concerns on an expression, why our pinned test runs never showed it, and what we changed afterwards.
n8n test passes with pinned data but the real run fails
In n8n a pinned node returns your pinned data and never evaluates its own parameters. Five of our pinned runs passed while twelve nodes were broken. What pins do test.
n8n sends an ISO date like 2026-09-29T13:30:00.000Z in a message
Our n8n booking confirmation was built to read 2026-09-29T13:30:00.000Z for a 14:30 appointment. The Luxon format and timezone call that turned it into a time a customer can read.
n8n Retry On Fail continue on error duplicate emails
With continue on error, n8n Retry On Fail reruns the whole node with every item, so one failure can resend other people their emails. Read in the n8n source.
n8n Merge node runs twice and sends a duplicate summary
An append Merge node in n8n ran once when its first inputs were ready and again when a failure branch finished, so our summary went out twice. What we do now.