Brief & Hire
Writing the brief

Automating Instagram and social posting: what to put in the brief

The short answer

Most social posting briefs describe the happy path: “take the posts from my sheet and publish them at 9, 12 and 6.” Any competent freelancer can build that in days. What decides whether you are still happy in month two is everything the happy path leaves out: what happens when a post fails, when a post is reported as failed but actually went out, when the queue runs dry, and when the login behind it stops working.

So write the brief in three parts. First, what can actually be automated on the platforms you use, so nobody quotes for features the API does not offer. Second, the rules of the queue: where posts come from, who approves them, how many go out per day. Third, failure behaviour and acceptance, which is where most of the value is. A copyable version is further down.

I run an unattended publishing pipeline that posts several times a day from a queue, with a watchdog and a make-up step around it. Most of this guide comes from what broke in it.

What the official API allows, and what it does not

Before you describe the result, check that it can be built the official way. A freelancer who automates through unofficial means (a script that clicks through the app as if it were a person) can promise more, and it can stop working, or put the account at risk, whenever the platform changes. Ask which method they will use.

For Instagram, the official content publishing documentation, checked when this guide was written, says:

  • Professional accounts only. Business or creator, not personal.
  • Media must sit at a public web address at the moment of publishing, because Instagram fetches it from there. Your images and videos have to be uploaded somewhere first. My pipeline uploads them to a code-hosting service for that reason, which is one more login to look after.
  • A prepared post expires after 24 hours if it is not published.
  • A cap on how many posts the API will publish in a moving 24-hour window. The documentation states the figure (100 at the time of checking, with a carousel counting as one post); check the current number before you size the schedule.
  • Not supported: shopping tags, filters, and story features such as stickers.

Two more limits I ran into myself:

  • Pinning a comment is not in the official API. My pipeline can post a first comment but cannot pin it. When the full detail sat in the caption, the long caption plus hashtags pushed that first comment far down, to the point that I could not find a comment I had added myself. So I went the other way: the detail moved out of the caption into the first comment, and the caption was cut down to a short hook, a call to action and hashtags.
  • Boosted posts behave differently. When a post is promoted, the ad version carries its own comments, and my comment-reply bot did not see them through the normal post listing. Four comments on one boosted post went unanswered for three days until I registered the ad version separately. If replies to comments are part of your brief, say whether you run ads.

Videos also need processing time on the platform side before they can be published. In my runs that was usually around 20 seconds; publishing before it finished simply failed. A builder who prepares each post ahead of time and publishes later avoids this, and the 24-hour expiry above is the limit on how far ahead.

Five ways unattended posting fails quietly

None of these crashed. Each one looked fine from the outside.

1. A “failed” post that went out. The API returned errors for five posts on two days, and all five had actually been published. My retry step kept trying posts that were already live, my record of published posts was not updated, and the phone alert I received said “failed”. The rule now: on an error, look at the account first, and only call it a failure if the post is not there. Ask your freelancer how their build tells a real failure from a false one, because re-publishing creates duplicates.

2. Half a post. Each of my items is meant to go out as a carousel and a reel. After I added new item layouts, seven items were queued as carousel only, because the step that decides whether to make a reel had not been updated for the new layouts. The log said the reel was “omitted”, which reads like a decision, not an error, so nothing raised an alarm. It was caught and fixed while they were still in the queue. Ask whether any “skipped” or “omitted” message in the build could hide a real gap.

3. An empty queue. Every slot ran on time and published nothing, because the nightly job that fills the queue had stopped producing usable items after a format change. The full story is in my publishing job ran on time and published nothing.

4. An expired login. Five slots over two days published nothing while every run reported success, because the upload token had stopped being accepted. That one is in my scheduled posts stopped for two days.

5. The machine was asleep. Scheduled times that fall while a laptop or home computer sleeps can be skipped. If the job runs on your own machine rather than a server or cloud platform, ask where it will run and what happens to a missed slot.

The brief, part by part

The fields below follow the workflow automation brief, filled in for social posting.

Goal. One measurable sentence: “Three posts a day on Instagram from my content sheet, at 09, 12 and 18 local time, with no manual step except approval.”

Platforms and formats. Which accounts, and which formats: single image, carousel, reel, story. Name the manual steps you accept (stickers, shopping tags).

Source of posts. Where a post lives before it is published: a spreadsheet row, a folder, a content calendar. What one complete post consists of (media, caption, hashtags, first comment, time).

Approval. Who says “this can go out”, and how. A post that has not been approved should never be published, however empty the queue.

Volume. How many per day. Match it to what you can actually produce. I reduced my daily slots once because production could not keep up with them, and later raised them again; a schedule that outruns the queue just produces empty slots.

Duplicate guard. The same post must never go out twice, even if a run is repeated by hand or an error was misread.

Failure behaviour. What happens when media is missing, a login fails, the platform returns an error, or the queue is empty. Who gets alerted, and how fast. A warning when the queue holds less than one day of posts.

Accounts. Social accounts, the media host and the automation platform on your accounts, with access for the freelancer you can remove. See who should own the accounts.

Hand-over, acceptance, maintenance. A run-book, the tests below, and agreed terms for fixes. Platforms change their APIs; the maintenance guide covers what to agree.

A brief you can copy

Goal: [N] posts a day on [platforms], at [times, time zone], from [sheet/folder]. Formats: [image / carousel / reel / story]. Manual steps I accept: [list]. One post = media + caption + hashtags + optional first comment + scheduled time. Approval: only posts marked approved are published. Duplicates: a post is never published twice, including after a re-run or an error. Failures: on any error, check whether the post actually appeared before retrying. Alert me on expired logins, failed posts and a queue with less than one day left. Accounts: everything on my accounts; your access removable by me. Hand-over: workflow export or code, a one-page run-book, and a list of every login and when it expires. Acceptance: see the four tests below.

Four tests before you pay

These are the social-posting versions of the general acceptance checklist for unattended automations.

Who to hire

Most workflow automation sellers can build this on Make, n8n or Zapier; the tool matters less than whether they answer the failure questions above without being pushed. Among the sellers on the workflow automation page, Ayoub Etoullali specializes in multi-channel content posting on a schedule with Make, n8n and AI steps. Send the copied brief as your first message and see which questions come back. A seller who asks about approval, duplicates and expired logins has built this before.

Wrap-up

Posting at a set time is the easy part. The brief earns its keep in the unhappy paths: false failures, half posts, an empty queue, an expired login, a sleeping machine. Write those into the first message, test them before the final payment, and the automation will tell you when something is wrong instead of leaving you to notice the silence.

Questions people ask

Can Instagram posting be fully automated?

Feed posts, carousels and reels on a professional account can be published through Instagram's official API. Some features cannot: Instagram's developer documentation lists shopping tags, filters and story stickers as unsupported. Put those in the brief as manual steps rather than discovering them after delivery.

Do I need a business account to automate Instagram posts?

Yes. Instagram's content publishing API works with professional accounts only. Switch the account before the build starts, and connect it with your own login rather than the freelancer's.

What is the most common way social posting automation breaks?

Quietly. A login token stops working, the queue of posts runs empty, or an error is reported for a post that actually went out. Ask for an alert on each of these, and a check that the post really appeared, not just that the job ran.

Sources