Every 10 minutes
Keep an Airtable list of new files in a Drive folder
Every file added to a Drive folder is listed in Airtable with its name, type, owner and link.
- Runs
- Every 10 minutes
- Apps
- Airtable, Google Drive
- AI
- Not needed
- Access
- Drive read (metadata); Airtable write
Send this to your assistant
Create a ClickRuntime automation: every 10 minutes, add any new files from my Drive 'Shared docs' folder to my Airtable 'Files' table with name, type, owner, date and link.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A consultancy shares a Drive folder with each client for contracts, briefs and deliverables. Files are added by both sides, and nobody can say quickly what arrived this week or who uploaded it. Searching Drive works for one file but not for a register of everything, and the account manager keeps a manual list that is always missing something.
Logging each new file in Airtable as it appears gives the team a register they can filter, group by client or type, and add notes to, while the files themselves stay in the shared folder.
What you get out of it
A register that fills itself
Every new file appears in Airtable within ten minutes, with name, type, owner, date and link.
Filter and sort what Drive cannot
Group files by type or uploader, add status and notes, and build views per project in Airtable.
You see who added what
The owner field shows whether a file came from your team or the client.
Each file logged once
The newest file time is remembered, so the table never fills with duplicates.
How it works
What happens, step by step
Every 10 minutes, ClickRuntime checks your Shared docs folder in Drive for files added since the last check.
For each new file it collects the name, type, owner, date added and link.
A row is added to your Airtable Files table for each one.
The time of the newest file is remembered, so each file is logged once.
Before it runs live
- Connect Airtable
- Connect Google Drive
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
- Act only on the items that match your own rules, and skip the rest
- 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 Airtable and Google Drive 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, http, state, report_fetched
BASE_ID, FOLDER_ID = "appXXXXXXXXXXXXXX", "1FolderIdOfSharedDocs"
@on_trigger
def run(event):
drive = build("drive", "v3", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
since = state.get("since") or "2026-01-01T00:00:00Z"
files = drive.files().list(q=f"'{FOLDER_ID}' in parents and createdTime > '{since}' and trashed = false",
orderBy="createdTime", pageSize=100,
fields="files(id,name,mimeType,createdTime,webViewLink,owners(displayName))").execute()["files"]
report_fetched(len(files))
if not files:
return {"logged": 0}
records = [{"fields": {"Name": f["name"], "Type": f["mimeType"].split("/")[-1].replace("vnd.google-apps.", ""),
"Owner": (f.get("owners") or [{}])[0].get("displayName", ""), "Added": f["createdTime"],
"Link": f["webViewLink"], "Drive ID": f["id"]}} for f in files]
headers = {"Authorization": f"Bearer {credentials.connection('airtable', 'work')}"}
for i in range(0, len(records), 10):
http.post(f"https://api.airtable.com/v0/{BASE_ID}/Files", headers=headers,
json={"typecast": True, "records": records[i:i + 10]}).raise_for_status()
state.set("since", files[-1]["createdTime"])
return {"logged": len(records)}FAQ
Common questions
Does it log files in subfolders?
Are edits to existing files logged?
What does the type field show?
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
Create PDF invoices from Airtable orders into Drive
When an order in Airtable is marked for invoicing, a PDF invoice is created, saved to Drive and linked on the record.
See how it worksScreen CVs from a Drive folder into Airtable
Each CV dropped into your Drive folder is read, scored against the job, and saved as a candidate record in Airtable.
See how it worksWrite captions for Drive videos and track them in Airtable
Each video or photo you drop into a Drive folder gets a caption and hashtags and appears in your Airtable content table, ready to post.
See how it worksKeep exploring
Set up “Keep an Airtable list of new files in a Drive folder” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.