Schedule Facebook posts from Google Sheets with approval and Drive images
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (9)
- Schedule Trigger
n8n-nodes-base.scheduleTrigger - Google Sheets
n8n-nodes-base.googleSheets - Code
n8n-nodes-base.code - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Switch
n8n-nodes-base.switch - If
n8n-nodes-base.if - Google Drive
n8n-nodes-base.googleDrive - HTTP Request
n8n-nodes-base.httpRequest - Merge
n8n-nodes-base.merge
What it does
Description Automate Facebook post scheduling from a Google Sheets content calendar. Runs 4 times daily, reads approved posts scheduled for today, downloads images from Google Drive, schedules via Facebook Graph API, and updates tracking sheet with published URLs—perfect for social media managers and agencies. --- What this workflow does This workflow eliminates manual Facebook posting by automating the entire scheduling process from a centralized Google Sheets content calendar. It runs four times daily (9:35 AM, 10:35 AM, 11:35 AM, 12:35 PM) to catch posts scheduled at different times throughout the morning. The workflow reads your Google Sheet, filters posts marked with Approval Status = "Good" and Platform = "Facebook", then checks which posts are scheduled for today. For each approved post, it intelligently determines if it's a text-only post or a photo post—if there's a Media URL, it downloads the image from Google Drive; otherwise, it schedules just the text. Both types are scheduled via Facebook Graph API with future publishing times (not posted immediately), and once successfully scheduled, the workflow updates your Google Sheet with the published post URL and changes the Approval Status to "Published". This creates a complete audit trail of all scheduled content while supporting team collaboration through the approval workflow. Perfect for social media managers handling multiple Facebook pages, marketing agencies scheduling client content with approval checkpoints, content creators batch-planning posts in Google Sheets, and teams needing collaborative content calendars with centralized image management. --- Key features Google Sheets content calendar: Manage all Facebook posts in a familiar spreadsheet with columns for Scheduled On, Platform, Post Type, Caption, Media URL, and Approval Status—no complex social media management tools needed. Built-in approval workflow: Only posts marked "Good" in the Approval Status column are published. Team members can review, approve, or reject posts directly in Google Sheets before they go live. Dual post type support: Handles both text-only posts (scheduled via /feed endpoint) and photo posts (scheduled via /photos endpoint with binary image data)—automatically detects which type based on Media URL presence. Google Drive image integration: Stores all images in Google Drive (centralized, shared storage), then automatically downloads them when scheduling photo posts—no manual file management needed. Runs 4 times daily: Schedule trigger fires at 9:35 AM, 10:35 AM, 11:35 AM, and 12:35 PM to catch posts scheduled at different morning times—handles busy posting schedules without missing slots. Facebook Graph API scheduling: Uses official Facebook Graph API v24.0 with scheduledpublishtime parameter (published: false) to schedule posts for future times—not immediate posting, actual scheduling. Post URL tracking: After successfully scheduling, updates Google Sheet with the published Facebook post URL—creates complete audit trail and enables easy post performance tracking. Multi-platform ready: Uses "Platform" column to filter Facebook posts only—same Google Sheet can manage Instagram, LinkedIn, Twitter content by adding more platform-specific workflows. Story post filtering: Automatically skips posts where Post Type = "Story" (Facebook Stories scheduling not supported by this workflow)—only processes Feed and Photo posts. --- How it works 1. Scheduled trigger fires 4 times daily A cron trigger runs at 9:35 AM, 10:35 AM, 11:35 AM, and 12:35 PM every day. This catches posts scheduled at different times throughout the morning without needing to run the workflow every minute. 2. Load Facebook credentials The workflow reads a separate ".env" sheet in your Google Sheets document containing: - Facebook Page ID: Your Facebook Page's unique ID - Facebook Page Access Token: Long-lived access token with pagesmanageposts and pagesreadengagement permissions These credentials are used for all Facebook G