Workflow QAScan free →
SYNTHETIC EXAMPLE · NOT A CUSTOMER CASE STUDY

Sample reliability report + hardened JSON

Example deliverable for a fictional lead-enrichment workflow. You can inspect the actual n8n JSON before QA and the bounded hardened version after QA. The example demonstrates format and implementation depth only and does not imply a real customer result.

Back to pilotInspect before JSONInspect hardened JSONBook $250 pilot
EXECUTIVE SUMMARY
3 high-risk · 4 medium · 3 low
RECOMMENDATION
Fix high-risk items before handoff

The pre-QA workflow can accept malformed input, loses stable source context after HTTP responses, has no bounded retries, has no idempotency contract for CRM creation, and can report a technically successful CRM request without proving that a contact was actually created.

BEFORE → AFTER PROOF

What changed in the hardened workflow

These are concrete edits in the downloadable synthetic JSON, not just recommendations in a report.

1 · Validate and normalize at the boundary

The hardened workflow rejects missing/invalid email, company or domain data before external side effects and creates a stable lead key from the source event ID or normalized lead identity.

2 · Preserve trusted source fields explicitly

Downstream CRM and Slack expressions reference the validated source node instead of assuming each HTTP response still contains the original lead fields.

3 · Add bounded retries and timeouts

External HTTP operations have finite retry budgets, wait intervals and explicit timeouts instead of relying on one attempt or an unbounded wait.

4 · Add an idempotency contract

The CRM create request carries a deterministic Idempotency-Key in this synthetic example. The downstream service must actually honor that contract; the sample does not pretend a header alone guarantees deduplication.

5 · Turn green-but-wrong into an explicit failure

After CRM returns successfully, a code assertion requires a contact identifier. A 2xx response with no proven CRM contact now fails the workflow instead of silently continuing as a false success.

Open pre-QA JSONOpen hardened JSON
HIGH · 01

Duplicate CRM records on webhook replay

Observed pattern

The workflow creates a CRM record after enrichment but does not persist or check a stable external event ID before creation.

Failure mode

If the sender retries the same webhook after a timeout, the same lead can be processed twice and create duplicate CRM records and duplicate Slack notifications.

Recommended fix

Derive a deterministic idempotency key from the source event/lead identifier and require the receiving system or a durable store to enforce it before any non-idempotent create operation.

Bounded sample hardening

The synthetic hardened JSON derives a stable lead key and sends it as an Idempotency-Key header. This demonstrates the implementation pattern; a real engagement verifies whether the actual CRM/API supports that contract or needs a durable-store alternative.

Regression tests

Replay identical payload twice; replay after enrichment succeeds but CRM response times out; replay after CRM succeeds but Slack fails. Expected result: one CRM record and no duplicate business side effects.

HIGH · 02

Enrichment outage can drop the lead

Observed pattern

The enrichment HTTP node has no explicit retry budget or timeout and the downstream path assumes a successful response.

Failure mode

Transient 429/5xx responses can terminate execution without a controlled retry strategy, leaving the lead unprocessed.

Bounded sample hardening

The hardened JSON adds finite retries, waits and a request timeout. In a real workflow, retryable versus terminal status handling and durable failure routing are adapted to the actual API and business requirements.

HIGH · 03

A green HTTP response does not prove the CRM outcome

Observed pattern

A successful HTTP request is treated as equivalent to a successful business action.

Failure mode

The CRM can return 2xx with an unexpected or semantically incomplete payload. The workflow may continue green even though no usable contact was created.

Bounded sample hardening

The hardened JSON asserts that the CRM response contains a contact identifier. If not, it throws an explicit error before the Slack success notification is sent.

MEDIUM-RISK EXAMPLES

Additional issues to close before handoff

Slack notification is coupled to business success

A Slack outage should not make the CRM transaction appear undone. In a production engagement, notification criticality and retry/failure semantics are set from the real business contract.

No explicit execution correlation ID

Add a correlation/event ID to logs, alerts and downstream notes so retries and partial failures can be traced quickly.

Ambiguous update-vs-create branch

Make matching rules deterministic and test records that share company domains but represent different contacts.

No stale-data test

Test enrichment responses older than the acceptable freshness window if enrichment data drives routing or qualification.

REGRESSION PACK

Minimum test set before client handoff

T01 · Happy path

Valid new lead, successful enrichment, CRM create, outcome assertion, Slack success.

T02 · Invalid boundary payload

Missing or malformed required lead fields must fail before external side effects.

T03 · Duplicate delivery

Same event delivered twice; verify the actual downstream idempotency mechanism.

T04 · Retry after partial success

CRM succeeds, response times out, source retries webhook.

T05 · Enrichment rate limit

429 twice, then success within retry budget.

T06 · Enrichment hard failure

Persistent 500 until retry budget is exhausted.

T07 · Green-but-wrong CRM response

CRM returns 2xx but no contact ID; workflow must fail the outcome assertion.

T08 · Notification outage

CRM outcome is proven while Slack returns 503; verify the intended notification failure policy.

PILOT

Get the review — and bounded hardening where the export supports it.

One exported n8n workflow, expected behavior and synthetic/redacted examples. Fixed $250 pilot. 48-hour delivery after materials are received. When a safe deterministic fix can be made from the export, the delivery includes a hardened JSON. When a fix depends on production state, credentials or unknown business rules, you receive exact implementation guidance instead of a guessed patch.

Book the $250 pilot