Every few hours / daily
Post a fresh tweet every few hours
Your account posts new tweets in your style on your topics, without repeating itself.
- Runs
- Every few hours / daily
- Apps
- X
- AI
- Yes, uses the built-in AI allowance
- Access
- tweet.write tweet.read users.read
Send this to your assistant
Create a ClickRuntime automation: every 4 hours between 8am and 8pm, write a tweet in my style about indie game development or pixel art, avoid repeating my recent tweets, and post it to X.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Posting consistently on X is a chore that suffers first when work gets busy. A consultant or small shop knows regular posts bring followers and enquiries, but between client work and invoices the account goes silent for weeks, then bursts with five posts in a day, which confuses the audience and the algorithm alike.
On the schedule you set, whether every few hours or once a day, a topic is chosen, or a mix of content and promotion posts, and ClickRuntime's built-in AI writes a tweet under 280 characters. It checks your recent posts, stored between runs, to avoid repeating itself, and publishes the post to your account.
People who run niche accounts, product accounts and regular tip series are the usual users. You set the cadence and tone once, and the account keeps its voice between your own posts.
What you get out of it
The account never goes quiet
A steady rhythm of posts keeps your handle visible in followers' feeds, even during a week of client deadlines or a holiday. Consistent posting also makes the account look alive to anyone who visits your profile.
Content and promotion are balanced
Setting a ratio, for example four useful posts to one offer, avoids the account turning into an ad stream, which is the quickest way to lose followers. Followers stay because they find value, and a clear mix of content keeps promotion from wearing them out.
Fewer repeated posts
Comparing against recent posts means the same idea is not tweeted twice in a week, which saves you from the look of an automated account running on a loop. A feed that repeats itself quickly looks automated, which costs followers and credibility.
Fits the 280-character limit
Posts are written to fit the limit from the start, so you do not end up with truncated or awkwardly cut text when publishing. Short posts also read well on mobile and leave room for others to quote them.
Time goes to conversations
With broadcast posts handled, the minutes you spend on X can go to replying to people and joining discussions, which is where followers are actually won. That is where relationships form, and relationships bring in customers more reliably than broadcasts.
How it works
What happens, step by step
Every few hours (or once a day, as you choose), the automation picks a topic from your mix of everyday and promotional ideas.
AI writes a tweet under 280 characters, checking your recent posts so it doesn't repeat itself.
The tweet is posted on your X account.
Before it runs live
- Connect X
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 X steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timezone
from clickruntime import on_trigger, state, http, credentials, ai
@on_trigger
def run(event):
if not 8 <= datetime.now(timezone.utc).hour < 20:
return {"posted": False, "reason": "outside posting hours"}
recent = state.get("recent") or []
text = ai.generate(
"Write one tweet under 260 characters about indie game development or pixel art, "
"casual first person, at most one hashtag. Don't repeat these:\n" + "\n".join(recent),
max_output_tokens=120,
).text.strip()[:280]
token = credentials.connection("x", "main")
resp = http.post("https://api.x.com/2/tweets", headers={"Authorization": f"Bearer {token}"}, json={"text": text})
resp.raise_for_status()
state.set("recent", (recent + [text])[-20:])
return {"tweet_id": resp.json()["data"]["id"]}FAQ
Common questions
Can I review posts before they go live?
How does it choose what to post about?
Does X allow automated posting?
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
Find questions on X and reply helpfully
Real questions about your topic get found and answered, a few at a time.
See how it worksGet a weekly report on what people say on X
Every Monday you see the main themes from the past week on your topic and five post ideas.
See how it worksTweet new articles from a news feed
New items from the feeds you follow are tweeted with a short line and link, each only once.
See how it worksKeep exploring
Set up “Post a fresh tweet every few hours” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.