Updating webhooks and releasing a version will not go live

Hi, I’m working on my dev app and ran into an issue. I updated some webhooks in the app TOML file and ran the Shopify deploy CLI command. It deploys successfully, and in the dev dashboard when I check the versions, I can confirm that the changes applied. However, the webhooks are still being sent with the previous deployment.

I’ve tried various things:

  • Deleting the webhook

  • Changing the URL of the webhook

  • Adding fields to include_fields

Every time after deploying, I see the changes are correctly applied in the dev dashboard, but every time I keep receiving the previous version. Even after deleting the webhook, I still receive it.

I already had this issue the last time I tried to update webhooks a few weeks ago, and if I remember correctly, I had to wait several hours to see the changes being applied.

Any insights are welcome to fix this issue!

Thanks

1 Like

I found that when it’s a dev application, we have to run shopify app dev after deploying the version and it will work.

But it looks like a bug to me, because as mentioned above the version is marked as "published and active in the dev dashboard even before running shopify app dev.

Hey @Soufiane_Ghzal, this is currently expected behavior for development stores.

For development stores, shopify app deploy creates and releases a new app version, but the webhook configuration on your specific dev store is managed through the dev preview created by shopify app dev. When you run app dev, it creates an isolated preview on your chosen dev store and syncs your local shopify.app.toml changes there. That preview persists even after you stop the dev command.

For context, this isolation is intentional. It lets development teams work safely on the same app without affecting each other’s dev stores. The “published and active” status you’re seeing refers to the app version being released for production stores, but dev stores specifically require app dev to sync configuration changes. You can read more about this in the test apps locally documentation.

You can run the clean dev preview to restore your dev store to the published version.

To clean a dev preview, you can either:

shopify app dev clean

Hi Kyle,

Thanks for the detailed answer.

I can appreciate that, however, the fact that the dashboard says it’s working but it’s not is very confusing. Especially because in my situation the webhooks are sent to gcloud pub/sub and I would expect it to be sent regardless or whether or not my dev app is running. Also it’s not how production work, so it’s even more of a source of confusion. Even a coworker with years of experience in shopify ecosystem got confused.

I’d suggest that at least you add some kind of message somewhere in the dashboard saying that the version will not send webhook unless dev cli is running. That would probably save lot of time to some people in the same situation as I was.

To me the dev dashboard acts as a source of truth, so ultimately if it says it works I trust it.

Thanks for the reply.

I want to look in to this some more. What should be happening is that your dev store is going to use the latest version that was pushed to that store when you last ran shopify app dev. If you used a live url for receiving webhooks on this store when you ran that, I would expect them to still trigger even when you don’t have app dev running locally. Are you seeing different behaviour?

What I would suggest is if you have made changes to your webhooks and deployed that during a development session, to then run the app dev clean command so that it will sync your dev store with the deployed version.