On a schedule
Publish queued Instagram posts on weekdays
One post from your queue goes out every weekday evening, and you get its link.
- Runs
- On a schedule
- Apps
- AI
- Not needed
- Access
- instagram_business_content_publish
Send this to your assistant
Create a ClickRuntime automation: every weekday at 6pm, publish the next image and caption from my queue to Instagram and email me the link.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A photographer wants one image or reel going out every day at 9 a.m., but she edits in bursts and often has a week of content ready on Sunday. Posting by hand at the right time each day means setting alarms, and the day she is on a shoot, the post is skipped or goes out at 3 p.m. when her audience is not looking. Inconsistent posting is one of the quickest ways to see reach decline.
At the times you choose, ClickRuntime takes the next item from your stored queue, creates the Instagram media container, publishes it, and emails you the permalink. The queue shortens as items go out, so you can keep loading it with new photos and captions whenever you have them.
It suits creators, small brands and agencies that batch their content and want publishing to follow a steady rhythm.
What you get out of it
A steady rhythm without daily effort
Regular posting keeps an account in front of its followers. With the queue loaded, content goes out on schedule even during travel, illness or a busy week, so your audience sees a dependable feed.
Posts land when your audience is online
You can pick the hours when your followers are most active and let every post go out then. That timing often matters more than the content itself, and doing it by hand means being at your phone at that moment.
Batch creation fits real creative habits
Most creators produce content in bursts. Loading a week or a month of posts in one sitting lets you work in a focused way and avoids breaking your concentration every day to publish.
A confirmation email for every post
Each publication is followed by an email containing the permalink. You can see at a glance that the day's post went live, and a missing email is an early sign that something went wrong with the queue.
The queue shows what is coming
Because upcoming items are stored in order, you always know what will be published next and when the queue will run dry. You can top it up before a gap appears in your calendar.
How it works
What happens, step by step
Every weekday at 6pm, ClickRuntime takes the next post from your queue of images and captions.
It uploads the image and caption to your Instagram account and publishes the post.
That post is removed from the queue, so nothing is published twice.
You get an email with the link to the new post and how many are left in the queue.
Before it runs live
- Connect Instagram
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
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Instagram steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, notify
IG = "https://graph.instagram.com/v21.0"
@on_trigger
def run(event):
queue = state.get("queue") or [] # items: {"image_url": ..., "caption": ...}
if not queue:
notify.email_me("Instagram queue is empty", "Add more posts to keep publishing.")
return {"published": False}
item, token = queue[0], credentials.connection("instagram", "work")
container = http.post(f"{IG}/me/media", data={**item, "access_token": token}).json()["id"]
media_id = http.post(f"{IG}/me/media_publish", data={"creation_id": container, "access_token": token}).json()["id"]
link = http.get(f"{IG}/{media_id}", params={"fields": "permalink", "access_token": token}).json()["permalink"]
state.set("queue", queue[1:])
notify.email_me("Posted to Instagram", f"{link}\n\n{item['caption'][:200]}\n\n{len(queue) - 1} left in the queue.")
return {"media_id": media_id}FAQ
Common questions
What happens when the queue is empty?
Can I queue Reels as well as photos?
How do I add things to the queue?
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
Get a weekly Instagram performance email
Every Monday you see last week's reach, follower change and best three posts.
See how it worksGet yesterday's Instagram numbers each morning
Each morning you see yesterday's reach, profile views and new followers.
See how it worksGet the top posts for your hashtags each week
Every Monday you see what's performing in your niche, with links.
See how it worksKeep exploring
Set up “Publish queued Instagram posts on weekdays” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.