Remove product tag exactly one hour after online store publish

Topic summary

A clothing store owner needs to automatically remove an “Early_access” tag from products exactly one hour after they’re published to the online store (not after creation). Products drop daily at 10am, with subscribers getting one-hour early access.

Initial Challenge:

  • Shopify Flow can only trigger based on product creation time, not publish time
  • The “Product status updated” trigger doesn’t work because products are set to active for scheduling, and status doesn’t change when published to the online store

Recommended Solution:
Mechanic app was suggested as the best option since it can listen for product update webhooks and check the published_at field. The workflow would be:

  • Detect when product is published (via products/update event)
  • Add “Early_access” tag
  • Wait 60 minutes
  • Remove the tag

Alternative Workaround:
Use Flow to publish products instead of scheduling them in product settings, allowing Flow to handle the entire timing sequence.

Note: One participant initially provided incorrect JavaScript code claiming to be a Mechanic task, but Mechanic actually uses Liquid templating and doesn’t have a direct products/published event. The discussion remains open with the store owner awaiting a proper Liquid-based solution.

Summarized with AI on October 25. AI used: claude-sonnet-4-5-20250929.

Hi! So i run a clothing store and i drop products every morning at 10am. subscribers get hour early access to shop product before non members can purchase. i need to find an app that will automatically remove a tag one hour after PUBLISH not one hour after creation. shopify flow will let me remove one hour after product creation but i can’t find any tool that tracks when a product is published to the online store and then able to remove a tag. any ideas or where i could look?

2 Likes

In Flow you need to use trigger “Product status updated” – this will trigger when you publish the product (or unpublish – you’d need to check the current status of the product when fired).

Flow can only work off creation time, not publish time — that’s why it isn’t lining up for you. What you’ll need is an app that listens for the “product published” event.

The best option is Mechanic-you can set a task like:

On publish → add early access tag

Wait 60 mins → remove tag

If you’re on Plus, Launchpad can also help, but Mechanic is the most flexible for this type of timed drop.

Yep I’ve been playing with mechanic, haven’t figured it out yet I’ll try it again

1 Like

Exactly :+1:, Mechanic will give you that control since it can listen for the publish webhook, not just creation. If you want, I can share a sample Mechanic task setup so you don’t have to start from scratch. Would you like me to drop that here?

Yes please! Would be extremely appreciated!

If it helps, the tag I want to remove is “Early_access” no quotes

1 Like

Sorry, what’s wrong with “Product status update” trigger in Flow I mentioned earlier?
I am a fan of Mechanic, but Flow has improved a lot lately.

I create product and have to set it to active to schedule it

When it posts to online store the status doesn’t change

1 Like

Yes, looks like I was fixating on change Draft=> Active rather then publishing to the Online store (for example). My bad.

Flow does not have trigger “product updated” (while Mechanic does), probably to avoid looping when flow triggered by “product updated”, does something to this product and this way triggers another “product updated”…

As a “flow-only” workaround, you may consider publishing products with Flow, rather than scheduling it in product settings.
This way Flow will start on schedule, find products (based on another tag, or more complex), add an “early_access” tag, publish them, then wait for an hour, find products with “early_access” tag and remove it…

Glad that helps! :tada: I don’t want to overload this thread with too much code, but if you’d like, I can send you a cleaner version of the task (with checks and multiple-drop handling) directly. Do you want me to DM you?

WTF is this? AI BS?

For starters, here is the list of Mechanic events Event topics | Mechanic
and there is no shopify/products/published?
AFAIK, Mechanic uses Liquid, not Javsascript…

1 Like

Fair point thanks for clarifying :raising_hands: You’re right, Mechanic scripts are in Liquid and the event list doesn’t include products/published. The practical workaround is to hook into products/update and check published_at. From there, you can tag on publish and schedule a removal 60 mins later.

That’s why I Mechanic in the first place, it’s really the only app flexible enough for this type of timed drop logic. If helpful, I can share a simplified Liquid task example

does seem like some AI ness going on…

1 Like

This is a common use case and Shopify’s native tools struggle once timing is involved.

One approach is to use a rule-based tagging app that listens for product publish events and then removes tags automatically after a defined delay.

With AutoTag Pro, merchants typically:

  • Add a tag when a product is published

  • Automatically remove that tag after a set time window

  • Use the tag to control early-access collections or visibility

This avoids having to manage publish timing or manual cleanup every launch.

I also run a store on Shopify (knives category), so automation and timing workflows are really important for me as well. The issue you shared, removing the tag one hour after publishing, is difficult to manage directly in Shopify Flow, because Flow doesn’t track the publish time.

The Mechanic app solution looks logical because it can remove the tag after 60 minutes by checking the published_at field. Yes, this automation seems like a good fit for early access.

Another approach could be that instead of scheduling products, you publish them through Flow, so you get full control over the timing. Honestly, I found this topic really useful. If anyone can share their experience with a proper Liquid-based Mechanic script, it would be really helpful for many merchants.