Workflows can be used to automate a wide range of subscription experiences, from retention incentives to proactive customer communications. In this article, we'll walk through five proven recipes you can build and adapt for your own program. For an introduction to how Workflows are structured, check out What are Workflows?
How to use this guide
Each recipe follows the same structure:
- Objective — the business problem the recipe solves.
- When to use this — signals that suggest it's a good fit for your program.
- Customer experience — what your subscribers see end-to-end.
- Setup — step-by-step build instructions.
Recipes are independent. Pick the one that matches what you're trying to do, or read straight through if you're exploring what's possible.
Recipes also fall into two groups. Most run on their own: you build the Workflow once, and it acts every time a matching event happens in your store. A few use Manual Execution, which runs the Workflow a single time against a set of records you provide, when you click Execute. Manual Execution is built for one-off bulk changes, like moving a batch of order dates or canceling a group of subscriptions.
Providing data for manual recipes
Recipes that use Manual Execution run against records you supply. There are two ways to provide them:
- Raw input — paste records directly into the Workflow. Best for a handful of records.
- CSV upload — upload a file. Best for larger changes, up to 1,000 records.
Either way, your column header has to exactly match one of the record types Ordergroove recognizes: order, subscription, item, customer, product, payment, or shipping address. Use order, not order ID — a header that doesn't match won't link.
Which header you need depends on the action the recipe takes. If the action operates on a subscription, provide subscription records; if it operates on an order, provide order records. Workflows links your data to the action automatically when the header matches. If it can't, the action node will prompt you to connect a node that provides the record type it needs, and you can connect it yourself.
You'll still pull the IDs themselves from your reports in Ordergroove before you build the Workflow.
Objective
Reward subscribers with a free gift at a specific order milestone to reduce drop-off and improve retention.
When to use this
This recipe is a good fit if:
- Your cohort data shows a notable drop in retention between two specific orders (commonly between the second and third order).
- You want to test surprise-and-delight as a retention lever without launching a full loyalty program.
- You have a low-cost product in your catalog that makes sense as a gift.
It's not the right fit if you're trying to acquire new subscribers — milestone GWPs reward existing subscribers, not first-time buyers.
Customer experience
- The customer signs up for a subscription and receives their first few orders as normal.
- When their qualifying order is placed, the free gift is automatically added.
- The customer receives an email letting them know a gift is on the way.
- The gift arrives in the same shipment as the regular order.
Setup
- Trigger: Recurring Order Placed
- Filter: Successful Order Count, Equals, # of the order before you want to add the gift to. Ex if you want to add it to the 3rd order, make this 2
- Actions:
- Add Gift to Upcoming Purchase
- Send Communication (Klaviyo/Attentive)
Variations
- Trigger on a different order number. Most merchants test second-order GWPs first, but third- or fourth-order milestones can be effective depending on where your retention drop-off lives.
- Use a higher-value gift on a later milestone. Customers who reach order four or five have demonstrated strong intent — a bigger reward can deepen loyalty.
- Combine with a Klaviyo pre-notification. Send a "you'll get a free gift on your next order" email a few days before the qualifying order processes.
Objective
Reward subscribers with a one-time discount at a specific order milestone, as an alternative to a physical gift.
When to use this
This recipe is a good fit if:
- You want to run a milestone reward but don't have a good low-cost gift product available.
- Your margins on the subscribed product allow for a discount without eroding profitability.
- You want to test discount-based retention against gift-based retention to see which performs better for your program.
It's not the right fit if your subscribers are price-sensitive in a way that suggests permanent discounting — one-time milestone discounts work best as occasional surprise rewards.
Customer experience
- The customer signs up for a subscription and receives their first few orders as normal.
- When their qualifying order is placed, the one-time discount is automatically applied.
- The customer receives an email letting them know they got a discount on this order.
- The discount appears as a line item on the order confirmation.
Setup
- Trigger: Recurring Order Placed
- Filter: Successful Order Count, Equals, # of the order before you want to apply the discount to. Ex if you want to apply it to the 3rd order, make this 2
- Actions:
- Apply Discount
- Send Communication (Klaviyo/Attentive)
Variations
- Stack with a Klaviyo pre-notification. Send a "your next order will be 20% off" email before the qualifying order processes.
- Test discount levels. Run different Workflows at different discount percentages to find the level that maximizes retention without over-discounting.
- Combine with a GWP for higher-value milestones. Use a discount at the second order, then a GWP at a later milestone like the sixth order.
Objective
Move the place date on a group of upcoming orders at once, without editing each subscription by hand.
When to use this
This recipe is a good fit if:
- A fulfillment or logistics issue means a batch of upcoming orders needs to ship later than scheduled.
- You want to line a group of orders up on a specific date, like the first of the month.
- You'd otherwise be sending a bulk date change request to our Support team.
It's not the right fit if you want dates to move on an ongoing basis — that's a recurring Workflow rather than a one-time run. See Variations below.
Customer experience
- The customer's subscription and upcoming order are scheduled as normal.
- You run the Workflow against the orders you've selected.
- The place date on those orders moves to the date you chose.
- The customer sees the new date for their next order in the Subscription Manager.
Setup
- Trigger: Manual Execution (the Workflow runs once, when you click Execute)
- Data: raw input or CSV upload, using order as your column header. See Providing data for manual recipes above.
- Actions:
- Change Order Place Date, set to the new date you want
- Click Execute to run the Workflow against your records.
Variations
- Move order dates automatically. If you want dates to move on an ongoing basis rather than once, swap Manual Execution for a recurring trigger. For example, trigger on Subscription Created and set the place date to the first of the next month, so every new subscription lands on the same billing cycle.
Objective
Cancel a defined set of subscriptions in a single pass.
When to use this
This recipe is a good fit if:
- You're discontinuing a subset of subscriptions and need them all closed at the same time.
- You need to cancel for regulatory or compliance reasons, such as a product you can no longer ship to certain customers.
- You'd otherwise be sending a bulk cancellation request to our Support team.
It's not the right fit if you're discontinuing a single product across the board — use the Discontinue Wizard for that. It's also not the right fit if you need to cancel quietly, since cancellations made this way notify customers.
Customer experience
- The customer's subscription is active as normal.
- You run the Workflow against the subscriptions you've selected.
- Those subscriptions are canceled, and Ordergroove emits its standard cancellation events.
- Any cancellation communications you have configured are sent, exactly as they would be if the customer had canceled on their own.
Warning: Canceling this way is not silent. It emits the same cancellation events and sends the same customer communications as a normal cancellation. Silent cancellation isn't supported today, so if your program sends a cancellation email, plan for your customers to receive it.
Setup
- Trigger: Manual Execution (the Workflow runs once, when you click Execute)
- Data: raw input or CSV upload, using subscription as your column header. Because the action operates on a subscription, order records won't link here. See Providing data for manual recipes above.
- Actions:
- Cancel Subscription
- Click Execute to run the Workflow against your records.
Objective
Automatically cancel a subscription once it has received a set number of orders, so a fixed-term commitment ends on its own.
When to use this
This recipe is a good fit if:
- You sell subscriptions with an upfront commitment, like a three-order or six-order term, that should end once the term is complete.
- You sell gift subscriptions purchased on someone else's behalf, where the subscription should stop rather than renew against the gifter's payment method.
- You're tracking terms manually today and canceling those subscriptions by hand.
It's not the right fit if term length varies from customer to customer. The filter matches a single order count, so you'd need a separate Workflow for each term you offer.
Customer experience
- The customer signs up and receives their orders as normal through the term.
- When the final order in the term is placed, the subscription is canceled.
- Ordergroove emits its standard cancellation events, and any cancellation communications you have configured are sent.
- The subscription no longer appears as active in the customer's Subscription Manager, and no further orders are scheduled.
Setup
- Trigger: Recurring Order Placed
- Filter: Successful Order Count, Equals, # of the order before the one that should end the term. Ex if the term is 3 orders, make this 2. Toggle the node to the subscription level so it counts the successful orders on that subscription.
- Actions:
- Cancel Subscription
Warning: Like any cancellation, this emits standard cancellation events and sends any cancellation communications you have configured. If your term is a planned ending rather than churn, consider tailoring that message so it reads as the end of a term.
Variations
- End gift subscriptions automatically. Filter to your gift products so a gifted subscription closes after its final order instead of renewing against the purchaser's payment method.
- Run a different Workflow per term. If you offer more than one term length, build one Workflow per term and filter each to the products sold on that term.
Additional Reading