Create Facebook ad sets and ads from Google Sheets rows
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 11 nodes and runs on Google Sheets events (row update). Along the way it connects Google Sheets and Facebook Graph API.
How it runs
Trigger: On Google Sheets events (row update).
- Check Row Marked For Generation (If): checks a condition and branches into true / false
- Configuration (Edit Fields (Set)): sets 21 fields: hooks, render_url, row_number…
- Create Facebook Ad Set (Facebook Graph API): uses Facebook Graph API
- Upload Ad Image to Facebook (Facebook Graph API): uses Facebook Graph API
- Combine Ad Creation Errors (Merge): merges the data from its input branches
- Create Facebook Ad Creative (Facebook Graph API): uses Facebook Graph API
- Update Sheet - Generation Error (Google Sheets): update
- Create Facebook Ad (Facebook Graph API): uses Facebook Graph API
- Update Sheet - Ad Generated (Google Sheets): update
Services it uses
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (7)
- Google Sheets Trigger
n8n-nodes-base.googleSheetsTrigger - If
n8n-nodes-base.if - Edit Fields (Set)
n8n-nodes-base.set - Facebook Graph API
n8n-nodes-base.facebookGraphApi - Google Sheets
n8n-nodes-base.googleSheets - Merge
n8n-nodes-base.merge - No Operation, do nothing
n8n-nodes-base.noOp
From the author
Quick overview This workflow watches a Google Sheets queue and, when a row is flagged, uses the Meta (Facebook) Graph API to create an ad set, upload an image from a URL, build an ad creative, and create a paused ad, then writes the result or errors back to…