Topics covering webhook creation & management, event handling, Pub/Sub, and Eventbridge, in Shopify apps.
A merchant is using Flow with Plus.
The apply a tag during Flow to an Order. Simple. Thing is Shopify fires off the order as a webhook BEFORE the tag is applied by Flow. So this breaks the processing that depends on the tag from Flow, as the webhook payload is now incomplete.
Since webhooks only fire on order created or order paid, it does not seem like that offers any relief or option. So what do people do with this, when Flow is altering orders at the wrong time?
Solved! Go to the solution
This is an accepted solution.
This is simply how Flow works. Shopify Flow will execute against new orders soon after they are created, subscribed webhooks will probably be sent out before this happens with Shopify Flow. You just have to understand that and work with it. It is certainly not something that the Shopify Flow docs make clear for Shopify store admins.
I work on a store that uses Shopify Flow for the same thing: to tag orders as are created.
To work with this we have written a separate process to poll our new orders on Shopify with a lookback window: we give our orders 20 minutes to resolve, and them send them off to our warehouse for processing. Doing so gives Flow time to do it's job of tagging an order soon after it is placed.
I, like you, wish Flow could execute before webhooks fire, but it won't ever do that, so here we are. 🙂
This is an accepted solution.
This is simply how Flow works. Shopify Flow will execute against new orders soon after they are created, subscribed webhooks will probably be sent out before this happens with Shopify Flow. You just have to understand that and work with it. It is certainly not something that the Shopify Flow docs make clear for Shopify store admins.
I work on a store that uses Shopify Flow for the same thing: to tag orders as are created.
To work with this we have written a separate process to poll our new orders on Shopify with a lookback window: we give our orders 20 minutes to resolve, and them send them off to our warehouse for processing. Doing so gives Flow time to do it's job of tagging an order soon after it is placed.
I, like you, wish Flow could execute before webhooks fire, but it won't ever do that, so here we are. 🙂
Thanks for that. It's always a pleasure to inform the people actually making a living off of Shopify about how it really works. The webhook processes at least a few thousand orders per day, every day, and now that this is a thing, it is just one more thing they have to deal with. So funny.
I knew it was this because the webhook order had no tags, but when they resent the order a few minutes later, via my manual resend, it was perfect. Bingo. Flow is not tagging in time.
Remember you'd get webhook orders and the Customer would still not be attached, because it was still being processed in a different module? Those were fun days too. I love living la via loca.