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.

0
Downloads
1
Views
8.08
Quality Score
beginner
Complexity
Created:9/28/2025
Updated:11/17/2025

🔒 Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments