Daily
Log a daily snapshot of your monday.com board
Every evening each item's status on your monday.com board is saved to a sheet, building a history for reporting.
- Runs
- Daily
- Apps
- Google Sheets, monday.com
- AI
- Not needed
- Access
- monday.com read; Sheets edit
Send this to your assistant
Create a ClickRuntime automation: every day at 6pm, copy every item on my Projects board in monday.com, with its status, owner and due date, into a new set of rows in my Board History sheet with today's date.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
monday.com shows where work stands today, but not where it stood last week. Managers who want to know how long items sat in review, or how the backlog changed over a month, have nothing to compare against.
Saving a dated snapshot of the board every day builds that history in a sheet. Pivot tables and charts then answer questions the board alone cannot.
What you get out of it
History you can analyse
Daily snapshots show how each item's status changed over time, ready for pivots and charts.
Reports in tools you know
Anyone comfortable with Google Sheets can build reports, without board admin access.
Spot bottlenecks
Seeing how many days items spent in each status shows where work gets stuck.
A record for reviews
Snapshots are a dependable record for retrospectives and client reporting.
How it works
What happens, step by step
Every evening ClickRuntime reads every item on your monday.com board.
It records each item's name, status, owner and due date with today's date.
The rows are added to the bottom of your history sheet, building a day-by-day record.
Before it runs live
- Connect your Google Sheets account and pick the spreadsheets it may use
- 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 Google Sheets and monday.com steps into one automation
Under the hood
The code that runs this automation
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from datetime import date
from clickruntime import on_trigger, credentials, http
SHEET_ID, BOARD = "your-spreadsheet-id", 1234567890
ITEMS = """query ($board: [ID!]) { boards(ids: $board) { items_page(limit: 200) { items {
id name url column_values { id text } } } } }"""
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"]
def sheets():
return build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False).spreadsheets().values()
@on_trigger
def run(event):
items = monday(ITEMS, board=[BOARD])["boards"][0]["items_page"]["items"]
today = date.today().isoformat()
rows = []
for i in items:
c = {v["id"]: v["text"] for v in i["column_values"]}
rows.append([today, i["name"], c.get("status") or "", c.get("person") or "", c.get("date") or ""])
if rows:
sheets().append(spreadsheetId=SHEET_ID, range="History!A:E", valueInputOption="RAW", body={"values": rows}).execute()
return {"items": len(rows)}FAQ
Common questions
Won't the sheet get very large?
Which columns are saved?
Can it snapshot several boards?
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
Export a monday.com board to Google Sheets hourly
Every hour, a Google Sheets tab is replaced with the current items of a monday.com board, one row per item and one column per board column.
See how it worksCreate monday.com items from new sheet rows
Tasks you add to a Google Sheet show up on your monday.com board within 15 minutes.
See how it worksKeep an audit log of monday.com approvals in Sheets
Every approval or status change on your monday.com board is recorded in a Google Sheet, and rejections are flagged in Slack.
See how it worksKeep exploring
Set up “Log a daily snapshot of your monday.com board” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.