Extending a fulfillment hold after a post-purchase upsell
If you're using post-purchase upsell apps, Shopify may place a short-term fulfillment hold on orders while the customer completes the upsell flow. When that hold is released, your order may move to Unfulfilled status before Customer Portal's editing window has closed. You can use two coordinated Shopify Flow workflows to bridge this gap and keep the fulfillment hold active for the duration of your editing window
This article will show you how to set up the two workflows that do the following:
- When Shopify places a post-purchase hold, tag the order.
- When the post-purchase hold is released, place a new hold, wait for the duration of your editing window, then release it and remove the tag
On hold status in Shopify
When an order's fulfillment status is "on hold," it signals to fulfillment apps and your fulfillment team that the order is not ready to ship. This gives the customer time to make changes through Customer Portal before the order moves forward. Once the hold is released, the order returns to Unfulfilled and is ready to be picked up by your 3PL or fulfillment service.
How the two workflows work
Shopify's post-purchase hold uses a specific hold reason that is only readable at the moment the hold is placed, not when it's released. The tag acts as a bridge: Workflow 1 sets it when the reason is identifiable, and Workflow 2 checks for it when the hold is released, regardless of timing.
You can import both .flow files directly into Flow instead of building the workflows manually.
Download Workflow 1 .flow file here
Download Workflow 2 .flow file here
How to import a .flow file
- In your Shopify admin, go to Apps > Flow.
- Click Import.
- Click + Add file, select the .flow file you downloaded, and click Import.
- Open the imported workflow and click Edit to review the steps before activating.
- Click Turn on workflow when ready. Repeat for the second workflow.
Workflow 1: Tag the order when a post-purchase hold is placed

Workflow 2: Place a new hold after the post-purchase hold is released

Important notes
- Both workflows must be active for this setup to function correctly. Activate them at the same time.
- The 60-minute wait in Workflow 2 is a placeholder. Adjust it to match the editing window you have configured in Customer Portal.
- This setup applies to orders that go through a post-purchase upsell flow. Orders without the
post-purchase-holdtag will not be affected by Workflow 2.
If you need help configuring this for your specific setup, feel free to reach out to support@cleverific.com.