# Upload video & image ads to Meta Ads Manager: n8n workflow

> Started by another system calling it, and works across Google Drive and Google Sheets. 34 steps, 4 branches, 3 loops or waits: large, and worth reading...

Source: https://millionrounds.com/workflow/upload-video-and-image-ads-to-meta-ads-manager (Millionrounds; every figure on the page links to its filing or article)

[Automation library](https://millionrounds.com/workflows) · [Content](https://millionrounds.com/workflows?category=Content#library)

# Upload video & image ads to Meta Ads Manager

Started by another system calling it, and works across Google Drive and Google Sheets. 34 steps, 4 branches, 3 loops or waits: large, and worth reading before you trust it with anything live.

Large

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fupload-video-and-image-ads-to-meta-ads-manager)

**34 steps** Large: read it before trusting it with anything live

**4** Branches: places the flow splits

**3** Loops or waits

**2** Services it connects to

## The flow

Starts it 3 Logic 11 Service 20

The steps in the order they run, from what starts it.

- 1 **When clicking ‘Test workflow’** Manual trigger *Starts it*
- 2 **Google Drive Folder Updated** Google Drive trigger *Starts it*
- 3 **Webhook** Webhook *Starts it*
- 4 **settings_1** Set *Logic*
- 5 **settings** Set *Logic*
- 6 **Get Ads to Process** Google Sheets *Service*
- 7 **Fetch All Files** Google Drive *Service*
- 8 **Loop Over Items** Split In Batches *Logic*
- 9 **Get Files Metadata** Http Request *Service*
- 10 **Video or Image Asset** Switch *Logic*
- 11 **Extract File Specs** Set *Logic*
- 12 **Upload Ad Video** Facebook Graph Api *Service*
- 13 **Get image 1** Http Request *Service*
- 14 **Create Asset** Google Sheets *Service*
- 15 **Switch** Switch *Logic*
- 16 **Upload Ad Image** Facebook Graph Api *Service*
- 17 **Wait** Wait *Logic*
- 18 **Get Video** Http Request *Service*
- 19 **Check if two or one image** If *Logic*
- 20 **Check if finished processing** Facebook Graph Api *Service*
- 21 **Code** Code *Logic*
- 22 **Get image** Http Request *Service*
- 23 **Create Image Creative** Facebook Graph Api *Service*
- 24 **If1** If *Logic*
- 25 **Upload Ad Video1** Facebook Graph Api *Service*
- 26 **Upload Second Ad Image** Facebook Graph Api *Service*
- 27 **Create Image Ad** Facebook Graph Api *Service*
- 28 **Get Video Preview Image** Facebook Graph Api *Service*
- 29 **Wait1** Wait *Logic*
- 30 **Create Multiple Image Creative** Facebook Graph Api *Service*
- 31 **Save Image Ad Details** Google Sheets *Service*
- 32 **Create Video Ad Creative** Facebook Graph Api *Service*
- 33 **Create Video Ad** Facebook Graph Api *Service*
- 34 **Save Video Ad Details** Google Sheets *Service*

## How it's built

- **Starts on:** Another system calling it
- **Steps:** 34, with 4 branches, 3 loops or waits
- **Size:** Large: read it before trusting it with anything live
- **Connects to:** Google Drive, Google Sheets
- **Model:** None. This is plumbing, not judgement

## Questions

What does it need to run?

An n8n account, plus your own Google Drive and Google Sheets accounts. You connect your own accounts after importing it; none are included.

What starts it?

It starts on another system calling it.

Does it use AI?

No. Every step is fixed logic or a call to a service, so it does the same thing every time.

How long does it take to set up?

Take your time. At 34 steps it is large: read it before trusting it with anything live.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

**Before you run it**

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 34 steps before you point it at anything that matters.

## Run it in n8n

- **Create your n8n account** Free to start. n8n is where the workflow runs. [Create an n8n account ↗](https://millionrounds.com/n8n)
- **Download the workflow** Free with a Millionrounds account. [Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fupload-video-and-image-ads-to-meta-ads-manager)
- **Paste it into n8n** Open a new workflow in n8n and paste. Then connect your own accounts.

Stored with the author's traces removed: canvas notes, instance identifiers, saved credential names and any live document they had left behind.

## Connects to

Each opens the other workflows that use it.

[Google Drive](https://millionrounds.com/workflows?service=Google+Drive#library)[Google Sheets](https://millionrounds.com/workflows?service=Google+Sheets#library)

## Workflows like it

Also content, with the same services where possible, closest in size first.

- [**Create & publish inspirational videos with Google Drive** 34 steps · Google Drive, Google Sheets](https://millionrounds.com/workflow/create-and-publish-inspirational-videos-with-google-drive)
- [**Create YouTube short videos with Elevenlabs and Hailuo AI** 34 steps · Google Cloud Storage, Google Sheets](https://millionrounds.com/workflow/create-youtube-short-videos-with-elevenlabs-and-hailuo-ai)
- [**Automate news publishing to LinkedIn with Gemini and RSS** 34 steps · calls a model · Google Sheets, LinkedIn](https://millionrounds.com/workflow/automate-news-publishing-to-linkedin-with-gemini-and-rss)
- [**Automated SEO blog publishing with WordPress and OpenAI** 34 steps · calls a model · Google Sheets, WordPress](https://millionrounds.com/workflow/automated-seo-blog-publishing-with-wordpress-and-openai)
- [**Generate and publish SEO blog posts from Google Sheets to Webflow** 34 steps · calls a model · Discord, Google Sheets](https://millionrounds.com/workflow/generate-and-publish-seo-blog-posts-from-google-sheets-to-we)
- [**Generate cinematic videos from text prompts with OpenAI** 34 steps · calls a model · Google Sheets, YouTube](https://millionrounds.com/workflow/generate-cinematic-videos-from-text-prompts-with-openai)
