Data Sync & ETL
Schedule and validate social posts from Google Sheets with Preflight
On a schedule, it moves and syncs data using Google Sheets, Preflight.
What it does
## Schedule posts from a Google Sheets calendar, checked before they go out For teams that plan social posts in a spreadsheet and want to hear about a too-long caption or a wrong-shaped video when the row is marked ready, not when it fails at night. ### How it works 1. Every 15 minutes it reads rows whose Status is Ready. 2. A Media URL is uploaded to Preflight first, which measures the file. 3. Preflight checks text, link and media against the rules of every channel in the row. 4. Rows that pass are scheduled for Publish At, or queued when it is empty, and get Scheduled and the post ID. 5. Rows that fail get Needs fix and the reason, e.g. "Text is 385 characters; Bluesky allows 300." ### Setup 1. Needs the verified community node Preflight (n8n-nodes-preflight 0.1.1 or later): search for Preflight in the nodes panel and choose Install. Tested on n8n Cloud 2.45. 2. In Preflight (the free plan works), connect your social accounts, then create an API key under Settings → API keys with the scopes posts:read, posts:write, posts:publish, media:read and media:write. Add it as a Preflight API credential in the four Preflight nodes. 3. Make a sheet with a tab named Posts and this header row: Text | Channels | Publish At | Media URL | Link | Status | Preflight Post ID | Issues 4. In Configuration, paste the sheet's URL. Add a Google Sheets credential to the four Sheets nodes. ### Customization - Channels: bluesky, linkedin, or platform:channelId for two accounts on one network. Empty uses defaultChannels. - Publish At (2026-11-02 09:30) uses the workflow's time zone, set under Workflow settings.
The steps
- Every 15 minutes
- Configuration
- Rows marked Ready
- Has a file?
- Upload file to Preflight
- File uploaded?
- Post to check
- Check against network rules
- Passes every network?
- Has a time?
- Schedule in Preflight
- Queue in Preflight
- Made the post?
- Mark Scheduled
16 steps in total.
Similar automations
Data Sync & ETLExport WordPress Posts to a Google Drive CSV5 stepsData Sync & ETLAnalyze Tweet Sentiment into MongoDB, Postgres and Slack9 stepsLead Generation & EnrichmentFind Sales Leads in Reddit Posts with OpenAI16 stepsSocial Media PublishingSchedule Video Posts to Social Media with Postiz10 steps