Why don’t brushes get a restock email?
A restock check-in for orders with paint or paper, and silence for brushes.
What does this flow do?
This is the flow that best shows what Bento can do. The decision isn’t made in an email at all: a few lines of Liquid inside the flow read the order the moment it arrives and save the answer.
Everything after that, the timing, the WhatsApp and the email, just reads that one saved word.
When does it start?
About six weeks after an order that contained something that runs out, like paint or paper. Our daily job tells Bento who is due.
How does it run, step by step?

- When the order arrives, a few lines of Liquid label it consumable or durable from its categories.
- Orders of only brushes, easels or tools are durable, so this flow never starts for them.
- About six weeks later, our daily job sends Bento the customers who are due.
- WhatsApp goes first, if they have a phone number; email is the fallback.
- A couple of weeks later, repeat customers get a second note about something new in their medium.
- An order at any point ends the flow.
What happens before every send?
Every email in every flow passes the same quiet check first. Is the customer still in this flow? Have they bought since it started? Have we emailed them in the last couple of days? If any answer says wait, the flow waits a day and asks again, rather than piling another email on top.
After the send, the flow marks a short cooldown, so the next flow that wants this person knows to give them a breather.
Want to try the decision yourself?
Order placedAbout six weeks later:we check inBrushes only:
we stay quiet
There’s paint in the order, so we check in about six weeks later.
- 0
- 12
- 32
- 46
- 91
- 180
{%- assign type = "durable" -%}
{%- for item in order.items -%}
{%- for cat in item.categories -%}
{%- assign c = cat | downcase -%}
{%- if c contains "brush"
or c contains "easel"
or c contains "painting tools"
or c contains "palette"
or c contains "accessor" -%}
{%- continue -%}
{%- endif -%}
{%- if c contains "paint"
or c contains "paper"
or c contains "ink"
or c contains "pastel"
or c contains "sketchbook"
or c contains "canvas" -%}
{%- assign type =
"consumable" -%}
{%- endif -%}
{%- endfor -%}
{%- endfor -%}
{{ type }}
How do you build this on your platform?
These are the events the flow needs, and where each one comes from on your store.
Order placed, with categories Needs a small recipe
A Shopify Flow “Order created” workflow sends product types and tags to Bento’s API (Grow plan and up).
A daily “due” event Needs a small recipe
Bento’s date trigger never fired for us, so a small daily job sends the due events.
Order placed, with categories Needs a small recipe
The plugin sends items without categories; add them with a small hook or a custom event.
A daily “due” event Needs a small recipe
The same small daily job, reading last order dates.
Order placed, with categories Works out of the box
Our plugin includes each item’s category path.
A daily “due” event Needs a small recipe
We run a tiny scheduled worker that sends these every morning.
How does it connect to the other flows?
- It waits for post-purchase and second purchase to finish.
- Win-back gives way while a restock check-in is running.
What does one of the emails say?
It has been a few weeks since your last order. If you have been painting a lot, your paper might be getting thin.
Here are the exact things you ordered last time, in case you want the same again.
Kshitij, Art Lounge
An excerpt. The full emails change with each customer’s order and medium.
Questions people ask about this flow?
How do you decide which products need a restock reminder?
At the moment of purchase, Liquid inside the flow reads every item’s category. Brushes, easels and tools are skipped first, so “Brushes and Painting Tools” never matches “paint”. Any paint, paper or ink makes the whole order consumable.
How long after an order should a replenishment email go out?
For art supplies, about six weeks worked for us. Someone painting actively will be running low on paint or paper by then, while a slower painter isn’t bothered too early.
Can Bento run code inside a flow?
Yes. Bento lets you write Liquid in flow steps, not just in emails. That is how this flow labels an order once, at purchase, and every later step reads the result.