Workflow reliability / Shopify × n8n

Shopify order exists.
Why didn't n8n run?

A green workflow history does not answer whether every Shopify order reached the workflow. Trace three separate boundaries, compare a tiny fictional example, and decide what to verify before you retry anything.

Moruneva technical guide · 24 October 2026 · Independent, AI-assisted research and synthetic tests; not a customer incident

Short answer: start with the missing record

If an order exists in Shopify but not in n8n, the cause could be a missed or filtered webhook, an inactive or misconfigured endpoint, a delayed event, or a mismatch in the records you exported. If n8n has a successful execution but your CRM has no result, the break may instead be downstream. These are different investigations.

First compare what should have happened with what was actually observed. Shopify explicitly recommends a periodic reconciliation job because webhook delivery is not guaranteed. Use the platform's delivery metrics and logs before diagnosing the destination. Shopify webhook guidance · Shopify delivery troubleshooting.

Three boundaries to check

1. Order → expected eventIn an authorized Shopify store, establish which orders qualify for the chosen topic and time window. Check app permissions, creation time, pagination, and any filters. An incomplete source export creates a false sense of coverage.
2. Expected event → n8n executionCheck the webhook subscription and its destination, production webhook URL, published workflow, delivery logs and timing. If an event is absent from n8n, investigate delivery before looking at the CRM.
3. n8n execution → business receiptFor a received event, check the independent CRM/fulfillment record. An n8n success label is not proof that the intended downstream state is correct, and a matching receipt ID alone does not establish payment or shipment.

For HTTPS subscriptions Shopify recommends a prompt 2xx acknowledgment and processing that can tolerate duplicates and out-of-order events. The platform documents bounded retries and delivery logs. Do not interpret the X-Shopify-Webhook-Id header as the Shopify order ID: it identifies a webhook delivery for deduplication, not the canonical business object. Official delivery notes.

Reproduce one missing arrival with fictional data

Use one stable, pseudonymous event key across the three exports. It may be a consistently transformed order identifier if you are authorized to work with it. Do not join by customer name or assume that separately hashed, regenerated or truncated identifiers will match. The following inputs are invented and contain no real customer information.

Optional C — expected source events

event_id
DEMO-201
DEMO-202
DEMO-203

A — workflow executions

event_id,status
DEMO-201,success
DEMO-202,failed

B — independent downstream receipts

event_id,receipt_id
DEMO-201,CRM-201

Choose Open the prefilled fictional Shopify check to load all three invented CSVs and see the result immediately. No store connection is made and the link contains no event data. You can also copy the three blocks into the free browser-local Outcome Reconciler manually. With these snapshots, DEMO-203 appears in the source list but not the execution list; the checker flags source_without_execution. DEMO-202 explicitly failed; this still needs a separate decision, but the tool does not automatically label its missing receipt a proven downstream defect.

What this does not prove

A missing execution row can reflect an export window mismatch, an intended filter, an incomplete log, or an event still in flight. It does not certify a lost sale or justify charging the full order value as recovered revenue. The checker also cannot verify that your Shopify source list is complete.

What to investigate next

ObservedNext evidence to verify
Order in Shopify, no n8n executionSubscription/topic/filter, production URL, Shopify delivery logs, webhook arrival logs, delay and aligned export windows
Repeated execution or repeat receiptRetries, idempotency key, existing downstream side effects; do not blindly replay
Execution succeeded, no receiptDestination system lookup, retries, downstream lag, status mapping, partial writes
Execution failed, no receiptFailure logs and recovery policy; a missing receipt alone is not an extra rule violation
All three exports matchSource completeness and downstream state still need independent confirmation; clean joins are not a certification

Start with Shopify's own delivery logs and a basic spreadsheet comparison if that already solves your question. Use Moruneva only when a safe, repeatable comparison of three compatible snapshots helps. For production incidents, have an authorized operator confirm the next action; retries may cause duplicate business side effects.

Keep store and client data out of the checker

Shopify's Admin GraphQL Order query requires appropriate authorization and usually exposes only a limited recent history without expanded scopes. Pagination and query boundaries matter. Do not paste customer emails, shipping details, order amounts, access tokens, raw webhook payloads or private order IDs into a public webpage—even one that currently runs comparisons locally. Prepare separate pseudonymous, consistent test keys and review who may share them. Official Shopify Order API.

Compare the three snapshots locally

The free checker accepts execution CSV, receipt CSV, and an optional expected-source list. You can test this guide's fictional example without a login or an API connection. Results are investigation leads, not certified defects.

Try the fictional Shopify example ↗

This one-click link loads fixed, invented records. Clear the sample before checking your own authorized, pseudonymous IDs.

Method and sources

This is independent Moruneva reference material based on public platform documentation and fictional data. It is not an account-level Shopify diagnosis, Shopify endorsement or proof of an existing merchant deployment.