On a schedule
Get a daily digest of edits on a Miro board
Each evening one email lists everything added or edited on the board that day, with the person behind each change.
- Runs
- On a schedule
- Apps
- Miro
- AI
- Not needed
- Access
- boards:read
Send this to your assistant
Create a ClickRuntime automation: every evening at 6pm email me what was added or changed today on our Miro 'Product Roadmap' board, with who made each change. Skip days with no changes.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When several people work in the same Miro board, nobody can tell what happened while they were away. A product lead returns from a day of meetings to find thirty new sticky notes, two moved frames and a reworded problem statement, and has no way to see who did what without opening the board and scanning it item by item. Important changes pass unseen, and people duplicate work.
Each evening, ClickRuntime pages through the items on the board you follow, keeps those whose modified time is after the last run, looks up the names of the people who changed them from the board members, and sends you one email listing the changes and the authors.
It helps facilitators, product managers and design leads who need to know what moved without asking everyone.
What you get out of it
You see what changed without scanning the board
A list of changed items by person replaces the work of comparing today's board with your memory of yesterday's. That saves time in a busy project. That makes catching up fast.
Credit and responsibility are clear
Knowing who added or edited an item makes follow-up questions easy. You ask the right person instead of posting in a channel and waiting. That avoids long chat threads. Questions get answers faster.
Less duplicated effort
If two people are working on the same area, the digest makes it obvious. They can coordinate before they have both built the same cluster. Time is spent on new work instead.
Late-night edits do not surprise you
Changes made after you logged off are in the evening email, so you start the next day informed. That avoids meetings that begin with what happened. Meetings then start with decisions.
A history of how the board grew
Daily emails trace the board's evolution. When someone asks how an idea developed, you can follow the trail of who added what and when. That context is valuable in retrospectives.
Quiet days are visible too
If nothing changed, you know the team did not touch it. That can tell you a workshop outcome has been ignored and needs a nudge. That is useful information in itself.
How it works
What happens, step by step
Every evening at 6, ClickRuntime goes through every item on your Miro board.
It keeps the ones added or changed since the last run.
It looks up who made each change.
You get one email listing the changes and who made them.
Before it runs live
- Connect Miro
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 Miro steps into one automation
Under the hood
The code that runs this automation
import re
from datetime import datetime, timezone
from clickruntime import on_trigger, state, notify, http, credentials
API = "https://api.miro.com/v2"
BOARD_ID = "uXjVOabcdEF=" # your 'Product Roadmap' board
@on_trigger
def run(event):
headers = {"Authorization": "Bearer " + credentials.connection("miro", "main")}
since = state.get("since") or datetime.now(timezone.utc).strftime("%Y-%m-%dT00:00:00Z")
changed, cursor = [], None
while True:
page = http.get(f"{API}/boards/{BOARD_ID}/items", headers=headers, params={"limit": 50, **({"cursor": cursor} if cursor else {})}).json()
changed += [i for i in page["data"] if i["modifiedAt"] > since]
cursor = page.get("cursor")
if not cursor:
break
state.set("since", datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ"))
if not changed:
return {"changed": 0}
members = {m["id"]: m["name"] for m in http.get(f"{API}/boards/{BOARD_ID}/members", headers=headers, params={"limit": 100}).json()["data"]}
lines = []
for i in changed:
text = re.sub(r"<[^>]+>", "", (i.get("data") or {}).get("content") or (i.get("data") or {}).get("title") or "").strip()[:100]
verb = "added" if i["createdAt"] > since else "changed"
lines.append(f"{members.get(i['modifiedBy']['id'], 'Someone')} {verb} {i['type'].replace('_', ' ')}: {text}")
notify.email_me(f"Product Roadmap: {len(changed)} changes today", "\n".join(lines))
return {"changed": len(changed)}FAQ
Common questions
What details does each entry show?
Can I follow more than one board?
How are the names worked out?
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 a weekly text backup of your boards
Each week you get the text of every sticky note and card on your boards, organised by board.
See how it worksPost new sticky notes from a Miro board to Slack
As your team adds notes to a retro board, they appear in Slack within 15 minutes.
See how it worksKnow when someone new joins your Miro boards
You get an email whenever a new member or guest gains access to one of your boards, with their role.
See how it worksKeep exploring
Set up “Get a daily digest of edits on a Miro board” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.