Automated Instagram Reels Posting Using Google Drive, Cloudinary & Sheets - n8n Workflow

Schedule and publish Instagram Reels automatically using this robust n8n workflow. Integrate Google Sheets for scheduling, Google Drive for video files, and Cloudinary for hosting.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Social media managers needing reliable, scheduled posting.
Content creators publishing frequent video content.
Agencies managing multiple Instagram accounts.
Anyone looking for advanced social media automation solutions using n8n.

Overview

Managing consistent content delivery for platforms like Instagram can be time-consuming. This comprehensive n8n workflow provides a solution for automating the entire Instagram Reels publishing lifecycle. By leveraging Google Sheets as the scheduling hub and Google Drive as the content repository, the automation ensures that videos are processed, uploaded to a reliable host (Cloudinary), and posted to Instagram at the correct time.

This robust n8n workflow eliminates manual file transfers and ensures accurate scheduling, making it a perfect example of effective use of advanced n8n templates for complex social media operations. The design utilizes multiple API integrations and a carefully planned flow, including necessary waiting periods, to guarantee reliable delivery of your Instagram Reel content.

How it Works

This automation initiates with an n8n trigger set to run on a recurring schedule (e.g., every 15 minutes).


  1. Check Schedule: The process starts when the recurring n8n trigger activates the Google Sheets n8n node, which queries the master spreadsheet for any rows where the content Type is 'Reel' and the Status is 'Scheduled to post'.

  2. Retrieve Content: For each scheduled item, the Google Drive n8n node retrieves the metadata, including the video file ID and folder structure.

  3. Download & Host: An HTTP Request n8n node downloads the video content directly from Google Drive. Crucially, the subsequent HTTP Request n8n node uploads the binary video file to Cloudinary, ensuring that the media is hosted and accessible via a public URL suitable for the Instagram API.

  4. Prepare Data: A Set n8n node bundles all required variables: the video URL (from Cloudinary), the caption (from Google Sheets), and the confidential Instagram access token and user ID.

  5. Create Container: A third HTTP Request n8n node calls the Instagram API to create a media container, which registers the video for publishing.

  6. Delay & Publish: An essential Wait n8n node pauses the execution flow to allow Instagram's backend time to process and validate the new Reel media container. Following the delay, the final HTTP Request n8n node publishes the Reel using the creation_id.

  7. Update Status: The last Google Sheets n8n node updates the row status to 'Processed', preventing the n8n workflow from attempting to post the same Reel again on the next schedule check.

Installation Guide

To deploy this powerful n8n workflow, follow these setup steps:


  1. Import the n8n Templates: Copy the provided JSON and import it into your n8n instance.

  2. Configure Credentials: You will need to set up the following service credentials in n8n:

Google Drive/Sheets: Requires an OAuth2 API credential with access scope to read and write to your Google Sheets document and read access to Google Drive (for file retrieval).

  1. Update Placeholders: Navigate to the following nodes and replace the bracketed placeholders with your specific values:

Upload videos to Cloudinary (HTTP Request node): Update and uploadpreset>.
* Setup for Instagram (Set node): Update and userid>.

  1. Configure Google Drive Sharing: Ensure the Google Drive folders containing your video files are publicly shared (at least "Anyone with the link can view") to allow the HTTP Request n8n node to download the file directly.

  2. Activate: Once credentials and variables are set, activate the n8n workflow.

Node Details

This n8n workflow utilizes several key n8n node types to achieve its goal:

Schedule Trigger: The primary n8n trigger. It defines the interval at which the check for new scheduled content occurs.
Google Sheets (Get Execution for Instagram contents): Function: Reads the master sheet. Key Configuration: Filters for 'Reel' type and 'Scheduled to post' status, ensuring only relevant content is processed by the n8n workflow.
Google Drive (Get video list from a Google Drive folder): Function: Retrieves the file ID of the video required for download, using the folder information passed from the Google Sheets n8n node.
HTTP Request (Download Video): Function: Performs a secure direct download of the video file from Google Drive using the export=download parameter, fetching the file as binary data.
HTTP Request (Upload videos to Cloudinary): Function: Posts the binary video data using a multipart-form-data request to Cloudinary, obtaining a public URL for the Instagram API.
Set (Setup for Instagram): Function: Centralizes essential data (API tokens, user IDs, caption, and Cloudinary URL) needed for subsequent Instagram API calls.
Wait n8n node: Function: Inserts a necessary pause in the flow to adhere to Instagram's media processing requirements before attempting the final publish call.
HTTP Request (Publish Instagram Reels): Function: Executes the final Graph API call to publish the content using the generated creation_id.


  • Google Sheets (Update Execute to "Processed"): Function: Updates the scheduling sheet, setting the Status column to 'Processed' based on the unique ExecuteId from the input data.

Related n8n Workflows

Free

Nodes: 7 Nodes
Updated: December 26 2025
View all
Created by

Featured*