Automate Instagram Posting with Make.com: How does my real setup work?

Automate Instagram Posting with Make.com via Google Drive, Sheets & OpenAI to auto-source, rewrite captions, and publish photos or Reels without manual posting.

Spread the love
Bikers rights gif via giphy
"bikers rights" portlandia gif via giphy

TL;DR

It watches Google Drive and Google Sheets, routes content through OpenAI, and publishes automatically to Instagram and Facebook—without you touching anything.

You paste an Instagram URL, download the file, and drop it into your Drive folder. That one step feeds the whole system.

It takes the original caption plus your notes and prompt instructions, then generates a fresh caption so you aren’t copy-pasting.

A single scenario publishes to the correct format (static post vs. Reel) and can cross-post to Facebook too.

I built an auto-posting system for Instagram that genuinely runs itself, and I want to show you exactly how it works 👋💡. Not the clean, theoretical version. The actual version, with the duct tape showing. If you’ve been tinkering with Make.com and want to go beyond basic zaps, this is for you.

The system pulls content from Instagram accounts I follow, downloads it via RepostApp, rewrites captions with OpenAI, and posts everything back to Instagram and Facebook automatically. Google Sheets is the brain. Google Drive is the filing cabinet.
Make.com stitches it all together. And yeah, it took some trial and error. I literally said “I’m gonna run it once and see if it actually run appropriately” mid-build, just hoping things wouldn’t break. Some things did. 🤙

https://www.youtube.com/watch?v=

Learn how to automate your social media posting in minutes!

The Big Picture: What This System Actually Does

So here’s the setup in plain English. I have a Google Drive folder on my Mac called “Auto Post.” Because I downloaded the Google Drive desktop app, that folder syncs automatically; anything I drag into it on my computer shows up in the cloud instantly. That’s the trigger.

Thumbnail for video on auto-posting script creation
Learn how to automate your social media posting in minutes!

“What it does is the following. So if I add any image or file to this folder, which is a Google Drive synced folder…” and that’s how the whole chain starts. One file drop kicks off the entire Make.com scenario.

From there, Make.com picks up the new file, checks my Google Sheet for the matching row of data (media URL, original caption, instructions for OpenAI), generates a fresh caption, and posts it. Two branches handle the routing: one for photos going to a standard Instagram post, one for videos going out as Instagram Reels. Both also cross-post to Facebook.

“The point is I can drag and drop anything in here, it could be an image, it could be a video or anything, and as soon as I do that, it’ll just take a second, it’ll create a link.” That link is what ties the media file to the spreadsheet row. The whole thing takes maybe 30 seconds of manual work on my end. The rest is automated.

Info icon.

Did You Know?

Make.com scenarios can use routers with built-in filters to check file type (image vs. video) and direct posts down different paths inside a single scenario—no separate workflows needed.

Step 1: Sourcing Content with RepostApp

Before Make.com does anything, you need content. I use a tool called RepostApp (repostapp.com) for this. The workflow is dead simple.

I go to one of my favorite accounts, “skategroundmag” or “Skate or Die,” whatever’s got good stuff that day, and I find a post or Reel I want to share. I copy the post URL straight from Instagram, paste it into RepostApp’s website, and it automatically picks up and gets you captions.
The tool grabs the video or image and the original caption text, which saves a ton of time.

One thing worth mentioning: the pro account lets you remove the RepostApp watermark from downloaded content. If you’re running a brand account, you probably want that. The free version works fine for testing though.

After downloading the file, I drag it into my synced Google Drive folder. That’s it for the sourcing step. File’s in the cloud, ready for Make.com to detect.

Warning callout icon.

Heads up

Reposting other people’s content comes with responsibility. Always credit the original creator, check their repost policies, and make sure your use case is legitimate and fair.

Step 2: The Google Sheet, Your Content Command Center

My Google Sheet is titled “Skateboard Session Auto Post” and it’s got these columns:

ColumnWhat Goes Here
Media URLThe Google Drive link to the file you just dropped in
Human DescriptionA short note about what the content shows (for OpenAI context)
AI DescriptionLeft blank, OpenAI fills this in
Original CaptionPasted from RepostApp
InstructionsSpecific directions for how OpenAI should rewrite the caption
CaptionThe final, AI-generated caption that gets posted
Each row represents one piece of content ready for the automation pipeline.

So after I drop the file into Google Drive, I copy the shareable link and paste it into the Media URL column. Then I paste the original caption from RepostApp into the Original Caption column.
I’ll add a quick human description too, something like “guy doing a kickflip off a loading dock,” so OpenAI has context about the visual content.

The Instructions column is where you get to shape the output. I tell OpenAI things like “rewrite this caption for a skateboard community page, keep it hyped but not corny, include 5 relevant hashtags.” You can make this as specific or as loose as you want, and honestly specificity is the difference between a good output and a generic one.

Step 3: The Make.com Scenario (The Actual Automation)

This is where everything comes together. Or rather, “a sequence, scenario rather, from Make.com.” I love that I caught myself mid-sentence in the video because that’s honestly how building these things feels. You’re always correcting yourself, renaming things, and figuring out the right terminology as you go.

Here’s the flow of the scenario, module by module:

  • Google Sheets (Trigger) → The scenario watches for new rows added to the spreadsheet. When a new row appears with a Media URL, it kicks everything off.
  • Google Drive (Download) → Make.com grabs the actual file from the Google Drive link in your spreadsheet. This is the media that’ll get posted.
  • Text Parser → Cleans up any formatting issues from the caption or description fields, which helps avoid weird characters breaking the post.
  • OpenAI Module → Rewrites the caption using the original caption, your human description, and your instructions. Prompt wording matters a lot.
  • Router → Checks file type and sends it down one of two paths (photo vs. video) so publishing is format-aware.
  • HTTP Module → Handles some background API calls between services. You set it up once and forget about it.
  • Email Module → Sends me a notification whenever the new content has been posted, which gives me instant confirmation.

Posting Paths (Auto-Routed)

Photos Path

The file goes to the Instagram for Business module for static photo posts, then posts to Facebook Pages in parallel. Standard image upload with the AI-generated caption.

Videos Path

The file goes to the Instagram for Business module configured for Reels, then cross-posts to Facebook Pages as a video. Same caption, different format—this is how you auto-post Reels.

The entire scenario runs from a single trigger: one new row in Google Sheets.

Step 4: Running It and Dealing with the Inevitable Errors

I’m not going to pretend this worked flawlessly the first time. “But I’m gonna run it once and see if it actually run appropriately” was the real energy of building this thing. You run it, something breaks, you fix it, you run it again. That’s just how automations go.

The most common issues I hit were with the OpenAI module, specifically making sure the prompt was pulling the right fields from the spreadsheet. If your column mapping is off by one, the AI gets garbage input and gives you garbage output.
Always check what the “human description” field is actually passing through before you do a live run. I cannot stress this enough because it’s the kind of thing that’ll have you scratching your head for 20 minutes wondering why the caption sounds insane.

Video files are trickier than photos too. There’s file size considerations, encoding formats that Instagram accepts vs. what you downloaded, and sometimes you need a workaround.
I had to troubleshoot the video path more than the photo path, which tracks with what other Make.com community members have reported about media handling.

Success icon.

Pro move

Before running the full scenario, use Make.com’s “Run Once” and check each module’s output individually so you can trace the data step by step.

Why This Setup Beats Scheduling Tools

You might be wondering why not just use Later, Buffer, or Hootsuite. Fair question. Those tools are great for scheduling content you’ve already created, but they don’t solve the full pipeline problem.
They don’t source content for you, they don’t rewrite captions with AI, and they don’t auto-detect whether something’s a photo or video and route it accordingly.

This Make.com Instagram automation is a system, not a scheduler. The Google Sheets-to-Instagram pipeline means I can batch-prep 20 rows of content in a spreadsheet on Sunday night and have them trickle out all week without opening Instagram once.
My social media automation workflow handles the thinking that scheduling tools still expect you to do manually, and that difference is huge once you experience it.

Make.com scenarios can be triggered on a schedule (like every 6 hours), on demand, or instantly when a new row appears, so you can turn this into a drip-feed content machine or a rapid-fire posting tool depending on your needs.

The OpenAI Piece: More Than Just “Rewrite This”

I want to spend a second on the OpenAI Instagram captions part because it’s doing more heavy lifting than you’d think. The original caption from the content creator might be in a completely different voice than your brand. It might have emojis you’d never use, hashtags that don’t fit your niche, or just a tone that doesn’t match at all.

The Instructions column in your Google Sheet is where you control all of this. You’re writing a mini-prompt for each post. And since the OpenAI module in Make.com accepts dynamic input from your spreadsheet fields, every post can vary if you want.

For my skateboarding page, I keep it consistent: “Rewrite for a skateboard community. Casual tone. Credit the original creator. Add 5 hashtags related to street skating.” But you could get way more granular—different instructions for morning posts vs. evening posts, different vibes for Reels vs. static content, whatever you need. The flexibility here is pretty wild once you start playing with it.

Now here’s something I ran into that’s worth knowing about: OpenAI’s vision capabilities can analyze images, but as I found in building this, you can’t really do that with videos. For video content, you’re relying on your human description and original caption to give the AI enough context.
It’s a workaround, not perfect, but it works well enough that I haven’t bothered finding a better solution.

Do you ever feel overwhelmed by constant social media posting, struggle to keep content fresh, and wish there was an easier way? 💭
Do you ever feel overwhelmed by constant social media posting, struggle to keep content fresh, and wish there was an easier way? 💭

Frequently Asked Questions

The core architecture (Google Sheets as a database, Google Drive for storage, OpenAI for captions) transfers directly. You’d swap out the Instagram and Facebook modules for TikTok or YouTube modules, while the router logic stays the same. Make.com has pre-built integrations for most major platforms.

Make.com’s free tier includes 1,000 operations per month, which likely won’t cover regular posting. The Core plan starts at $10.59/month billed annually and covers most small accounts.
OpenAI API costs are separate, but caption generation is typically pennies per request. RepostApp’s pro pricing varies, so in practice you’re often around $15–25/month, depending on usage.

The scenario will error out at the Instagram module, and if you have the email notification set up (which you should), you’ll know immediately. Common reasons include unsupported video formats, files exceeding size limits, or aspect ratios outside Instagram’s accepted range. Fix the file and re-run that single row.

Yes. Add a date/time column in your sheet and configure the scenario to run on a schedule. Then filter for rows whose scheduled time matches the current window. It’s a small add-on (usually one filter step).

You can upload directly through the Google Drive web interface. The desktop app is just a convenience because dragging files into a synced folder feels faster, but functionally it doesn’t matter as long as the file ends up in the right Drive folder.

Final Thoughts

“That was it. That was my script.” And honestly, that’s the beauty of this whole thing. Once it’s built, it just runs. You prep your Google Sheet, drop files in a folder, and the Make.com scenario handles the OpenAI caption rewriting, the photo-vs-video routing, the cross-posting to Facebook, and even emails you a confirmation. It’s a complete social media automation workflow that replaced a significant chunk of my daily manual work.

If you’re already comfortable in Make.com and you’ve been wanting to automatically repost Instagram content without it feeling like a full-time job, this is the setup I’d recommend building first. Start with photos only, get that path working perfectly, then add the video/Reels branch.
Test with a burner account before connecting your main page. And don’t be afraid of errors during setup; they’re just the system telling you what to fix next. So if you enjoyed this, just let me know, and go build the thing.

Leave a Comment

Frequently asked questions (FAQ)

LiaisonLabs is your local partner for SEO & digital marketing services in Mount Vernon, Washington. Here are some answers to the most frequently asked questions about our SEO services.

SEO (Search Engine Optimization) is the process of improving your website's visibility in search engines like Google. When potential customers in Mount Vernon or Skagit County search for your products or services, SEO helps your business appear at the top of search results. This drives more qualified traffic to your website—people who are actively looking for what you offer. For local businesses, effective SEO means more phone calls, more foot traffic, and more revenue without paying for every click like traditional advertising.

A local SEO partner understands the unique market dynamics of Skagit Valley and the Pacific Northwest. We know the seasonal patterns that affect local businesses, from tulip festival tourism to agricultural cycles. Local expertise means we understand which keywords your neighbors are searching, which directories matter for your industry, and how to position your business against local competitors. Plus, we're available for in-person meetings and truly invested in the success of our Mount Vernon business community.

SEO is a long-term investment, and most businesses begin seeing meaningful results within 3 to 6 months. Some quick wins—like optimizing your Google Business Profile or fixing technical issues—can show improvements within weeks. However, building sustainable rankings that drive consistent traffic takes time. The good news? Unlike paid advertising that stops the moment you stop paying, SEO results compound over time. The work we do today continues delivering value for months and years to come.

SEO pricing varies based on your goals, competition, and current website health. Local SEO packages for small businesses typically range from $500 to $2,500 per month, while more comprehensive campaigns for competitive industries may require a larger investment. We offer customized proposals based on a thorough audit of your website and competitive landscape. During your free consultation, we'll discuss your budget and create a strategy that delivers measurable ROI—because effective SEO should pay for itself through increased revenue.

Both aim to improve search visibility, but the focus differs significantly. Local SEO targets customers in a specific geographic area—like Mount Vernon, Burlington, Anacortes, or greater Skagit County. It emphasizes Google Business Profile optimization, local citations, reviews, and location-based keywords. Traditional SEO focuses on broader, often national rankings and prioritizes content marketing, backlink building, and technical optimization. Most Mount Vernon businesses benefit from a local-first strategy, though many of our clients combine both approaches to capture customers at every stage of their search journey.

Absolutely! SEO and paid advertising work best as complementary strategies. Google Ads deliver immediate visibility and are great for testing keywords and driving quick traffic. SEO builds sustainable, long-term visibility that doesn't require ongoing ad spend. Together, they create a powerful combination—ads capture immediate demand while SEO builds your organic presence over time. Many of our Mount Vernon clients find that strong SEO actually improves their ad performance by increasing Quality Scores and reducing cost-per-click, ultimately lowering their total marketing costs while increasing results.