If you want AI to process only the attachments from a Gmail email (not the full email body), the most reliable pattern is to forward selected emails to a Make mailhook address, extract each attachment, and pass just the file data into your AI step. Then, once the flow is stable, you can switch the scenario to confidential mode so the scenario history does not show message contents.
Photo by Conny Schneider on Unsplash
What you will build
A Gmail filter (or a manual “forward-to” workflow) that sends only the emails you choose to a Make mailhook
A Make scenario that:
receives the forwarded email
iterates through attachments
sends each attachment to AI for classification and naming
saves the file to your storage system (often Google Drive)
optionally applies a “processed” label back in Gmail
Why mailhook forwarding beats polling (most of the time)
Make can watch Gmail or Google Drive on a schedule (polling), but that can get expensive at high volumes because every check costs operations.
Mailhook forwarding is different:
You forward an email to a special address provided by Make
Make receives it immediately and starts the scenario
You only process emails you explicitly forward (or that match a strict Gmail filter)
Step 1: Create a Make mailhook for inbound emails
In Make:
Create a new scenario.
Add the Mailhook trigger (in Make, look for a mailhook trigger module).
Copy the generated mailhook email address.
You will use that mailhook address as the destination for Gmail forwarding.
Step 2: Add the mailhook address as a Gmail forwarding address
In Gmail:
Go to Settings → See all settings → Forwarding and POP/IMAP.
Add the Make mailhook address as a forwarding address.
Confirm it.
If you are doing this for a team, you may need to repeat this setup per inbox.
Step 3: Create a Gmail filter that only forwards emails with attachments
You usually want forwarding to be selective.
In Gmail:
Go to Settings → Filters and blocked addresses → Create a new filter.
Use criteria that match your real workflow.
Practical filters to consider:
Forward only emails that have attachments.
Forward only emails that match a specific sender domain.
Forward only emails that match a label you apply.
Then in the filter actions:
Check Forward it to (your Make mailhook address)
Optionally Apply the label (example: AI Queue)
Optionally Skip the Inbox and Archive it
Label trigger not available? Use a forwarding-contact workaround
Some teams want “apply label → trigger automation”. If label-based triggers are not available in your setup, a simple workaround is:
Save the Make mailhook email as a contact (example name: “AI Inbox”)
Instead of applying a label, you forward the email to that contact
Optionally, have Gmail auto-label any email you forward to that address
This keeps the user experience simple: Forward → done.
Step 4: In Make, iterate through attachments (handle multiple files)
Forwarded emails often contain multiple attachments.
In your Make scenario:
Start with the mailhook trigger.
Add a step to iterate through the attachments array.
For each attachment:
capture the original filename
capture the file content (binary)
If you skip the iterator, you may only process the first attachment.
Step 5: Use AI to classify and name the attachment (without storing email body)
A practical “AI naming” approach is:
Convert the attachment to text (OCR if needed)
Ask the model:
what type of document it is
what a human-friendly filename should be
what folder or category it belongs to
Example: real estate document workflow
A common example is real estate transaction operations:
contracts
addenda
disclosures
inspection reports
invoices and receipts
The goal is not “perfect extraction” on day one.
Start by getting reliable:
document type classification
consistent naming
predictable folder routing
Step 6: Save the renamed file to storage (and keep the original if needed)
Most teams save to Google Drive.
A safe default is to:
save a renamed copy to the destination folder
optionally keep the original filename in metadata (or in a “raw” folder)
Step 7: (Optional) Apply a processed label back in Gmail
If you want a clear “done” signal in Gmail:
store the Gmail message ID from the inbound event
use a Gmail module to apply a label like AI Processed
This makes it easy to audit what has been handled.
Privacy and “confidential mode” in Make
During initial testing, you may want scenario history enabled so you can troubleshoot.
Once you are confident the flow is stable:
enable Make’s confidential mode for the scenario
reduce what is visible in scenario history
This helps minimize the risk of sensitive information showing up in logs.
Polling vs instant trigger: the cost and reliability tradeoff
You generally have three ways to kick off the workflow:
Mailhook forwarding (event-driven)
Gmail polling (scheduled “check for new email”)
Google Drive polling (scheduled “watch folder”)
Mailhooks are usually best when:
you want near-instant processing
you want control over which emails are processed
you want to avoid constant polling costs
Polling can still make sense when:
you cannot forward emails (policy or technical constraint)
you already centralize files into a specific folder
Quick troubleshooting checklist
If only one attachment is processed:
confirm you are iterating through the attachments array
If labels do not show up from forwarded emails:
fetch message metadata using the message ID after the mailhook step
If scenario costs are growing fast:
reduce polling frequency, or switch to mailhooks
narrow the Gmail filter so fewer emails are forwarded
Skip the trial-and-error
Setting up Gmail attachment forwarding to Make with proper filters, iterator steps, and confidential mode takes most teams a few evenings to get right — longer if you need OCR or custom AI classification logic. If you'd rather skip the trial-and-error, book a ZoomFlow session. One of our consultants will build it with you in real time on a single call — and you'll own the working workflow when we're done.
Learn how to build a Make automation that processes Zoom transcripts with AI to extract action items, decisions, and content ideas directly into Notion.
Learn how to build a Make scenario that reads Zoho CRM email replies, uses AI to classify intent, and auto-responds to warm leads — without manual triage.
Learn how to build a Zapier email automation sequence for membership onboarding, with timing delays, conditional filters, and status-based triggers for each stage.