Weekly
Get a weekly list of attachments you received
Each week you get every attachment you received, grouped by sender, so you can find files fast.
- Runs
- Weekly
- Apps
- Gmail
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every Monday, email me a list of the attachments I received last week with the file name, sender and a link to the email.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
An office manager at a small architecture firm gets drawings, signed contracts and supplier quotes as PDFs all week. In March the client asks for the revised quote that arrived "sometime in December". Gmail search by sender returns forty threads, and the right file might be in any of them. Meanwhile the mailbox keeps filling toward its storage limit with 20 MB photo bundles nobody has looked at since.
Once a week, a Gmail search for messages with attachments from the last seven days runs, and each message's parts are read for filenames and sizes. The files are grouped by sender and emailed to you as one list, with the date received next to each name. No AI is involved; it is a plain, predictable index.
It is handy for bookkeepers collecting invoices and for anyone who must prove what was received and when.
What you get out of it
Locating a file by sender in seconds
Instead of opening forty threads, you scan one grouped list and spot the filename. For a recurring client who sends many files, this turns a ten-minute hunt into a quick search of a single weekly email.
Proof of what arrived and when
If a supplier claims they sent the signed contract on the 3rd, the inventory email shows whether a file with that name came in that week. That settles disputes without digging through folders.
Oversized files are easy to spot
Sizes are listed beside each filename, so a 40 MB video from one sender stands out. You can delete or move it before the mailbox hits its storage cap and starts bouncing new mail.
Invoice collection without chasing
A bookkeeper can scan the list on Monday and see which vendors sent a PDF and which did not. Missing invoices get chased the same week instead of at month end.
No manual spreadsheet upkeep
Teams that currently paste attachment names into a sheet stop doing it. The list builds itself on schedule, so the record is complete even in a week when nobody remembered to log anything.
How it works
What happens, step by step
Once a week ClickRuntime finds every email with an attachment you received in the last seven days.
It notes each file's name, who sent it and a link to the email.
The list is emailed to you, with the total number of attachments in the subject.
Before it runs live
- Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Gmail steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, notify
def parts(payload):
for p in payload.get("parts", []):
yield p
yield from parts(p)
@on_trigger
def run(event):
gmail = build("gmail", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
msgs = gmail.users().messages().list(userId="me", q="has:attachment newer_than:7d -in:sent", maxResults=200).execute().get("messages", [])
lines = []
for m in msgs:
msg = gmail.users().messages().get(userId="me", id=m["id"], format="full").execute()
sender = next((h["value"] for h in msg["payload"]["headers"] if h["name"] == "From"), "")
link = f"https://mail.google.com/mail/u/0/#all/{m['id']}"
lines += [f"{p['filename']} from {sender}\n {link}" for p in parts(msg["payload"]) if p.get("filename")]
notify.email_me(f"{len(lines)} attachments last week", "\n".join(lines) or "No attachments last week.")
return {"attachments": len(lines)}FAQ
Common questions
Does the inventory include inline images like email signatures?
Does it download or store my attachments?
What if a message has several attachments?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Clean up your inbox every night
Old promotions, social mail and spam go to trash and read mail is archived, so your inbox only holds what's current.
See how it worksGet an inbox summary twice a day
Twice a day you get one email listing what came in and what you need to act on.
See how it worksSend yourself a weekly newsletter from your feeds
Once a week your own newsletter arrives with the best posts from the blogs and sites you follow.
See how it worksKeep exploring
Set up “Get a weekly list of attachments you received” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.