Shopify Ecom

Shopify Webhook Not Working: Where the Log Is by Route

Orders stopped reaching your spreadsheet or ERP? Find which route sent the webhook, where its delivery log lives, and what you can still replay.

Updated 13 min read

Key Insights in 60 Seconds

Skim the highlights, then jump to the route that sent your data.

Shopify Flow keeps a 14-day run log, and a failed run has a Retry button.
A webhook created in Settings keeps no log that any Shopify page we read describes, and repeated non-200 replies delete it silently.
Only an App Store or custom app's webhook emails the store owner on failure — an app owns that one.
Zapier guarantees at most 60 days of history, showing up to 10,000 runs; Make 7–60 by plan; self-hosted n8n defaults to 14 days or 10,000 executions.
No Shopify page we read describes a resend for an admin webhook — the backfill is an order export by date.
Your developer sees a Logs page covering 7 days, filterable by topic, status and shop.

What You'll Learn

1Which of four routes sent your data
2Where each route keeps its proof
3What deleted the subscription
4How to retry, replay or backfill
5What to send your developer

Orders still land in your Shopify admin, but the other side has gone quiet: the spreadsheet stopped filling on Tuesday, the Zap that posts sales into your accounting shows no runs, or the webhook you set up is no longer in Settings > Notifications > Webhooks — and nothing told you.

Where the evidence is, and what you can still recover, depends on which of four routes sent the data. Only three of them keep a log.

Which Route Sent the Data That Stopped?

Key takeaway

Name the route first — the log and the replay both follow from it. Two minutes in your admin:

  • Listed in Settings > Notifications > Webhooks, or it used to be: an admin webhook.
  • A workflow in Apps > Flow with a Send HTTP request step: Shopify Flow.
  • A Shopify trigger in Zapier, Make or n8n: a connector.
  • The destination belongs to an app you installed, or the store owner got a failure email from Shopify: the app owns the subscription.
Where the proof of delivery lives, by route
RouteWhere you find itWhere the delivery proof livesHow long the proof is keptWhat you can replay
Admin webhookSettings > Notifications > WebhooksNo delivery log on any Shopify page we have foundNo retention window on any Shopify page we readNothing — recreate it and send a test
Shopify FlowApps > Flow > Recent runsThe workflow run and its step errors14 days, then the run is removedRetry run for one, Retry runs for a batch
Zapier, Make or n8nThe connector's own accountZap history · Make History and Incomplete executions · n8n Overview > Executions tabZapier up to 60 days, showing up to 10,000 runs · Make 7–60 days by plan · n8n Cloud 7 days / 2,500 executions to unlimited time / 50,000 executions by plan, self-hosted 14 days or 10,000 executionsReplay or retry inside the tool
An app or a custom appApps, under the appLogs and Monitoring in the developer's Dev Dashboard7 daysNothing you can click; the developer re-fetches

Read September 22, 2026: Shopify's Flow monitoring page, Creating webhooks, shopify.dev's webhook troubleshooting page, and the Zapier, Make and n8n documentation, including Make's plan pricing table.

Where Is the Log for a Webhook You Typed Into Settings?

Key takeaway

No page we have found publishes a delivery log or history screen for a webhook typed into Settings (the box below lists what was read); only the receiving end knows whether an event arrived.

Shopify's Creating webhooks page states that if the destination repeatedly returns a non-200 status response, the subscription is automatically deleted from your admin — so a webhook that vanished from the list is the documented end of failures you never saw.

And the failure email is a route signal, not a safety net:

You receive an email at the store owner's email address when a webhook fails. The email is sent only when the webhook is created by an app from the Shopify App Store or by a custom app.
Shopify — Creating webhooks — Shopify Help Center ·

The repair is to recreate the webhook with the same event and URL, then use Send test and verify at that URL that the notification arrived. That proves the address answers now; it does not replay what was lost.

What we looked for and did not find
On September 22, 2026 we read Shopify's Creating webhooks page and its sibling notification pages, shopify.dev's webhook guide, troubleshooting page and webhook API reference, the WebhookSubscription object with its create, update and delete mutations, Shopify's Flow product page, and Zapier's Shopify integration pages and Zap history help section. Each absence stated in this guide rests on that reading.

Shopify Flow: The Run Log and the Retry Button

Key takeaway

If the connection is a workflow, you have a log in the admin and a button that runs the failed job again.

Finding the Run That Failed

Key takeaway

Flow stores every execution as a workflow run — in its own words, a log of what happened — listed under Apps > Flow > Recent runs.

Nine filters narrow the list, and three do the diagnostic work: Errors isolates failed runs, Start time finds the day the data stopped, and Retry status shows whether someone already retried a run.

Move quickly. Shopify's monitoring page states that workflow runs are stored for 14 days after a run completes, and are then removed from the system.

Retrying One Run or a Whole Batch

Key takeaway

The manual-retry page describes two moves: Retry run on the run details page, or Retry runs from the workflow summary after selecting every run the problem hit. The page lists five considerations:

  • The run has finished — not still running or waiting.
  • The workflow is active.
  • Its trigger matches the one the original run used.
  • The retry reuses the original trigger data.
  • Get data actions fetch fresh data, so conditions and actions run on today's values.

Beyond those five, the page read on September 22, 2026 states no maximum number of runs per retry and no cut-off by age.

If the HTTP step is what failed, the rule sits in the action: Flow waits a maximum of 30 seconds for a response code, then retries later, and on a 4XX, 5XX or 429 it does what the action was set to do — Retry for up to 24 hours, Fail the run, or Ignore the error. The action is available only on the Plus, Advanced and Grow plans.

Zapier, Make and n8n: History and Replay

Key takeaway

With a connector in between, Shopify's part ends when the event is sent; whether it arrived, and whether it can run again, is answered in the connector's own account.

See the exact numbers
ToolWhere the history livesWhat re-runs a failed one
ZapierZap historyManual replay, or autoreplay for errored runs on paid plans
MakeHistory tab, plus Incomplete executionsAuto-retry for supported errors, a retry error handler, or by hand
n8nOverview > Executions tabRetry with the original or the currently saved workflow

Zapier: Replay by Hand, or Let Autoreplay Do It

Zapier's Zap history guarantees a maximum of 60 days of Zap run data, displaying up to 10,000 runs. No Zapier page we have found says how often polling triggers check (see the box above), so an empty history does not prove Shopify sent nothing. On the Free plan manual replay covers errored runs only; autoreplay of errored runs works only on the Professional, Team and Enterprise plans, switched on account-wide by an account super admin or owner, and any member can enable it on a Zap they own (how Zap history and Autoreplay differ).

Make: Incomplete Executions Are Off by Default

Make's History tab shows each run, but after a failure the place to look is Incomplete executions, a safety net that stores an unfinished run instead of losing the data. It is disabled by default: Store incomplete executions in the scenario settings turns it on, and an empty tab usually means it never was.

n8n: Retry With the Original or the Current Workflow

n8n lists runs on the Overview page's Executions tab. Retry with original workflow repeats a failed run unchanged; Retry with currently saved workflow runs your edited version on the same data. A list emptier than expected usually points to the workflow's save settings or, on self-hosted instances only, to default pruning of executions older than 336 hours, about 14 days, or beyond 10,000 of them. On n8n Cloud the ceiling comes with the plan instead: Start and Starter save at most 2,500 executions with 7 days of retention, Pro 25,000 with 30 days, and Enterprise 50,000 with no time limit.

When an App Owns the Webhook: What Your Developer Sees

Key takeaway

A failure email to the store owner — sent only for App Store or custom app webhooks — puts you here, and the subscription belongs to the app, not to your admin.

Your developer sees two screens you do not: a Logs page of individual deliveries, filterable by topic, status and shop, and a Monitoring page (Dev Dashboard > Apps > the app > Monitoring) with delivery counts and response times — each over the past 7 days.

Behind those screens, Shopify retries failed webhook calls up to eight times in a four-hour period and removes the subscription if failures persist, while its metrics table separately describes removal after multiple failures in a 24-hour period. A delivery fails if the app does not respond within five seconds.

Nor does Shopify promise delivery:

Your app shouldn't rely on receiving data from Shopify webhooks. Webhook delivery isn't always guaranteed, and your app can miss or mishandle events for other reasons, such as handler failures or downtime. For redundancy, use reconciliation jobs to periodically fetch data from Shopify so that your app stays consistent with Shopify's data.
Shopify — Webhooks — Shopify Dev Docs ·

So the documented fix is not a resend but a reconciliation job — the loop a custom integration is built around, as the ERP guide shows. Send the developer:

  • your myshopify.com domain and the event that stopped;
  • the window of silence, and whether the owner got an email;
  • two questions: is the subscription active, and can a reconciliation job refill the gap?

Can You Still Get the Orders That Never Arrived?

Key takeaway

For a webhook created in the admin, no page we have found describes resending or replaying an event already delivered or lost (the box above lists what was read).

The Export orders screen has an Orders by date option, and the window's size decides delivery: up to 50 orders or the current page download to your device, while more than 51 orders or any export by date is emailed to you and the store owner.

Which Recovery Move Is Yours?

The table at the top answers by route; this one adds the elapsed time and what your tool still shows.

Which Recovery Move Is Yours?Five questions on your route, the elapsed time, and what your tool still holdsStart the quiz
Which Recovery Move Is Yours?Five questions on your route, the elapsed time, and what your tool still holds
Question 1 of 5
Which of these matches your connection?

Recover the Gap, Then Re-Arm the Connection

Key takeaway

Repair comes before replay: a retry into a broken endpoint fails again, and orders placed between an export and the repair land nowhere. In Flow, a retry needs the workflow active and the original trigger unchanged.

Webhook Recovery ChecklistFrom the first missing record to a connection that warns you.Open the checklist

Webhook Recovery Checklist

From the first missing record to a connection that warns you.

0 of 6 done
  1. Decide which of the four routes built the connection.

  2. Open the screen that records deliveries on your route.

  3. Note when the data stopped and when you noticed, then confirm orders were placed in between.

  4. Fix the endpoint or recreate the subscription, then send a test; the moment it lands closes the window.

  5. Re-run every failed job the log still lists, then verify on the receiving side.

  6. Rebuild what no replay reached from your order data, then make the next silence visible.

For the setup side of the last step, our webhooks guide covers how to notice a dead subscription before your bookkeeper does.

The Bottom Line

Key takeaway

A stopped webhook is a route you have not identified yet. Name it, then repair the connection, retry what is still listed and rebuild the rest from your orders.

If the data feeds your books, do not leave it on the one route with no log. An admin webhook leaves no failure record that any Shopify page we read describes, emails no one and deletes itself after repeated non-200 replies; Flow and the connectors each keep a run history and a retry button, and the route table above gives their retention windows.
Your Next Step by Stage
TodayThe gap reached your books. Reconcile the month before it closes.Shopify accounting
Running several feedsSeveral integrations, several logs? The development guide routes you.Shopify development guide
Handing it overHave a developer own the receiving end and the job that refills gaps.Hire a Shopify developer

Get the Gap Closed and the Feed Re-Armed

One scoped job: restore the connection, replay what your tool still holds — 14 days of Flow runs, up to 60 days of Zap history — backfill the rest from a dated export, and add a check that fires on silence.

Get a scoped quote

Frequently Asked Questions

It depends on the route. Shopify Flow logs every execution under Apps > Flow > Recent runs and keeps it for 14 days. Zapier, Make and n8n each keep their own history inside their own account. For an app's webhook, the Logs and Monitoring pages sit in your developer's Dev Dashboard and cover the past 7 days.
No page we have found — Shopify's Creating webhooks page, the webhook documentation on shopify.dev, or the WebhookSubscription object with its create, update and delete mutations, all read on September 22, 2026 — describes resending an event for a webhook created in the admin. Send test sends a new test event, not a repeat of past ones.
Shopify's Creating webhooks page states that if the destination repeatedly returns a non-200 status response, the subscription is automatically deleted from your admin. No Shopify page we read describes a record of those failures, and no email goes out unless an App Store or custom app created the webhook, so the disappearance is usually the first symptom you get.
Fourteen days. Shopify's monitoring page states that workflow runs are stored for 14 days after a run has completed, and that the run is then removed from the system and is no longer available. If you find the gap after that, the evidence is gone and only an order export can reconstruct what was missed.
Open the run details page and choose Retry run, or select the affected runs in the workflow summary and choose Retry runs for a batch. Shopify's manual-retry page lists five considerations: the run must have finished, the workflow must be active, its trigger must match the original, the trigger data is reused, and Get data steps fetch fresh values.
Shopify Flow's Send HTTP request action waits a maximum of 30 seconds for an HTTP response code, then closes the connection and retries the request later. What happens on a 4XX, 5XX or 429 is the choice made inside the action: Retry for up to 24 hours, Fail the workflow run, or Ignore the error and continue the run.
The store owner — but only for a webhook created by an app from the Shopify App Store or by a custom app. A webhook you typed into Settings > Notifications > Webhooks generates no such email, which is why an email in the owner's inbox is a reliable clue about which route actually failed.
Yes. The Zap history page displays a log of all Zap workflows that have run, and Zapier guarantees a maximum of 60 days of Zap run data while displaying up to 10,000 runs. On the Free plan manual replay is limited to runs with an errored status; autoreplay of errored runs is available only on the Professional, Team and Enterprise plans.
Check whether incomplete executions are enabled. Make describes them as a safety feature that stores an unfinished scenario run instead of losing the data, but the feature is disabled by default: Store incomplete executions has to be switched on in the scenario settings. Without it, a failed run leaves nothing for you to resolve.
Yes, in two modes. Retry with original workflow repeats the execution with the previous data and no changes; Retry with currently saved workflow runs your edited version against that same data. If executions are missing, check the workflow's save settings for failed, successful and manual runs, and self-hosted pruning defaults.
Export your orders for the window of silence and compare the two sides. In the admin, Export orders offers an Orders by date option with start and end dates. Up to 50 orders or the current page downloads to your device; more than 51 orders, or any export by date, is emailed to you and the store owner.
No. Shopify's webhook documentation tells app developers not to rely on receiving data from webhooks, because delivery is not always guaranteed and events can be missed for other reasons such as handler failures or downtime. Its recommended remedy is a reconciliation job that periodically re-fetches data from Shopify.
About This Article
Shopify Developer & Editorial Director
9+ years with Shopify since 2017

Front-end developer specializing in Shopify since 2017. Experienced in building custom Liquid themes, optimizing storefront performance, and integrating third-party apps. Directs the editorial process behind Shopify Ecom: sets each topic, and checks facts, links, and interactive elements before publication.

This article was written entirely by AI under human editorial direction. The editor sets the topic and structure, runs multi-stage validation on facts, links, and interactive elements, and verifies the output is useful from a business perspective. All claims are checked against official Shopify sources. Details may change — always confirm critical data at shopify.com.

Editorial Policy

Some links in this article are affiliate links. If you sign up for a Shopify store through these links, we may earn a commission at no extra cost to you. Read our full advertising policy.

Continue Learning

What to Read Next

Stay updated

Get notified about new articles

Subscribe to receive updates when we publish new Shopify guides and insights.