On a schedule
Create recurring monday.com items every week
Every Monday at 7am, your weekly tasks are added to a monday.com board with the right owner, group and due date.
- Runs
- On a schedule
- Apps
- monday.com
- AI
- Not needed
- Access
- boards:write
Send this to your assistant
Create a ClickRuntime automation: every Monday at 7am, create these items on my Ops board in monday.com in the This week group: Payroll check (Priya, due Tuesday), Invoice run (Leo, due Thursday), Backup restore test (Maya, due Friday). Add the week number to each name.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Every team has work that comes back each week: payroll checks, invoice runs, reports, backups. Someone has to remember to add it to the board, or it gets done from memory and nobody can see it.
Creating the items on a schedule puts recurring work on the board alongside everything else, with an owner and a due date, before the week starts.
The week number in each name keeps one week's items separate from the next, so history on the board stays readable.
What you get out of it
Nobody has to remember
The week's routine tasks are on the board before anyone logs in on Monday.
Owners and dates set
Each item is assigned with a due date for the right weekday.
Easy to tell weeks apart
The week number in the name separates this week's items from last week's.
Visible like any other work
Recurring tasks show up in workload views and dashboards.
Simple to change
Add, remove or reassign a task by asking your assistant to edit the list.
How it works
What happens, step by step
You give your assistant the list of weekly tasks, with owner, group and the weekday each is due.
Every Monday at 7am ClickRuntime creates one item per task on your board.
Each item gets the owner, the due date for this week and the week number in its name.
Tasks can be changed any time by editing the list in the script.
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
import json
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http
BOARD, GROUP = 1234567890, "topics"
# name, monday.com user id, weekday due (0 = Monday)
TASKS = [("Payroll check", 11111111, 1), ("Invoice run", 22222222, 3), ("Backup restore test", 33333333, 4)]
CREATE = """mutation ($board: ID!, $group: String!, $name: String!, $cols: JSON!) {
create_item(board_id: $board, group_id: $group, item_name: $name, column_values: $cols) { id } }"""
def monday(query, **variables):
resp = http.post("https://api.monday.com/v2", json={"query": query, "variables": variables},
headers={"Authorization": credentials.secret("MONDAY_API_TOKEN"), "API-Version": "2024-10"})
resp.raise_for_status()
return resp.json()["data"]
@on_trigger
def run(event):
monday_date = date.today() - timedelta(days=date.today().weekday())
week = monday_date.isocalendar()[1]
created = []
for name, user_id, weekday in TASKS:
due = (monday_date + timedelta(days=weekday)).isoformat()
cols = json.dumps({"person": {"personsAndTeams": [{"id": user_id, "kind": "person"}]},
"date": {"date": due}, "status": {"label": "Not started"}})
item = monday(CREATE, board=BOARD, group=GROUP, name=f"{name} – W{week}", cols=cols)["create_item"]
created.append(item["id"])
return {"week": week, "created": len(created)}FAQ
Common questions
Can tasks repeat monthly instead of weekly?
How do I find the group ID and user IDs?
What happens on a public holiday?
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 “Create recurring monday.com items every week” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.