Hold Orders for 1 hour to allow edits

Solved

Hold Orders for 1 hour to allow edits

jsciabica
Excursionist
25 0 71

Trying to place orders on hold for 1 hour to delay my shipping software from syncing so that we have a small window to make changes to the order. With flow, I can place all on hold, but I can't figure out how to release the hold. Flow wants me to "get order data" but I don't know how to grab the specific order I put on hold 1 hour before.

Screenshot 2024-09-09 at 3.55.15 PM.jpg

Accepted Solution (1)

DaveedValencia
Shopify Partner
26 5 5

This is an accepted solution.

Give this flow a try, it should solve the issue.

Screenshot.png

View solution in original post

Replies 10 (10)

DaveedValencia
Shopify Partner
26 5 5

edit your flow to match the screen shot below.

 

1. Right after the wait step, add > Action > Get fulfillment order data

DaveedValencia_0-1725954839869.png

2. Change the "Maximum number of fulfillment_orders" to 100.

3. Add an action, Select Flow then select For each loop.

4. It will ask you for a list, click into it and select the "Get Fulfillment Order Data". See screenshot.

DaveedValencia_1-1725954948707.png

 

5. Add an action to "Do this for each item". And then add release fulfillment hold.

DaveedValencia_2-1725955256705.png

 

 

jsciabica
Excursionist
25 0 71

Thanks for the prompt and thorough reply! I'm going to test now!

jsciabica
Excursionist
25 0 71

As I suspected, the "Release" action is releasing the hold on ALL orders, not just the order we originally held in the Flow.

 

For instance, over the course of 59 minutes, we may receive 10 orders, and all are placed "On Hold". At 60 minutes, all 10 orders are Released. So 1 order was held for 1 hour but the other nine were not.

 

Screenshot 2024-09-11 at 11.16.52 AM.jpg

paul_n
Shopify Staff
1336 151 304

I think you don't need that "Get fulfillment order data" action. You could just loop over order / fulfillment orders with "For each" and release the fulfillment hold for each of them. 

 

I'll add - fulfillment orders are assigned after an Order is created. You may see this workflow fail sometimes because it's missing them. If so, add a wait step after "order created" of ~ 5 minutes. Or use the Order ready to fulfill trigger.

 

If you do the latter no looping is required:

 

  • Order ready to fulfill
  • Hold fulfillment order
  • Wait 1 hour
  • Release fulfillment hold
Paul_N | Flow Product Manager @ Shopify
- Finding Flow useful? Leave us a review
- Need Flow help? Check out our help docs.
- Building for Flow? Check out Flow's dev docs.
jsciabica
Excursionist
25 0 71

Paul,

 

Thanks for the reply! I tried removing the "get data" but it errors.

 

jsciabica_0-1726090894117.png

 

I tried your second recommendation. It places the orders on hold, but it does not release them, they remain on hold after 1 hour.

jsciabica_1-1726091211260.png

 

 

paul_n
Shopify Staff
1336 151 304

This workflow should work. You need to figure out why it's not releasing the hold. Are you looking at the workflow run to see if it fails or not? 

Paul_N | Flow Product Manager @ Shopify
- Finding Flow useful? Leave us a review
- Need Flow help? Check out our help docs.
- Building for Flow? Check out Flow's dev docs.
jsciabica
Excursionist
25 0 71

I'm trying to use a query to only select orders older than 1 hour, but it's still releasing the hold for ALL on hold hours:

 

created_at:<='{{ scheduledAt | date_minus: "1 hour" }}' AND fulfillment_status:on_hold AND NOT status:cancelled

 

jsciabica_0-1726097998312.png

 

paul_n
Shopify Staff
1336 151 304

You are making up query filters here (maybe copying them from an order query?). There is a link to the docs on that action, which should take you here: https://shopify.dev/docs/api/admin-graphql/2024-07/queries/fulfillmentOrders#argument-query

 

fulfillment_status is not a filter on fulfillment orders. I'm also not sure you a fulfillment order can have a status of cancelled. It looks like you 

Paul_N | Flow Product Manager @ Shopify
- Finding Flow useful? Leave us a review
- Need Flow help? Check out our help docs.
- Building for Flow? Check out Flow's dev docs.

DaveedValencia
Shopify Partner
26 5 5

This is an accepted solution.

Give this flow a try, it should solve the issue.

Screenshot.png

jsciabica
Excursionist
25 0 71

Bingo! This works. Holds the order for 1 hour and then releases it. Game changer for us being able to edit a order before the shipping team even sees it.

 

Thank you!