Weekly
Get alerts about deals nobody has touched
Each week you see the records that haven't changed in two weeks, before they're forgotten.
- Runs
- Weekly
- Apps
- Airtable
- AI
- Not needed
- Access
- data.records:read
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am, email me the deals in my Airtable Pipeline table that haven't been modified in 14 days.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Every Airtable base has records that nobody has touched in weeks: a lead that was never followed up, a project that stalled, an equipment item still marked as checked out, a client row not updated since the contract changed. They sit among the active ones and look just as important. Because nothing marks them as neglected, reports include them, people assume someone else is handling them, and the real state of the work is hidden.
Every week, the automation filters records by the number of days since they were last modified (DATETIME_DIFF with LAST_MODIFIED_TIME) and emails you the list of those older than your limit, 14 days in the default setup. Each line gives you the record and how long it has been idle.
It is helpful for project trackers, CRMs, asset registers and any base where records are supposed to move.
What you get out of it
Neglected work comes to the surface
A list of untouched records each week makes it hard for any item to stay forgotten for a quarter. Someone has to either act on it or close it. Someone has to decide, and the list makes sure they do.
Leads and projects do not quietly die
A lead idle for two weeks is often a lost deal. A short reminder prompts a follow-up while the contact still remembers you. Work that is losing momentum is much easier to rescue in week two than in week ten, so a prompt matters.
Reports reflect the real state
Closing or updating stale records means counts of open items are accurate. Planning and forecasting based on the table is less likely to mislead. That is better than planning around items that stopped moving long ago.
Accountability is clear
The list shows exactly which records have been idle, so a manager can ask the owner a specific question instead of a general one about progress. Concrete questions get concrete answers, which makes the weekly check-in much shorter.
Housekeeping becomes routine
A short weekly list is quicker to clear than a yearly spring clean of thousands of rows. The base stays tidy without a big project. That keeps the base useful for everyone.
How it works
What happens, step by step
Once a week, the automation looks for Airtable records that nobody has changed in the last 14 days.
It lists each one with its stage and owner, such as a deal stuck in Proposal.
You get an email with the list, so those records can be picked up before they're forgotten.
Before it runs live
- Connect Airtable
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 Airtable steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, notify
BASE_ID = "appXXXXXXXXXXXXXX"
@on_trigger
def run(event):
deals = http.get(f"https://api.airtable.com/v0/{BASE_ID}/Pipeline",
headers={"Authorization": f"Bearer {credentials.connection('airtable', 'work')}"},
params={"filterByFormula": "DATETIME_DIFF(NOW(), LAST_MODIFIED_TIME(), 'days') > 14"}).json()["records"]
if not deals:
return {"stale": 0}
lines = [f"• {d['fields'].get('Deal')} · {d['fields'].get('Stage', '')} · {d['fields'].get('Owner', '')}" for d in deals]
notify.email_me(f"{len(deals)} deals untouched for 14+ days", "\n".join(lines))
return {"stale": len(deals)}FAQ
Common questions
What does last modified mean in Airtable?
Can the number of days be different for each status?
Will it include completed or archived records?
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
Keep Airtable prices up to date
The prices and values in your table update on their own every hour.
See how it worksClean up and check Airtable fields
Image links become attachments and records with bad email addresses are flagged, every hour.
See how it worksSend a daily team reminder and log it in Airtable
Your team gets the same reminder in Slack each day, and every one sent is logged in Airtable.
See how it worksKeep exploring
Set up “Get alerts about deals nobody has touched” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.