Google Sheets social media scheduler

Short answer. Write your posts in a Google Sheet, one row each: the date, the networks and the text. Paste the sheet's link into PostWire and every row marked Ready is scheduled to its network at its time. Rows you add later are picked up on the next read. No Zap, no workflow to build and keep running.

How it works as of 9 October 2026. Each limit below is the one the server enforces.

Set it up in four steps

  1. Start from the template. Download postwire-content-calendar.csv, then in Google Sheets: File → Import → Upload, and pick "Replace spreadsheet". Change the example dates to dates ahead.
  2. Write a row per post. The same columns as PostWire's bulk upload, so a row means the same thing in both. Leave status as Draft until a post is good to go.
  3. Share it by link. Share → General access → "Anyone with the link" (Viewer). Or File → Share → Publish to web → the tab → CSV.
  4. Paste the link in PostWire. Automate → Feeds & Sheets. You see the next five rows and where each lands before you turn it on.
Connect a sheet, freeDownload the template

The columns

datetimezonenetworkstextstatus
2026-11-02 09:00America/New_Yorklinkedin, blueskyOur November menu is here…Ready
2026-11-04 12:30America/New_Yorkinstagram, facebookBehind the scenes…Ready
2026-11-06 17:00America/New_Yorktelegram, discordSaturday cupping at 10…Draft
next_slotmastodon, blueskyTip of the week…Approved

Only date (or publish_at), networks and text are needed. Optional: timezone (otherwise the one you pick when you connect the sheet), media_url, a network's own text in text_linkedin, text_x and so on, first_comment, brand, label, and status. Write next_slot as the date to use your next free queue slot. Every row is checked against each network's own limits before it is scheduled, and a row with a problem says which.

What happens to each row

What each plan does

FreeStarter, $9/moPro, $29/mo
Sheets and feeds125100
Readevery 6 hourshourlyevery 30 minutes
Rows per read205001,000
Waiting in the queue3 at a time; the rest are heldup to 1,000up to 5,000
Posts a month20, 2 networks each1,000, every networkunlimited (fair use 10,000)

On Free, a sheet with 30 ready rows puts the first 3 in the queue and saves the other 27 as held: they keep their dates and go out once you upgrade, nothing is lost. PostWire says so before you turn the sheet on.

Not on a sheet? Your site or YouTube works too

The same box takes your blog, newsletter or YouTube channel. Paste the page you already have (yourblog.com, youtube.com/@you, a Substack, a WordPress site) and PostWire finds its feed. What is already published is not posted; each new article or video is, written for each network from your template.

Compared with doing it in n8n or Make

"Google Sheets to scheduled posts" is one of the most common workflows people build in n8n and Make: a schedule trigger, a "get rows" step, a filter, a loop and an HTTP call per row, plus a way to remember which rows already went out. Here that last part, the one that usually double-posts, is built in. If you already run n8n or Make, PostWire works there as well.

Questions people ask

Does PostWire need access to my Google account?
No. PostWire reads one sheet that you share by link (Anyone with the link, Viewer) or publish to the web as CSV. It never signs in to Google and cannot see your other files. Anyone who has that link can read the sheet too, so keep only your posts in it.
If I edit a row after it is scheduled, will it post twice?
No. Each row is known by its text and by its time. Changing either one of them is reported on the feed as an edit, and the post already in the queue is the one that goes out; edit it in the queue. Only a row whose text and time both change is a new post.
Which rows are scheduled?
Rows with a date ahead (or next_slot). When the sheet has a status column, only rows whose status is Approved or Ready, so drafts can live in the same sheet. Rows in the past are skipped, never posted late.
How often is the sheet read?
Free reads it every 6 hours, Starter hourly, Pro and above every 30 minutes. Rows you add or mark Ready are scheduled on the next read.

Google Sheets is a trademark of Google LLC; PostWire is not affiliated with Google. Related: bulk upload, recurring posts and feeds in the docs · n8n · Make