Skip to content

Automation: Turn a Month of Approved LinkedIn Drafts into a Self-Running Weekly Queue

For Executive Coachs ·

Tools:Make, Google Sheets, a scheduling tool
Time to build:60-90 minutes
Difficulty:Advanced
Prerequisites:A Google account, comfort building a multi-step automation scenario in a visual builder, and an existing habit of batching LinkedIn post ideas once a month.
MakeGoogle Sheets

What This Builds

You already batch a month of LinkedIn post ideas in one sitting. The part that still slips is turning that batch into steady weekly output, because copying each approved draft into a scheduler by hand is a task that's easy to skip on a busy week. This automation reads your approved-drafts sheet every Monday and pushes that week's post into your scheduling tool's queue on its own, so publishing catches up to the batching you're already doing.

Prerequisites

  • A Google account with a spreadsheet where you already track (or are willing to track) your monthly batch of draft LinkedIn posts and their approval status.
  • A Make account. Make's free tier runs on a schedule no tighter than every fifteen minutes and caps the number of operations each scenario can use per month, and a weekly scenario with several steps (read a row, format it, push it to a scheduler) will use up that allowance faster than a single-step automation would. Check Make's own pricing page for current limits before committing to the free tier for this build.
  • An account with a LinkedIn scheduling tool that accepts posts via an API or a Make integration (Buffer, Hootsuite, or a similar tool). Check that tool's own pricing page, since it isn't part of this build's core cost.
  • Total ongoing cost for this build: whatever your Make plan and your scheduling tool's plan cost, both stated on their own pricing pages rather than here, since neither is on this site's price-tracked tool list.

The Concept

Think of this as a conveyor belt behind your content calendar. You still write and approve every post yourself, in the same sheet you already use. The automation's only job is to notice which approved post hasn't been queued yet and hand it to your scheduler once a week, the same way you'd do it by hand, just without you having to remember to do it.


Build It Step by Step

Part 1: Structure the tracking sheet

Use or adapt a Google Sheet with these columns:

ColumnContents
AWeek Of (the Monday this post is meant for)
BPost Text (the full draft)
CStatus ("Draft" or "Approved," set by you after review)
DQueued (blank until the automation marks it "Y")

Add a helper column E with this formula, which flags the next post ready to hand off:

Copy and paste this
=IF(AND(C2="Approved", D2<>"Y"), "QUEUE", "")

Test it with a few rows before building the scenario: mark one row "Approved" with column D blank and confirm it shows "QUEUE," then mark another row "Approved" with D already "Y" and confirm it stays blank.

Part 2: Build the Make scenario

  1. Create a new scenario with a Schedule trigger set to run every Monday morning.
  2. Add a Google Sheets: Search Rows module that looks for the first row where column E equals "QUEUE," using row order as the tiebreaker so posts go out in the order you approved them.
  3. Add a Text Parser or formatter module if your post text needs any cleanup (removing extra line breaks, adding a consistent hashtag block) before it reaches the scheduler.
  4. Add your scheduling tool's module (for example, Buffer's "Add to Queue" action) and map the formatted post text into it. Set the post to land as a draft or a pending item in the scheduler rather than auto-publishing, so you still see and approve the final version before it goes live on LinkedIn.
  5. Add a Google Sheets: Update a Row module that writes "Y" into column D for the row you just processed.
  6. Turn the scenario on, then run it manually once against a real test row before trusting it with a live weekly run.

Part 3: Test and refine

Add a test row with "Approved" status and blank in column D, run the scenario manually from Make's interface, and confirm the post appears in your scheduler's queue and column D updates to "Y." Run it again immediately after and confirm it doesn't push the same post twice.


Real Example: A Month of Leadership Themes

Setup: A tracking sheet with four approved draft posts, one per week, on delegation, giving hard feedback, managing up, and executive presence.

Input: Every Monday at 8 a.m., the scenario checks the sheet. On week three, the "managing up" post is marked "Approved" with column D still blank.

Output: That post lands in the scheduling tool's queue as a pending item by 8:05 a.m., ready for a final glance before it publishes, and column D updates so the following Monday's run picks up the next approved post instead of repeating this one.

Time saved: Converts a batch of ideas approved weeks earlier into steady weekly output without the coach needing to remember to log in and post it that week.


What to Do When It Breaks

  • The scenario stops running and nothing gets queued for weeks → This is the failure you won't notice unless you look for it, since a quiet week with nothing approved looks identical to a broken scenario from the outside. Turn on Make's scenario-error notifications in your account settings, and separately, check your scheduler's queue once every week or two to confirm something new actually landed there.
  • The same post gets queued twice → Check that the "mark as queued" step is actually completing. If the scenario errors out after handing the post to the scheduler but before updating column D, the row stays flagged as unqueued and fires again next Monday.
  • Posts arrive out of order → Confirm your Search Rows module sorts by row position or a date column, not by an unordered pull, since the "first unqueued approved row" logic depends on row order matching your intended posting order.
  • A draft with unfinished editing gets marked "Approved" by mistake → Add a second confirmation step before publishing (this is why the scheduler queue lands as a pending item rather than auto-publishing): a mistaken approval still gets caught before it reaches LinkedIn.

Variations

  • Simpler version: Skip the scheduler integration and have the scenario email you the next approved post every Monday instead, so you still copy and paste it yourself but never have to remember which one is next.
  • Extended version: Add a branch that also posts a copy to a second platform (a newsletter draft folder, for instance) from the same approved row, so one approval step feeds more than one channel.

What to Do Next

  • This week: Set up the tracking sheet and helper formula, and test the "QUEUE" logic with fake rows.
  • This month: Build the scenario and let it run alongside your existing monthly batch for a full cycle.
  • Advanced: Once this is stable, connect the same approved-post sheet to a Claude Project prompt that drafts the following month's batch from your recent session themes, so the whole pipeline from idea to queued post needs less manual assembly each month.

A Note on Confidentiality

The post text in this pipeline should already be safe for public LinkedIn before it ever reaches the sheet, since your monthly batching process describes themes in general terms rather than naming a client or engagement. The risk here isn't confidentiality so much as reputation: this automation queues content into a scheduler on its own, so the one safeguard worth being deliberate about is keeping the scheduler step set to a pending or draft state rather than auto-publish, so nothing reaches your LinkedIn audience without you looking at it first. If you ever draft a post that leans closer to a real, specific situation than a general theme, hold it out of this pipeline and post it manually after a slower read.