Daily
Get warned before Notion deadlines
When a date in your Notion database is coming up, such as a renewal or certificate expiry, Slack warns you in time.
- Runs
- Daily
- Apps
- Notion, Slack
- AI
- Optional
- Access
- Notion read; Slack chat:write
Send this to your assistant
Create a ClickRuntime automation: every day, check my Suppliers database in Notion for certificates that expire in the next 30 days and post them to #compliance.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Notion databases hold deadlines that matter in the real world: supplier certificates that expire, contracts with renewal dates, equipment inspections, trial periods ending. The date sits in a property, but a database does not tell anyone when it is approaching. A certificate lapses on a Tuesday because the person who tracked it left, and a supplier is then unable to ship, or an audit finds a document that expired three weeks earlier.
Each day ClickRuntime queries your Notion database with a date filter, for example expiry within the next 30 days, and skips records it has already alerted on. It then posts the rest to Slack, optionally with alert text written by its built-in AI, so the owner and the channel see exactly which records need action.
Operations, compliance and procurement teams often use one such alert per database, each with its own condition.
What you get out of it
Expiries are caught while there is time
A message 30 days before a certificate lapses leaves time to ask the supplier for a renewal. You avoid the scramble that happens when the problem is found on the day it bites.
Responsibility does not depend on one person
The alert goes to a channel, so it survives holidays and job changes. The record is seen by whoever is working, not only by the person who built the database.
Each record is announced once
Records already alerted on are remembered, so the channel does not repeat last week's list every morning. People read the posts because each one is new information. The channel stays useful because every post carries information nobody has seen yet this week.
Compliance gaps are reduced
Auditors look for evidence that expiring documents are monitored. A dated trail in Slack showing alerts and the follow-up helps demonstrate that the process exists and is applied. Auditors then see alerts raised and acted on, which is stronger than a promise to check.
Any condition you can filter is monitored
The same pattern works for low stock numbers, overdue invoices or missing owners, as long as Notion can filter for it. One database can have several alerts, each going to the right people.
How it works
What happens, step by step
Every day, ClickRuntime checks your Notion database for entries whose date, such as a certificate expiry, falls within the next 30 days.
It skips any entry it has already warned you about.
The upcoming entries are posted to your #compliance Slack channel with each date and the number of days left.
Before it runs live
- Connect Notion and share the database you want it to use
- Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
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
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Google Sheets
- Combine it with other Notion and Slack steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, state, notify
DATABASE_ID = "your-database-id"
DATE_FIELD = "Certificate expires"
DAYS_AHEAD = 30
@on_trigger
def run(event):
token = credentials.secret("NOTION_TOKEN")
today = date.today()
resp = http.post(
f"https://api.notion.com/v1/databases/{DATABASE_ID}/query",
headers={"Authorization": f"Bearer {token}", "Notion-Version": "2022-06-28"},
json={"filter": {"property": DATE_FIELD,
"date": {"on_or_before": (today + timedelta(days=DAYS_AHEAD)).isoformat()}}},
)
resp.raise_for_status()
alerted = set(state.get("alerted") or [])
lines = []
for page in resp.json()["results"]:
props = page["properties"]
name = "".join(t["plain_text"] for t in props["Name"]["title"])
due = props[DATE_FIELD]["date"]["start"][:10]
key = f"{page['id']}:{due}"
if key in alerted:
continue
days = (date.fromisoformat(due) - today).days
lines.append(f"• {name}: expires {due} ({days} days)")
alerted.add(key)
if lines:
notify.slack("Supplier certificates expiring soon:\n" + "\n".join(lines), channel="#compliance")
state.set("alerted", sorted(alerted)[-500:])
return {"alerted": len(lines)}FAQ
Common questions
Does it work with any Notion database?
If a date is moved, will it alert again?
How does it avoid alerting twice?
Can it add context to the Slack message?
What Notion access does it need?
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
Find Notion docs that are out of date
Each week your team gets a list of wiki pages nobody has updated in months, with who should check them.
See how it worksSend everyone their Notion tasks each morning
Every weekday, each person gets a Slack message with their open tasks and due dates.
See how it worksGet a weekly count of new Notion entries
Each Monday your team sees how many new entries were added last week, and how that compares with the week before.
See how it worksKeep exploring
Set up “Get warned before Notion deadlines” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.