What this agent does
Manually posting to Instagram every day is the single biggest reason content calendars fall apart — the caption is ready, the image is ready, and it still doesn't go out because nobody was at their desk at 9am. This agent closes that gap: it watches a folder (or a Notion/Sheets queue) of approved posts, and at the scheduled time it posts the image and caption to Instagram automatically, then logs the result.
stage-1-queue-check— reads your queue (a local folder of image + caption pairs, or a row in a tracked Sheet/Notion database marked "Ready"), and picks the next unposted item in order.stage-2-publish— publishes the image and caption via the Instagram Graph API (Business/Creator account required), then writes the resulting post URL and timestamp back to the queue so nothing gets posted twice.
Every run appends a row to a local posting log — what was posted, when, and the resulting permalink — so you always have an audit trail without opening Instagram.
Requirements
- An Instagram Business or Creator account connected to a Facebook Page (required by Meta for any automated posting — personal accounts cannot use the Graph API).
- A Meta developer app with
instagram_content_publishpermission and a long-lived access token. - Works on OpenClaw (scheduled via the Gateway's cron) and on Zo Computer (scheduled task). Claude AI alone cannot post directly — it needs one of these two runtimes to hold the scheduled trigger and the API token.
Setup
- Unzip the package into your workspace, keeping the folder structure intact.
- Create your Meta app, generate a long-lived Page access token, and store it in your local credentials configuration (never commit this — it's gitignored by default).
- Point the queue configuration at your queue: a local folder path, or a Notion/Sheets database ID.
- Run the starter prompt once to do a single manual post and confirm the token works end to end.
- Schedule it to run on your posting cadence (once or twice daily is typical — Instagram rate-limits aggressive posting frequencies).
What you get
- Approved posts published to Instagram automatically at your scheduled time, no manual button-pressing
- A queue that tracks what's already been posted, so nothing goes out twice
- The resulting post URL and timestamp written back automatically for reference
- A full posting log with timestamp, caption excerpt, and permalink for every post — an audit trail without opening Instagram
- Setup that works on OpenClaw or Zo Computer, holding the scheduled trigger and API token for you