Daily
Publish a daily blog post to WordPress and share the link in Discord
Each day a post is written for the next keyword on your list, published on your WordPress site, and its link is posted in your Discord channel.
- Runs
- Daily
- Apps
- Discord, WordPress
- AI
- Yes, uses the built-in AI allowance
- Access
- WordPress Author+; bot Send Messages
Send this to your assistant
Create a ClickRuntime automation: every day, write an SEO blog post for the next keyword on my list, publish it to WordPress, and post the link in Discord.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A founder of a niche software tool knows that steady blog content brings in search traffic, and has a list of keywords customers search for. Writing even one post a week competes with support, sales and product work, so the list sits untouched for months while competitors keep publishing.
This automation takes the next keyword each day, writes a post with a title and meta description, publishes it to WordPress and shares the link in the team's Discord, so the blog grows steadily and the team can review each post as it goes out.
What you get out of it
The blog keeps growing
A post goes out every day without anyone finding time to write it. Your keyword list turns into pages that search engines can find. Consistency is what most small blogs lack.
Works through your own keyword list
Posts are written for the keywords you chose, in the order you set. Topics stay relevant to your product and customers. You stay in control of what the blog covers.
The team sees every post
The link in Discord lets anyone read the post as soon as it is live. Mistakes or tone problems are caught quickly. Edits can be made directly in WordPress.
Ready for search from the start
Each post comes with a title and meta description written for its keyword. You do not need a separate step to fill them in. Posts are set up properly from the first day.
Publish or review first, your choice
Posts can go live straight away or be saved as drafts for someone to check. Teams often start with drafts and switch to publishing once they trust the output. Either way the writing is done.
How it works
What happens, step by step
Every day, ClickRuntime takes the next keyword from your list that has not been used yet.
AI writes a blog post for that keyword, along with a title and meta description.
The post is published on your WordPress site, or saved as a draft if you prefer.
It remembers which keywords are done, so each one gets only one post.
A message with the post title and link is posted in your Discord channel.
Before it runs live
- Connect Discord
- Connect WordPress
What you get
Build your own
Need it to work differently?
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
- Run it at a different time, more or less often, or only on weekdays
- 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 Discord and WordPress steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, ai
SITE = "https://your-site.example"
KEYWORDS = ["invoice software for freelancers", "how to chase late invoices", "freelance tax checklist"]
DISCORD_CHANNEL_ID = "your-discord-channel-id"
STATUS = "publish"
SCHEMA = {"type": "object", "properties": {"title": {"type": "string"}, "meta": {"type": "string"}, "html": {"type": "string"}},
"required": ["title", "meta", "html"]}
@on_trigger
def run(event):
done = state.get("done") or []
todo = [k for k in KEYWORDS if k not in done]
discord = lambda text: http.post(f"https://discord.com/api/v10/channels/{DISCORD_CHANNEL_ID}/messages",
headers={"Authorization": f"Bot {credentials.secret('DISCORD_BOT_TOKEN')}"}, json={"content": text})
if not todo:
discord("The blog keyword list is empty. Add more keywords to keep posting.")
return {"posted": None}
post = ai.generate(f"Write a helpful 900-word blog post in HTML for the search keyword '{todo[0]}', with a title and a meta description under 155 characters.",
json_schema=SCHEMA, max_output_tokens=2048).json
r = http.post(f"{SITE}/wp-json/wp/v2/posts", auth=(credentials.secret("WP_USER"), credentials.secret("WP_APP_PASSWORD")),
json={"title": post["title"], "content": post["html"], "excerpt": post["meta"], "status": STATUS}).json()
state.set("done", done + [todo[0]])
discord(f"New post: {post['title']} {r['link']}")
return {"posted": r["id"]}FAQ
Common questions
Where does the keyword list live?
Can posts be saved as drafts instead of published?
What happens when the keyword list runs out?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Publish feed articles to WordPress and announce them in Discord
New articles from your feeds are rewritten in your voice, published on your WordPress site and announced in Discord.
See how it worksTurn documents in a folder into WordPress posts
Drop a document into your Drive folder and it becomes a WordPress post, announced in your Discord channel.
See how it worksGet a daily news digest in Slack
Each morning your team gets a short summary of what's new on the sites and blogs you follow.
See how it worksKeep exploring
Set up “Publish a daily blog post to WordPress and share the link in Discord” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.