Skip to content

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.

Paste it into your assistant. It tells you what it will send or change before it runs live.

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

  1. Twice a day, ClickRuntime goes through the items on your monday.com board.

  2. It picks out items with no owner, and items past their due date that aren't done.

  3. 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

RunsTwice a day
Find unowned and late items twice a daytoday, 9:00Succeeded
Slack · #support*Escalations* • Refund for Acme order 1042 (no owner, due 2026-10-17)

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
unassigned_and_overdue_items_sweep.pyexample
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?
An item with a date in the date column earlier than today and a status that is not one of your done labels. Items with no date are not overdue, though you can list them separately.
Can it ignore certain groups?
Yes, groups like Backlog or Archive can be left out so ideas parked on purpose do not show as problems. Name the groups to include or skip when you set up the sweep. Skipping a group is a simple filter that you can adjust whenever the board changes.
Can the times be changed?
The two daily times are settings, for instance 9:00 and 15:00 in your timezone. You can also reduce it to weekdays only, so that weekend runs do not post to an empty channel.
What permissions does it need?
read. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (twice a day). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

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.