Skip to content

Every hour

Turn new Shopify products into blog drafts

Each time you add a product to Shopify, a blog draft about it is waiting in your store and an email tells you it is ready.

Runs
Every hour
Apps
Gmail, Shopify
AI
Yes, uses the built-in AI allowance
Access
read_products, write_content; gmail.send

Send this to your assistant

Create a ClickRuntime automation: every hour, check for new Shopify products; for each one, draft a blog post about it on my store blog and email me the link to review.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A jewellery maker adds a few new pieces every month. Each launch deserves a blog post to tell the story behind the design, but by the time the photos are done and the product is live, the energy for writing is gone and the post never happens.

Having a draft appear as soon as a product is added means the story is half told before the maker sits down to write. They add personal details, publish, and every launch gets the attention it deserves.

What you get out of it

  • Every launch gets a post

    A draft is created for each new product without anyone deciding to write one. New products are introduced properly instead of just appearing in the catalogue.

  • Timed with the launch

    The draft arrives within the hour of adding the product, while the launch is fresh. Publishing it alongside the product gives both a stronger start.

  • You review before anything is public

    The post is saved hidden on your blog. An email with the link lets you check, edit and publish when you are ready.

  • More pages for search engines

    Each post is another page that can bring visitors to your store. Over time, a blog that covers every product draws steady search traffic.

How it works

What happens, step by step

  1. Every hour, ClickRuntime checks your Shopify store for products added since the last check.

  2. It remembers the newest product it has seen, so each product is handled once.

  3. For each new product, AI writes a blog post from its title and description.

  4. The post is saved as a hidden draft on your store's blog.

  5. You get an email with the title and a link to review it.

Before it runs live

  • Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
  • Connect Shopify

What you get

RunsEvery hour
Turn new Shopify products into blog draftstoday, 9:00Succeeded
Email · Blog draft readyBlog draft ready: The story behind the Tidepool pendant. A draft is in Online Store > Blog posts.

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Slack
  • Combine it with other Gmail and Shopify steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
turn_new_products_into_blog_drafts.pyexample
from clickruntime import on_trigger, credentials, http, notify, state, ai, report_fetched

STORE = "your-store.myshopify.com"

def gql(query, variables=None):
    resp = http.post(f"https://{STORE}/admin/api/2025-07/graphql.json", json={"query": query, "variables": variables or {}},
                     headers={"X-Shopify-Access-Token": credentials.connection("shopify", "store")})
    return resp.raise_for_status() or resp.json()["data"]

BLOG_ID = "gid://shopify/Blog/123456789"
SCHEMA = {"type": "object", "properties": {"title": {"type": "string"}, "html": {"type": "string"}}}

@on_trigger
def run(event):
    since = state.get("since") or "2026-01-01T00:00:00Z"
    products = gql(f'{{ products(first: 20, sortKey: CREATED_AT, query: "status:active created_at:>{since}") {{ nodes {{ title description createdAt }} }} }}')["products"]["nodes"]
    report_fetched(len(products))
    if not products:
        return {"drafts": 0}
    for p in products:
        post = ai.generate(f"Product: {p['title']}\n{p['description'][:2000]}", json_schema=SCHEMA, max_output_tokens=1500,
                           system="Write a warm 500-word blog post introducing this new product. Return a title and an HTML body.").json
        gql("mutation($a: ArticleCreateInput!) { articleCreate(article: $a) { article { id } } }",
            {"a": {"blogId": BLOG_ID, "title": post["title"], "body": post["html"], "isPublished": False, "author": {"name": "Store team"}}})
        notify.email_me(f"Blog draft ready: {post['title']}", f"A draft about {p['title']} is in Online Store > Blog posts.")
    state.set("since", products[-1]["createdAt"])
    return {"drafts": len(products)}

FAQ

Common questions

Does it write about products I add as drafts?
It only picks up products set to active, so works in progress are ignored until you publish them.
Can it include the product image?
Yes. The post can include the product's main image with a link to the product page, so readers can buy straight from the article.
What if I add many products at once?
Each one gets its own draft. If you import a whole catalogue, you can limit it to a few posts per hour so you are not flooded.
What permissions does it need?
read_products, write_content; gmail.send. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Turn new Shopify products into blog drafts” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.