Twice a day
Find unowned and late items twice a day
Items with nobody assigned or a missed due date are flagged before they slip further.
- Runs
- Twice a day
- Apps
- monday.com
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: at 10am and 3pm, Slack me items on my monday.com Support board with no one in the Person column or with a past Due date, grouped by group.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Two kinds of items cause quiet trouble on a monday.com board: ones with nobody in the People column, which everyone assumes someone else owns, and ones whose date has passed without being marked Done. Neither looks alarming on its own. A new request created on Monday with no owner is still unclaimed on Thursday, and the customer who filed it thinks it is in hand. The gap only shows when someone audits the board by hand, which is rarely done.
Twice a day ClickRuntime fetches the board's items, filters for an empty people column or a date in the past with a status that is not done, and posts one grouped list in Slack. Because it runs morning and afternoon, an unowned item is flagged within hours.
It suits operations and project managers who run shared intake boards.
What you get out of it
Unowned work gets claimed quickly
An item with no owner appears in the list on the next run. Someone picks it up that afternoon rather than the request waiting days because everyone assumed it belonged to a colleague.
Slipping dates are flagged before they hurt
Overdue items are grouped with their owners, so a manager can ask for a new date or help. Catching an item one day late is cheaper than discovering it a week late.
One list instead of two board views
Instead of building and checking separate filters, the team reads one message with both problems. The morning run helps planning and the afternoon run catches new gaps. The morning run supports planning, while the afternoon run catches anything that arrived or slipped during the day.
Intake boards stay trustworthy
Shared boards decay when nobody owns what lands on them. Regular sweeps keep the data accurate enough that reports and capacity planning can rely on it. Reports on workload or lead time are only as good as the owners and dates recorded on the items.
Accountability without nagging
A neutral automated list in a channel is easier to accept than a manager chasing each person. People fix their items because the list is public and factual. People close the gaps themselves, since a factual public list is easier to accept than a manager chasing individuals.
How it works
What happens, step by step
Twice a day, ClickRuntime goes through the items on your monday.com board.
It picks out items with no owner, and items past their due date that aren't done.
It posts one grouped list to your Slack channel, showing why each item was picked up.
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 collections import defaultdict
from datetime import date
from clickruntime import on_trigger, notify, http, credentials
BOARD_ID = 1234567890 # your Support board
QUERY = """query ($board: [ID!]) { boards(ids: $board) { items_page(limit: 500) { items {
name url group { title } column_values(ids: ["person", "date", "status"]) { 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()
groups = defaultdict(list)
for item in data["data"]["boards"][0]["items_page"]["items"]:
cols = {c["id"]: c["text"] for c in item["column_values"]}
if cols.get("status") == "Done":
continue
problems = [p for p, bad in [("no owner", not cols.get("person")), (f"due {cols.get('date')}", bool(cols.get("date")) and cols["date"] < today)] if bad]
if problems:
groups[item["group"]["title"]].append(f"• <{item['url']}|{item['name']}> ({', '.join(problems)})")
if groups:
notify.slack("\n\n".join(f"*{g}*\n" + "\n".join(lines) for g, lines in groups.items()), channel="#support")
return {"groups": len(groups)}FAQ
Common questions
What counts as overdue here?
Can it ignore certain groups?
Can the times be changed?
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
Email yourself overdue monday.com items each morning
One morning email lists every item past its due date that isn't marked Done.
See how it worksSee 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 worksKeep exploring
Set up “Find unowned and late items twice a day” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.