Auto-Post Instagram Carousels using Google Sheets, Drive, Cloudinary & Graph API
Auto-Post Instagram Carousels from Google Sheets + Drive (Cloudinary + IG Graph)
This workflow checks your Google Sheet for “Carousel” posts to do, pulls images from a Drive folder, uploads them to Cloudinary, creates an Instagram carousel, publishes it, and marks the row as “Processed”.
Benefits Hands-off posting from a simple Google Sheet queue Pulls all images from a Drive folder for each carousel Uses Cloudinary for fast, reliable hosting Posts via Instagram Graph API (official) Updates your Sheet status to “Processed” after publish
How It Works Schedule Trigger runs every few minutes. Get Execution for Carousel reads rows where Status = ToDo and Type = Carousel. Get image list loads all files from the Drive folder in that row. Download Image fetches each file from Drive. Upload to Cloudinary stores the image and returns a public URL. Setup for Instagram prepares access_token, ig_user_id, image_url, caption. Create Media Container (Image) creates an IG container for each image. Combine containers collects all container IDs. Create Media Container (Carousel) builds one carousel with the children IDs + caption. Publish Instagram Carousel publishes the carousel post. Update Execute sets Status = Processed for that ExecuteId in Sheets.
Who Is This For Social media managers batching carousels Agencies posting client content on a schedule Creators who organize posts in Google Sheets
Setup Google Sheets: set Spreadsheet and “Execute” tab (with ExecuteId, Folder, Expected content, Status, Type) Google Drive: put carousel images in the folder referenced by the row Cloudinary: set cloud name + upload_preset Instagram Graph: get ig_user_id and a valid access_token In n8n: paste tokens/IDs into the Set nodes and HTTP nodes as shown
Tips Keep image order in Drive as you want it to appear (or sort before upload) Caption comes from the Sheet field Expected content Make sure the IG account is a Business/Creator account connected to a Facebook Page Use high-res images; Cloudinary will optimize delivery Add error alerts (Slack/Email) if a step fails
ROI Save 2–4 hours/week on manual uploads Fewer posting mistakes (everything logged in Sheets) Scales easily to multiple brands and calendars
Strategy Insights Add a “Schedule_at” column and delay publishing until that time Write back the IG post ID to Sheets for tracking Extend to cross-post (e.g., Facebook Page) with the same media containers
Check Out My Channel
For more practical automation workflows for content teams, check out my YouTube channel where I share the exact systems I use to run social posting at scale.
Related Templates
Instagram Full Profile Scraper with Apify and Google Sheets
📸 Instagram Full Profile Scraper with Apify and Google Sheets This n8n workflow automates the process of scraping ful...
Technology News Workflow Explanation with Key Services
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Auto-Publish Techn...
Auto-classify Gmail emails with AI and apply labels for inbox organization
Who is this for? Professionals and individuals who receive high volumes of emails, those who want to automatically organ...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments