All workflows
Google Sheets logoX (Twitter) logo

Post your queued content to X on schedule

Publishes the posts in your spreadsheet queue on the day each one is due, and writes the date and link back so none goes out twice.

Every day at 09:002 apps4 steps

Apps it connects

Authenticate each one once and the workflow is ready to run.

What it does

Each integration step this workflow runs, in order, what it is for, and the conditions and loops that decide when it runs.

  1. 1Google SheetsRead rowsReads your queue tab to find rows whose 'Posted On' cell is empty and whose publish date has arrived.
  2. 2X (Twitter)Get meLooks up your X username so the link written back to each row points at your own profile.
  3. For each row

    1. 3Google SheetsWrite rowMarks the row with today's date and 'in progress' before publishing, then swaps in the link to the live post, or 'Failed' and X's reason if X refused it.
    2. 4X (Twitter)Post tweetPublishes the text in the row's 'Post' cell to X, only once the row is marked and its date has arrived.

How it works

What happens on each run, in plain English.

Every day at 09:00, your content queue in Google Sheets is read, one post per row with the day it should go out. Working down the sheet, the rows that are due and not yet posted are published to X, and the date and a link to the live post are written back into the row.

Nothing goes out twice: a row with anything in 'Posted On' is skipped, and that marker is written before the post is published, so an interrupted run leaves the row marked rather than letting the next run send it again. Nothing is published before its date, and a run publishes at most five posts (you can change the number); any due posts beyond that wait for the next day, and the run says how many. If X refuses a post, its row is marked 'Failed' with the date and X's reason, and the run is marked failed. A post over the 280 characters X accepts (counting each link as 23, as X does), or a row with an unreadable date, is left queued and the run is marked failed, naming the row. 'Posted On' and 'Link' are the only cells ever written, so your own columns are never touched.

You need Google Sheets and X connections, and a queue tab with 'Posted On' and 'Link' as its first two columns, then a 'Post' column and a 'Publish Date' column. Fill in the spreadsheet's link and the tab's name.

twitterxgoogle sheetssocial mediacontentschedulingdaily

Start from a workflow that already works.

Add "Post your queued content to X on schedule" to your workspace, connect its apps, and make it yours.

Free plan, no credit card