On a schedule
Email yourself overdue monday.com items each morning
One morning email lists every item past its due date that isn't marked Done.
- Runs
- On a schedule
- Apps
- monday.com
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every weekday at 8am, email me the items on my monday.com Marketing board whose Due date has passed and whose Status isn't Done.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
On a monday.com board with 200 items, the ones that slip are rarely the ones everyone is looking at. A date column turns red, but only when someone opens the board and scrolls to it. Tasks marked Working on it three weeks ago with a passed deadline stay quiet, while the client waiting on them assumes everything is on track. Project managers find out about late work when the client complains.
Each morning ClickRuntime reads your board through the monday API, takes every item whose date column is in the past and whose status is not Done, and emails the list with item names, owners and how many days late each one is. The check ignores finished work, so the list contains only things that need attention.
Project managers often send it to themselves, and team leads sometimes copy the whole department.
What you get out of it
Slipping work surfaces before the client notices
A task two days late shows up in a short email, giving the owner time to reply or reset expectations. That conversation is far easier than explaining a missed deadline after the customer asked.
Owners are visible next to each late item
The email shows who is responsible for each overdue task, so the manager knows exactly who to ask. There is no need to open the board and filter by person first.
Done items never clutter the list
Because completed work is filtered out, every line is an actual problem. People keep reading the digest since it is never padded with tasks that were finished last week or parked on purpose.
Stale dates get corrected
Items with outdated dates that are really in progress get a prompt to update. Over time the board becomes more accurate, which improves every workload view, report and dashboard built on top of it.
Less time scanning the board
A manager who used to start the day filtering for red dates gets the same answer in the inbox. Those 10 minutes a day add up to more than 40 hours a year.
How it works
What happens, step by step
Every morning at 8, ClickRuntime goes through the items on your monday.com board.
It keeps the ones whose due date has passed and that aren't marked Done.
You get one email listing each overdue item with its due date, status and link.
Before it runs live
- Connect monday.com
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 monday.com steps into one automation
Under the hood
The code that runs this automation
from datetime import date
from clickruntime import on_trigger, notify, http, credentials
BOARD_ID = 1234567890 # your Marketing board
QUERY = """query ($board: [ID!]) { boards(ids: $board) { items_page(limit: 500) { items {
name url column_values(ids: ["status", "date"]) { id text } } } } }"""
@on_trigger
def run(event):
data = http.post("https://api.monday.com/v2", headers={"Authorization": credentials.secret("MONDAY_API_TOKEN"), "API-Version": "2024-10"},
json={"query": QUERY, "variables": {"board": [BOARD_ID]}}).json()
today = date.today().isoformat()
overdue = []
for item in data["data"]["boards"][0]["items_page"]["items"]:
cols = {c["id"]: c["text"] for c in item["column_values"]}
if cols.get("date") and cols["date"] < today and cols.get("status") != "Done":
overdue.append(f"{item['name']} (due {cols['date']}, {cols.get('status') or 'no status'})\n{item['url']}")
if overdue:
notify.email_me(f"{len(overdue)} overdue items on Marketing", "\n\n".join(overdue))
return {"overdue": len(overdue)}FAQ
Common questions
Which date column does it check?
How does it decide an item is not done?
What if nothing is overdue?
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
See the week's due dates grouped by owner
Each weekday morning you get everything due in the next seven days, sorted under the person responsible.
See how it worksBack up a monday.com board to CSV nightly
A CSV copy of the whole board, with every column, arrives in your inbox each night.
See how it worksList monday.com mentions you haven't answered
Each morning you see the updates that @mention you where you still haven't replied.
See how it worksKeep exploring
Set up “Email yourself overdue monday.com items each morning” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.