Marketing Automation Specialist · Make.com certified · 3+ yrs multi-client social
How to Auto-Post to Facebook, Instagram, and LinkedIn from Google Sheets with Make.com
Quick Answer: To auto-post from Google Sheets with Make.com, build a scheduled scenario that finds rows ready to publish, routes each one to the right platform, posts it, and marks the row as posted. The chain is: Google Sheets Search Rows (Status = Approved and publish time has passed) → Router → Facebook Pages Create a Post with Photos / Instagram for Business Create a photo post / LinkedIn Create a Company Image Post → Google Sheets Update a Row (Status = Posted). Make’s Free plan includes 1,000 credits a month with runs every 15 minutes, which is enough to test the whole flow.
If your content calendar already lives in a Google Sheet, you can have Make.com publish from it automatically, with no copy-pasting into three apps. I build Make.com workflows for client marketing at SuperDupr (and I’m Make Basics and Make Foundation certified). This is the pattern for scheduled social posting. (For results from this kind of work, see the Make.com automation case study.)
As of October 2026, Make bills usage in credits (“each module action… counts as one credit”) and the Free plan includes 1,000 credits a month with a 15-minute minimum interval (Make pricing). Module names below are from Make’s current app docs.
What you’ll build
A scenario that runs on a schedule, finds approved posts whose time has come, publishes each to the right platform, and marks it as posted.
| Step | Make module | Purpose |
|---|---|---|
| 1 | Schedule (scenario settings) | Run every 15 min (Free) or more often |
| 2 | Google Sheets → Search Rows | Find rows with Status = Approved and Publish time ≤ now |
| 3 | Router | Branch by platform |
| 4a | Facebook Pages → Create a Post with Photos | Publish to a Page |
| 4b | Instagram for Business → Create a photo post | Publish to Instagram |
| 4c | LinkedIn → Create a Company Image Post | Publish to a company page |
| 5 | Google Sheets → Update a Row | Set Status = Posted, log the time |
Step 1: Set up the Google Sheet
Create one row per post, with these columns:
| Column | Example |
|---|---|
| Client | Client A |
| Platform | |
| Publish at | 2026-10-14 09:00 |
| Caption | Fall hours start Monday… |
| Image URL | Public link to the image |
| Status | Draft / Approved / Posted |
| Posted at | (filled by Make) |
Only rows set to Approved will ever publish. That gives you a client-approval gate, the same rule I use to manage social media for multiple clients.
Step 2: Connect your accounts
In Make, create connections for Google Sheets, Facebook Pages, Instagram for Business, and LinkedIn. For Instagram, the account must be a professional account linked to a Facebook Page. For LinkedIn company posts, you need admin access to the company page.
Step 3: Find the posts that are due with Search Rows
Start the scenario with Google Sheets Search Rows, filtered to Status = “Approved.” Then add a filter after it so only rows whose Publish at time is now or earlier continue. Don’t use Watch New Rows here, because it fires as soon as a row is added, not when the post is due.
Step 4: Add a Router to branch by platform
Add a Router with one route per platform, and put a filter on each route (Platform equals “Facebook,” “Instagram,” or “LinkedIn”). Make’s docs describe a router as a way to “branch the scenario flow into several chains of modules.” Add a fallback route that emails you if a row has an unrecognized platform, so typos don’t fail silently.
Step 5: Add the posting module on each route
Map the sheet’s Caption and Image URL into each platform’s posting module:
- Facebook: Facebook Pages → Create a Post with Photos (or Create a Post for text-only).
- Instagram: Instagram for Business → Create a photo post. The image must be at a publicly accessible URL.
- LinkedIn: LinkedIn → Create a Company Image Post (or Create a Company Text Post).
Platforms have different limits and norms, so keep separate caption columns per platform if your copy differs. If you draft captions with AI, run them through a human-edited AI content workflow before setting them to Approved.
Step 6: Mark each row as posted
End every route with Google Sheets Update a Row: set Status to “Posted” and write the timestamp. This is what prevents double-posting: the next run’s search only finds “Approved” rows.
Step 7: Test, then schedule
Run the scenario once on a test row, confirm the post and the status update, then turn on scheduling. On the Free plan the shortest interval is 15 minutes; paid plans allow 1 minute. Add error handling (or a simple email alert on failure) so a disconnected account doesn’t go unnoticed.
How many credits does this use?
Roughly one credit per module action. A run that finds one Instagram post uses a few credits (search, post, and update). Runs that find nothing use very little. Check the scenario’s run history in Make to see exact usage. A small posting calendar for a few clients fits within the Free plan’s 1,000 credits a month while you test.
Where to go from here
Add a step that notifies the client or your team when a post goes live, or a weekly summary of everything posted. Both are covered in 5 marketing automation examples for small businesses.
Next step Hiring for social media or marketing ops? See my experience or download my resume.
Frequently asked questions
- Can Make.com post to Instagram automatically?
- Yes, through the Instagram for Business app, which includes modules like “Create a photo post,” “Create a reel post,” and “Create a carousel post.” The Instagram account must be a professional (business or creator) account connected to a Facebook Page, and images must be at a publicly accessible URL.
- Is Make.com free for auto-posting social media?
- You can start free. Make's Free plan includes 1,000 credits a month (each module action uses one credit) and a 15-minute minimum interval between runs. A small posting calendar fits comfortably; paid plans add credits and 1-minute scheduling for higher volume.
- How do I stop Make.com from posting the same row twice?
- Write back to the sheet. After each post, use Google Sheets “Update a Row” to set Status to “Posted” and save the post ID or timestamp. Then make your search only return rows where Status is “Approved,” so posted rows are never picked up again.
- Should I use Watch New Rows or Search Rows for scheduled posts?
- Use Search Rows on a schedule. “Watch New Rows” fires when a row is added, which is too early for posts planned days ahead. A scheduled scenario with Search Rows can check for rows whose publish time has passed and whose status is Approved.
- Can one Make scenario post to multiple platforms?
- Yes. Add a Router after the search step, with one route per platform and a filter on each route (for example, Platform = Instagram). Each route ends with that platform's posting module, then all routes update the sheet row. Make's Router docs describe branching one flow into several chains this way.
- Is Make.com better than a social media scheduler?
- For one brand with simple needs, a dedicated scheduler is easier. Make.com shines when posting is part of a bigger workflow: pulling approved copy from a shared calendar, posting across clients, logging results, and notifying the team, all from one sheet you already use.
More on Marketing Automation
9 Marketing Automation Examples for Small Businesses (Start with These 5)
Nine marketing automation examples for small businesses: the five to build first (lead capture, reminders, follow-ups, reviews, reporting) and four more.
How to Manage Social Media Accounts for Multiple Clients (Without Dropping Anything)
An operator-tested system for managing social media for multiple clients: one shared calendar, a three-status approval flow, batched posts, and voice guides.
AI Social Media Content Workflow: How to Make AI Content Sound Human
A five-step AI social media content workflow (brief, AI draft, human edit, design, approval) that cut production time by more than half without the AI sound.
How to Manage Multiple Client Projects and Deadlines (A Marketing Coordinator's System)
The system I use to deliver marketing work for several clients at once: one tracker, weekly status updates, buffered deadlines, time blocking, and SOPs.