Skip to content

Every 15–60 minutes

Tag and categorise new posts automatically

Posts that go up without tags get sensible ones and a category picked from those you already use.

Runs
Every 15–60 minutes
Apps
WordPress
AI
Yes, uses the built-in AI allowance
Access
read+write (Editor to manage terms)

Send this to your assistant

Create a ClickRuntime automation: every 30 minutes, find WordPress posts with no tags, choose up to five tags and one category from the ones my site already has, and update the post.

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

On a WordPress blog with several authors, tags and categories drift. One writer files a post under Marketing, another creates a fresh tag called marketing-tips, and a third forgets to categorise anything, so the Uncategorized archive keeps growing. Readers hit thin archive pages, related-post widgets show odd matches, and SEO value splits across near-duplicate tags.

Every 15 to 60 minutes, new posts that have not been processed yet are listed. The existing tags and categories on your site are loaded as well, and ClickRuntime's built-in AI picks the best category and tags for each post from what already exists, proposing a new tag only when nothing fits. Missing tags are created, and the post is updated.

This is a good fit for editorial teams that publish often and for owners who inherited a taxonomy with hundreds of unused tags and want it to stop growing.

What you get out of it

  • Archive pages stay coherent

    Posts land in a defined category instead of Uncategorized, so category archives, menus and breadcrumbs show real groups of related articles rather than an inconsistent pile. Cleaner archives also give visitors a way to browse by subject instead of leaving after one article.

  • Fewer duplicate tags

    Because the AI chooses from the tags already on the site first, you avoid ending up with seo, SEO and seo-tips all pointing at slightly different lists of posts. One consistent label for each subject keeps all related posts together on a single archive page.

  • Authors skip the housekeeping

    Writers publish and move on. The tagging step that always gets rushed on a Friday afternoon is handled within the hour, consistently, for every post. Nobody on the team has to learn the taxonomy rules or police them in review.

  • Better related-post suggestions

    Plugins that recommend related articles usually rely on shared tags and categories. Cleaner labels give readers more relevant next reads and keep them on the site longer. A tighter set of tags also makes site search and filter widgets behave more predictably.

  • Only unprocessed posts are touched

    A stored marker of what was already handled means older, carefully hand-tagged posts are not overwritten each time the schedule runs. Because each post is processed once, a quiet hour costs nothing and a busy one is simply caught on the next pass.

How it works

What happens, step by step

  1. Every 15 to 60 minutes, ClickRuntime looks for recent WordPress posts it hasn't processed yet.

  2. It loads the tags and categories you already use.

  3. AI reads each post and picks a few fitting tags and one category, reusing your existing ones where they fit.

  4. Any new tags are created, and the post is updated with its tags and category.

Before it runs live

  • Connect WordPress

What you get

RunsEvery 15–60 minutes
Tag and categorise new posts automaticallytoday, 9:00Succeeded
WordPress · Post #642Tags: invoicing, cash flow, freelancing · Category: Guides

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 WordPress 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.
ai_auto_tag_and_categorise_posts.pyexample
from clickruntime import on_trigger, credentials, http, state, ai, report_fetched

SITE = "https://blog.example.com"
SCHEMA = {"type": "object", "required": ["tags", "category"], "properties": {
    "tags": {"type": "array", "items": {"type": "string"}, "maxItems": 5}, "category": {"type": "string"}}}

def wp(method, path, **kw):
    resp = http.request(method, f"{SITE}/wp-json/wp/v2/{path}", **kw,
                        auth=("admin", credentials.secret("WP_APP_PASSWORD")))
    resp.raise_for_status()
    return resp.json()

@on_trigger
def run(event):
    done = set(state.get("done") or [])
    posts = [p for p in wp("GET", "posts", params={"per_page": 20, "context": "edit", "status": "any"})
             if not p["tags"] and p["id"] not in done]
    report_fetched(len(posts))
    if not posts:
        return {"summary": "Nothing new"}
    tags = {t["name"]: t["id"] for t in wp("GET", "tags", params={"per_page": 100})}
    cats = {c["name"]: c["id"] for c in wp("GET", "categories", params={"per_page": 100})}
    for p in posts:
        pick = ai.generate(f"Title: {p['title']['raw']}\n\n{p['content']['raw'][:2500]}\n\nTags: {', '.join(tags)}\n"
                           f"Categories: {', '.join(cats)}", json_schema=SCHEMA, max_output_tokens=100,
                           system="Choose up to five tags and one category from the lists given.").json
        tag_ids = [tags[t] for t in pick["tags"] if t in tags]
        wp("POST", f"posts/{p['id']}", json={"tags": tag_ids, "categories": [cats.get(pick["category"], p["categories"][0])]})
        done.add(p["id"])
    state.set("done", sorted(done))
    return {"tagged": len(posts)}

FAQ

Common questions

Will it overwrite tags I set by hand?
It works on posts it has not processed yet, tracked in saved state, so it does not return to older posts. For a new post where you already added tags before the next run, tell your AI assistant to skip posts that already have any tag.
What if the right category does not exist yet?
The AI is given your real category list and picks the closest match. New tags can be created automatically, but categories are chosen from existing ones, so a missing category is something you add in WordPress or have the automation extended to create.
How soon after publishing does a post get tagged?
It depends on the polling interval you set, between every 15 and 60 minutes. A post published at 10:05 will normally be tagged by the next pass, and the update appears on the post just as a manual edit would.
What permissions does it need?
read+write (Editor to manage terms). 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 “Tag and categorise new posts automatically” from your assistant

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