I have subscribed to multiple return-related webhooks (returns/request, returns/approve, returns/update) but none of them are being triggered when I manually create a return directly from the Shopify Admin (Orders page).
What I’ve tried
1. Webhook subscriptions created
I created the following webhook subscriptions using the webhookSubscriptionCreate mutation:
RETURNS_REQUEST, RETURNS_APPROVE, RETURNS_UPDATE
2. Verified webhook subscriptions
All webhooks are successfully registered and visible in:
GraphQL query webhookSubscriptions
Partner Dashboard > App Configuration
3. Return creation process (Manual in admin)
Steps I’m following to create a return manually:
Go to Orders page in Shopify Admin
Select a fulfilled order
Click Return items
Select items to return
Add return reason
Optionally add exchange items
Click Create return
Result: The return is created successfully in the admin with status “Return in progress” (API status: OPEN), but NO webhooks are triggered.
4. Webhook endpoint testing
My webhook endpoint is accessible and working (tested via the customer create return page)
Is this expected behavior? Should webhooks be triggered when a return is created manually in the Shopify Admin?
Hey @Lucas_Reyr, thanks for sharing that screenshot. I can see you do have returns/approve subscribed, so it is odd those aren’t even popping up. Could you share the order number you’re testing with so I can take a look on our end? In the partner/dev dashboard, there should be webhook delivery logs in those dashboards where you can check to see if returns/approve was attempted but failed delivery (timeout, non-2xx, etc. If you can share that info, that’d be super helpful to narrow this down as well.
If you can also let us know what API version your app is using, that would be helpful too. Let me know what you find and hope to hear from you soon!
Thanks for your reply I was trying on this order 12634905117058.
I also have check on the delivery logs of course and there is no log for returns/approve.
Thanks for the order info there, really appreciate it. I did some further digging on my end using that order ID and I can confirm that returns/request webhooks are actually being emitted for your shop. The issue looks like it’s on the receipt side. Our logs show the webhook attempts to your ngrok endpoint (https://7aa59c437e28.ngrok-free.app/webhooks/return-request) are failing with a non-200 response.
Just to confirm, is your app named “lucas operateur mdl”? That’s the one I’m seeing the failed deliveries on.
If you’re using an ngrok tunnel, the big thing to check is whether shopify app dev was actively running when you were creating those returns in the Admin. If the tunnel isn’t up, the endpoint wouldn’t work and webhooks will fail silently. Could you try creating a fresh return while your dev server is running and see if the webhook comes through?
Also worth double-checking that your webhook handler route is actually returning a 200 status, even if the tunnel is up, a non-200 response from your app code would cause the same issue.