Every month, around the 28th, I used to do the same dumb ritual. Open Gmail. Search for every client invoice and contract that came in. Download each attachment, one at a time. Then upload them all into a Google Drive folder so my bookkeeper could find them. Eleven clients, maybe fifteen files, forty minutes of my life I'll never get back.

The part that finally broke me: the invoice for March was called final_v2_REAL_final.pdf, and I almost filed the wrong version because I'd downloaded final_v2.pdf the week before and couldn't tell them apart in my Downloads folder. That was it. I blocked out a Saturday afternoon, opened n8n, and built a little robot that does the whole job for me. It took about 25 minutes, most of which was me waiting for Google to approve the connection.

Here's exactly what I built, click by click. If you've never heard of n8n, it's a visual automation tool — you connect blocks on a canvas instead of writing code. I wrote a plain-English explainer on what n8n is if you want the full picture first.

Watch: the 4-minute video version

What you'll need

  • An n8n Cloud account (the free trial is plenty for this — more on cost below).
  • The Gmail account where your attachments land.
  • A Google Drive folder ready to receive files. Mine is called Client Files.

Step 1: Create a new workflow

Log in to n8n Cloud and hit Create workflow in the top right. You'll get a blank canvas with one lonely "Start" area. Give it a name immediately — I called mine Gmail → Drive attachments — because three months from now you will not remember what "My workflow 4" does. Trust me on this.

Step 2: Add a Gmail Trigger and point it at emails with attachments

Click the plus button, search for Gmail Trigger, and drop it in. The first time you do this, n8n will ask you to connect your Google account — a window pops up, you click through Google's permission screens, done. It feels slightly alarming the first time. It's normal.

Now the important bit. In the trigger's settings there's a Search box. Type this in:

has:attachment

That's a Gmail search filter — the same one you can type into Gmail's own search bar — and it simply means "only emails that have a file attached." Without this line, the workflow fires on every email: newsletters, receipts, your aunt forwarding you a meme. With it, only the stuff that actually has a file gets through. You can get fancier later (for example has:attachment filename:pdf for PDFs only), but start simple.

Step 3: Connect a Google Drive "Upload file" node

Add a second node: search for Google Drive, and choose the Upload file operation. Connect your Google account again (same account is fine), then pick the folder where files should land — in my case, Client Files. The node automatically picks up the attachment from the Gmail trigger, so there's nothing clever to configure. This pleasantly surprised me. I expected at least one cryptic setting. There isn't one.

Step 4: Save and activate

Hit Save, then flip the Active toggle in the top right. This is the step everyone forgets — a saved workflow does nothing until it's active. Ask me how I know. (Twenty confused minutes, that's how.)

Step 5: Test it with a real email

From a second email address, send yourself a test email with an attachment. Anything works — I used a photo of my dog. Then wait about a minute.

Step 6: Check the Executions page

In n8n, open the Executions tab. You're looking for a green Success row. Green means the workflow caught the email and ran every step without complaining. If you see red instead, click the row — n8n shows you exactly which node failed, which is genuinely one of its best features.

Step 7: Look in your Drive folder

Open the Client Files folder in Google Drive. Your test file should be sitting there. Mine was. I may have said "oh, nice" out loud to an empty room.

That's the whole build. From now on, every email with an attachment gets filed automatically. My end-of-month ritual is down to zero minutes.

What this costs

This workflow is tiny — two nodes, running maybe 60 times a month for a typical freelancer. The n8n Cloud free trial handles it without breaking a sweat, and even the paid Starter plan (2,500 workflow runs a month) treats it as a rounding error. If you're allergic to subscriptions entirely, the self-hosted version of n8n is free. And yes, Make can do this exact same flow — if you're weighing the two on price, I ran the real numbers in my n8n vs Make vs Zapier comparison.

Build this yourself in about 25 minutes. Start the n8n Cloud trial, follow the steps above, and you'll never manually file an attachment again.

Try n8n →

Three gotchas nobody warns you about

  • The Google authorization dance. The first time you connect Gmail or Drive, Google shows you permission screens and possibly an "unverified app" style warning. It's standard for automation tools. Click through it once and you're done forever.
  • Big attachments take a beat. A 40 MB contract doesn't appear in Drive instantly — give it a few seconds per file. Don't panic-refresh and conclude it's broken. It's just uploading.
  • The trigger checks once a minute. By default, the Gmail Trigger polls for new mail every 60 seconds. So "automatic" really means "within about a minute." For filing invoices, that's fine. Nobody needs their contract filed in real time.

Our verdict

The best first n8n workflow you can build — small, useful, done in one sitting.

This is exactly the kind of automation I recommend starting with: one clear job, two nodes, an obvious payoff. There's no clever logic to debug, and the result is visible within minutes — a file shows up in a folder, and a chore disappears from your month.

If this is your first taste of n8n and you want to know what else it can do, read my beginner's guide to n8n. If you're still deciding between tools, the three-way comparison has the honest pricing math.

Get started with n8n →

Some links on this page are affiliate links. If you sign up through them, we may earn a commission at no extra cost to you. It never influences what we write — read our affiliate disclosure. Prices verified July 2026; always check the provider's own site before buying.