Guide · Make.com · Facebook Lead Ads · Instagram

Make.com for Facebook Lead Ads and Instagram: a practical guide

Short answer: Make's Facebook Lead Ads app has an instant New Lead trigger, so leads from your lead forms can go straight to Google Sheets and a follow-up email. For Instagram, the Instagram for Business (Facebook login) app can publish posts from a sheet. It needs an Instagram business account linked to a Facebook Page, plus images at a public, direct URL. Both depend on Meta permissions that expire or change, so expect to reconnect now and then.

By Flowpaja · Published

A Facebook Lead Ads New Lead trigger adding one Google Sheets row for a new lead ID, and an Instagram photo post published from a content sheet
Give Make Leads Access to the Page first; it's the most common reason leads never arrive.
Disclosure: everything in this guide works with plain Make.com and the apps it connects. At the end we mention our own Make templates and our Make scenario fix service on Fiverr. Module names, settings and limits were checked against Make's Facebook Lead Ads docs and Make's Instagram for Business docs in October 2026. Menus and limits change, so check them if something looks different.

Some links on this page are affiliate links. If you sign up through them, Flowpaja may earn a commission at no extra cost to you.

What you need

  • A Make account. The free plan (1,000 credits a month, 2 active scenarios) covers both examples at low volumes. Sign up here if needed: Make (affiliate link)
  • For Lead Ads:
    • a Facebook Page where you're an Admin, Moderator or Editor (Advertiser and Analyst roles get an OAuthException 200 error),
    • a lead form (Instant Form) on that Page,
    • a Meta Business Manager account, with Make given access to the Page's leads under Leads Access (Step 1).
  • For Instagram:
    • an Instagram business account. Make's docs say Creator accounts aren't supported by this app,
    • linked to a Facebook Page where your Facebook account has admin-level access,
    • and images or videos hosted at a public URL.
  • Google Sheets, and Gmail (or another email app) for the follow-up.

What Meta does NOT allow (read this first)

Meta's rules decide what's possible, not Make:

  • No cold DMs. You can't send Instagram or Messenger direct messages to people who haven't messaged you first. Replies to people who did message you go through Meta's official messaging APIs, generally within 24 hours of their last message.
  • No scraping or mass following, liking or commenting. Automations that act like a person browsing Instagram break Meta's terms and can get accounts restricted.
  • Personal Instagram accounts can't publish through the API. Switch to a business account first.
  • Publishing limits. Meta caps API-published posts per account in a rolling 24-hour period. Its docs currently say 100 (some older pages still say 50), and a carousel counts as one post. A normal content queue never gets close.
  • Lead data is personal data. Use it only for what the lead form's privacy notice says, and only email leads in the way they agreed to.

If a tool promises "automated Instagram DMs to anyone", it's either breaking these rules or using an unofficial method that can get your account banned.

Part 1: Facebook Lead Ads → Google Sheets + email follow-up

Step 1: Connect Facebook Lead Ads

  1. Create a scenario, click +, and choose Facebook Lead Ads → New Lead. It's an instant trigger, so click Create a webhook, then Create a connection.
  2. Sign in with the Facebook account that manages the Page. On Meta's permission screen, select the Page and allow the requested permissions. Unticking a Page is the most common reason it's missing from the dropdown later.
  3. In Meta Business Manager, go to Settings → Integrations → Leads Access, open CRMs, click Assign CRMs, tick Make and click Assign.
  4. Back in Make, choose the Page and the form.

(Watch Leads is the polling version. It runs on a schedule and uses a credit on every check, so use New Lead unless instant delivery doesn't work for you.)

Step 2: Send a test lead

Don't wait for real ads to run. Use Meta's Lead Ads Testing Tool (in Meta for Developers tools):

  1. Pick your Page and form.
  2. Create a test lead.
  3. Watch the scenario run in Make.

A form has to have been submitted at least once before it loads in the Make module, so a test lead also fixes an empty form list.

If nothing arrives:

  • check in the testing tool that the Make app is subscribed to your Page,
  • check that Make (for partners) or you (for people) still has Leads Access to the Page,
  • in Facebook Settings → Business Integrations, open the Make app and make sure the Page is ticked,
  • as a last resort, remove the Make app in Business Integrations, delete the connection in Make, and connect again.

Step 3: Map the answers

Run one test lead and look at the trigger's output. Standard questions usually come through with names like full_name, email and phone_number, and your custom questions use the names you gave them.

If the answers arrive as a list of fields (each with a name and a list of values) instead of separate items, pick each answer by name:

{{first(map(1.field_data; "values"; "name"; "email"))}}

values is itself a list, so if the result still shows as a list, wrap it in another first().

Step 4: Add the row and send the follow-up

Sheet "Leads" (row 1 headers): Received | Lead ID | Form | Name | Email | Phone | Answer 1 | Follow-up sent

Scenario:

  1. Facebook Lead Ads → New Lead
  2. Google Sheets → Search Rows on the Lead ID column (duplicate check, see below)
  3. Filter: Total number of bundles equals 0 AND email exists
  4. Google Sheets → Add a Row: received time, lead ID, form name, the mapped answers, and Follow-up sent = the current time
  5. Gmail → Send an email to the lead. Keep it short and clearly related to the form: "Thanks for your request about X. Here's what happens next…". Include your contact details and an easy way to say "no thanks".

Should the email go out automatically? For "here's the guide you requested" or "we'll call you within one working day", yes. For anything sales-heavy, use Gmail → Create a draft email instead, and send it after a quick look.

Why the duplicate check: Meta can occasionally deliver the same lead again, for example after a reconnection. Search Rows outputs one empty bundle with Total number of bundles = 0 when the lead ID isn't in the sheet, and the scenario keeps running. The filter lets new leads through and stops repeats. See Search Rows returns nothing.

Credits per lead

VersionModulesCredits per lead
Basic (no duplicate check)New Lead + Add a Row + Send an email3
With duplicate checkNew Lead + Search Rows + Add a Row + Send an email4
Duplicate lead (stopped)New Lead + Search Rows2

No credits are used while no leads arrive, because the trigger is instant. See Make credits explained.

Part 2: Instagram posting from a sheet

How it works

You keep a content sheet. On a schedule, Make finds the next row that's due and publishes it with Instagram for Business (Facebook login) → Create a photo post (there are also Create a carousel post and Create a reel post).

Sheet "Instagram queue" (row 1 headers): Publish at | Image URL | Caption | Status | Post ID

After connecting, pick the Page linked to your Instagram account in the module. If no Pages show up, the Page and the Instagram business account usually aren't linked properly in Meta Business Suite.

The image URL problem

The Instagram API downloads the image from a public URL. This is where most setups fail:

  • Google Drive doesn't work, even with public sharing. Make's docs say the Instagram API can't download files from Drive.
  • Use a host that gives a direct file URL (one that opens the raw image), such as your own website's media folder or a storage service with public file links.
  • Use JPEG for photos. Meta's API supports only JPEG for images.

Test the URL in a private browser window. It should show only the image, not a page around it.

The scenario

  1. Schedule: e.g. every day at 09:00, or every few hours.
  2. Google Sheets → Search Rows: Status equals Ready, sorted by Publish at ascending, limit 1.
  3. Filter: Total number of bundles greater than 0 AND Publish at (as a date) is less than or equal to now. Store Publish at as a real date in the sheet so the date operator works. Nothing ready or nothing due means nothing else runs.
  4. Instagram for Business → Create a photo post: the Page, the image URL and the caption.
  5. Google Sheets → Update a Row: Status = Published, Post ID = the returned ID.

If the Page requires Page Publishing Authorization (PPA) in Meta, posts fail until that's completed.

Credits per run:

  • Nothing due: 1 (Search Rows).
  • One post published: 1 + 1 + 1 = 3.
  • Daily schedule: about 30–90 credits a month, depending on how often something is due.

Tokens and reconnecting

Meta connections rely on access tokens that can expire or become invalid when you change your password, remove the Make app in Business Integrations, or lose your Page role. Meta's long-lived user tokens last about 60 days.

When the scenario fails with an authorisation error, open Connections in Make and reauthorize the Facebook or Instagram connection. The scenarios keep using it, so you don't need to rebuild anything.

Common errors

ErrorCauseFix
New Lead never triggersMake lacks Leads Access, Page not ticked, or app not subscribedAssign Make under Leads Access; tick the Page in Business Integrations; check the testing tool; reconnect
Form missing in the moduleForm never submittedSend one test lead
OAuthException 200Your Page role is Advertiser or AnalystGet Admin, Moderator or Editor access
400 GraphMethodException (100) "Unsupported get request"Leads Access is customised and doesn't include you or MakeBusiness Settings → Integrations → Leads Access: add the right person, CRM or partner
Lead fields emptyAnswers mapped by the wrong field nameCheck the names in the trigger output; use map() by name
Duplicate lead rowsLead delivered againSearch the lead ID first; filter Total number of bundles = 0
Instagram media or image URL errorNot a direct, public JPEG, or a Drive linkUse a direct file URL; test it in a private window
No Pages in the Instagram moduleCreator or personal account, or Page not linkedSwitch to a business account; link it to the Page in Meta Business Suite
Publishing limit reachedToo many API posts in 24 hoursSpread posts out
OAuth / token expiredToken lifetime ended, or a password or role changedReauthorize the connection under Connections
Scenario switched offAn instant trigger errored, or the Errors before deactivation limit was reachedFix the cause in History; switch it back on

More error types: Make error cheat sheet.

Related guides: WhatsApp automation with Make · All Make integration guides

FAQ

Can Make send Instagram DMs automatically?
Not to people who haven't messaged you. Meta only allows replies through its messaging APIs, within its rules and time windows. Cold or bulk DMs aren't allowed.
Why are my Facebook leads not reaching Make?
Usually Make doesn't have Leads Access to the Page, the Page isn't ticked in the Make app's Business Integrations settings, or your Page role is too limited. Fix those, then send a test lead with Meta's Lead Ads Testing Tool.
What kind of Instagram account do I need to post from Make?
An Instagram business account linked to a Facebook Page where you have admin-level access. Make's Instagram for Business app doesn't support Creator or personal accounts.
Why does Instagram reject my Google Drive image link?
The Instagram API can't download files from Google Drive, even when they're shared publicly. Host the image somewhere that gives a direct, public URL to the JPEG file.
How many credits does a Facebook lead use?
About 3 credits for the trigger, sheet row and email, or 4 with a duplicate check. The instant trigger doesn't use credits while no leads arrive.

Leads or posts not coming through?

Send the exported blueprint and the failed run's error text to our Make scenario fix service on Fiverr. No logins needed.

Stuck on an error in your own Make scenario? Make scenario fix / debugging on Fiverr, from $25: send the exported blueprint and a description of the error, no logins needed.

← All guides · All templates

Make, Meta, Facebook, Instagram, Google, Google Sheets and Gmail are trademarks of their owners. Flowpaja is independent and not affiliated with or endorsed by them. Menus, prices and features change; check the providers' current pages.