Field notes
Gmail labels only
Label changes are not customer email. Score should reflect that.
What Crash Labs saw
Gate FAIL · risk 100/100 · 2 outbound action(s) · coverage 100%.
"Untitled workflow" should not go live yet: 4 critical issue(s) (score 100/100). Biggest risk: Nobody gets alerted when this workflow fails.
Why this breaks in production
critical
Ran 3 actions twice on a retry
3 email(s) ran again on the second delivery. In production that means duplicate emails, charges, or messages for the same event.
Fix → Before you send email or charge a card, store the order/message id. If that id was already handled, skip. Put a short queue in front of bursts so one webhook storm cannot spam.
critical
Sent the same email 30 times in a burst
27 of those actions happened after the first run. Example from the ledger: 50 copies of the same email went to (mailbox mutation) (subject: "gmail:create").
Fix → Before you send email or charge a card, store the order/message id. If that id was already handled, skip. Put a short queue in front of bursts so one webhook storm cannot spam.
critical
Under heavy retry, saw 50× the same outbound action
50 copies of the same email went to (mailbox mutation) (subject: "gmail:create").
Fix → Before you send email or charge a card, store the order/message id. If that id was already handled, skip. Put a short queue in front of bursts so one webhook storm cannot spam.
critical
Burst kept succeeding and burned budget quietly
In production you may not notice until the API bill spikes or the account is empty.
Fix → Add spend/quota alerts and a daily cap. Do not rely on the provider to fail loudly.
Run this pattern on your workflow
Upload your n8n JSON at Crash Labs. Same gate, blast-radius ledger, and shareable report for clients.