Automatically place all fulfillments on hold if order contains preorder product
Handling orders that contain both preorder and in-stock products can be complex. Typically, Shopify assigns an "on hold" status to preorder items, but not to in-stock products, which can result in mixed fulfillment statuses within the same order. This setup complicates efforts to ship all items together. Fortunately, with the Shopify Flow app, you can now easily set the entire order on hold, ensuring everything ships at the same time.
Please make sure to install the "Shopify flow" app from the App Store to create the workflow automation.
Navigate to your Shopify admin and select "Flow" from the left menu bar.
Click on 'Create Workflow' located at the top right corner of the screen and on the page that opens, click 'Select trigger' to begin setting up your workflow.
![](https://storage.crisp.chat/users/helpdesk/website/f69b1402a211d800/flow1_12wr23v.png)
In the sidebar that appears, type "order created" into the search box and select the corresponding trigger from the list. This trigger will initiate the workflow whenever a new order is placed by a customer or when a draft order is marked as paid and converted into an order.
![](https://storage.crisp.chat/users/helpdesk/website/f69b1402a211d800/ordercreated_1j5cn5l.png)
After setting the 'Order Created' trigger, click the "+" sign to add a new step in the workflow. Choose 'Condition' from the options that appear.
![](https://storage.crisp.chat/users/helpdesk/website/f69b1402a211d800/condition_17c7vbp.png)
Navigate to 'Shopify API' and select 'Order'. This will expand additional options. From the expanded options, scroll down to select 'FulfillmentOrders', and then choose 'Status' from the subsequent list on the right. Once done, click 'Back'. Now, set the condition to "equal to". In the dropdown for the second field, select "ON_HOLD". This condition checks whether the items in the order have an 'on hold' fulfillment status.
![](https://storage.crisp.chat/users/helpdesk/website/f69b1402a211d800/onhold_j019ln.png)
After configuring the condition, click on the "+" sign to add a subsequent step. Select "Action" from the available options. Type "hold fulfillment order" in the search bar within the action selection menu. Click on the "Hold Fulfillment Order" option that appears. This action will now be added to your workflow and displayed on the workflow card. In the right sidebar that appears with action details, choose "Other" from the dropdown menu as the reason for holding the fulfillment. This is how the final work flow looks like:
![](https://storage.crisp.chat/users/helpdesk/website/f69b1402a211d800/final-workflow_18fn0hj.png)
Once your workflow is fully set up and you've reviewed all the steps to ensure they're configured as needed, click on "Turn On Workflow". Activating the workflow will enable the automation, applying it to all applicable orders moving forward.
Please make sure to install the "Shopify flow" app from the App Store to create the workflow automation.
How to set it up
Navigate to your Shopify admin and select "Flow" from the left menu bar.
Click on 'Create Workflow' located at the top right corner of the screen and on the page that opens, click 'Select trigger' to begin setting up your workflow.
![](https://storage.crisp.chat/users/helpdesk/website/f69b1402a211d800/flow1_12wr23v.png)
In the sidebar that appears, type "order created" into the search box and select the corresponding trigger from the list. This trigger will initiate the workflow whenever a new order is placed by a customer or when a draft order is marked as paid and converted into an order.
![](https://storage.crisp.chat/users/helpdesk/website/f69b1402a211d800/ordercreated_1j5cn5l.png)
After setting the 'Order Created' trigger, click the "+" sign to add a new step in the workflow. Choose 'Condition' from the options that appear.
![](https://storage.crisp.chat/users/helpdesk/website/f69b1402a211d800/condition_17c7vbp.png)
Navigate to 'Shopify API' and select 'Order'. This will expand additional options. From the expanded options, scroll down to select 'FulfillmentOrders', and then choose 'Status' from the subsequent list on the right. Once done, click 'Back'. Now, set the condition to "equal to". In the dropdown for the second field, select "ON_HOLD". This condition checks whether the items in the order have an 'on hold' fulfillment status.
![](https://storage.crisp.chat/users/helpdesk/website/f69b1402a211d800/onhold_j019ln.png)
After configuring the condition, click on the "+" sign to add a subsequent step. Select "Action" from the available options. Type "hold fulfillment order" in the search bar within the action selection menu. Click on the "Hold Fulfillment Order" option that appears. This action will now be added to your workflow and displayed on the workflow card. In the right sidebar that appears with action details, choose "Other" from the dropdown menu as the reason for holding the fulfillment. This is how the final work flow looks like:
![](https://storage.crisp.chat/users/helpdesk/website/f69b1402a211d800/final-workflow_18fn0hj.png)
Once your workflow is fully set up and you've reviewed all the steps to ensure they're configured as needed, click on "Turn On Workflow". Activating the workflow will enable the automation, applying it to all applicable orders moving forward.
Updated on: 28/06/2024
Thank you!