Hourly
Know 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.
- Runs
- Hourly
- Apps
- Miro
- AI
- Not needed
- Access
- boards:read
Send this to your assistant
Create a ClickRuntime automation: every hour check my Miro boards whose names start with 'Client -' and email me the name, role and board link whenever a new member or guest is added.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Access to a Miro board is easy to grant and hard to track. A colleague shares a board with a freelancer, the freelancer shares a link with their assistant, and now someone you have never heard of can see your product roadmap or client workshop. Nobody is trying to cause harm, but sensitive boards end up with more viewers than the owner intended, and the owner hears about it only by chance.
Every hour, ClickRuntime lists your boards, lists the members of each, compares them with the member IDs it stored last time and emails you the name, role and board link for each new person. First runs set the baseline, so only later additions are reported.
It suits board owners, IT administrators and anyone responsible for confidential workshop or client material.
What you get out of it
Unexpected access is noticed within an hour
If a stranger gets access to a confidential board, you learn the same hour. You can remove them before they have read anything important. That keeps sensitive material safer. You then make an informed call on each guest.
Guests are visible, not hidden
External collaborators often arrive through shared links. Seeing each new guest with their role lets you decide whether the access is appropriate for the project. You then make an informed call on each guest.
Roles are shown with the person
Knowing whether the new member is a viewer or an editor tells you how serious the access is. An editor on a confidential board deserves a closer look than a viewer.
Client confidentiality is protected
When you promise clients that only named people see their workshop, you can back it up. Checking each new member against the expected list keeps that promise honest. That protects client trust.
It supports security reviews
Records of who was added and when help with access reviews. You can show an auditor that new access to key boards is monitored, and not left to chance. Monitoring is easier to defend than hope.
Direct links make follow-up quick
The email includes the board link, so you can open it and adjust the sharing in two clicks. Acting right away is easier than searching for the board later. Quick fixes stay quick.
How it works
What happens, step by step
Every hour, ClickRuntime checks who has access to each of your Miro boards.
It compares that with the list saved last time, so only new people are reported.
You get an email with each new person's name, whether they are a member or guest, and a link to the board.
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
- Act only on the items that match your own rules, and skip the rest
- 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
from clickruntime import on_trigger, report_fetched, state, notify, http, credentials
API = "https://api.miro.com/v2"
@on_trigger
def run(event):
headers = {"Authorization": "Bearer " + credentials.connection("miro", "main")}
boards = [b for b in http.get(f"{API}/boards", headers=headers, params={"query": "Client -", "limit": 50}).json()["data"] if b["name"].startswith("Client -")]
known = state.get("members") or {}
new = []
for b in boards:
members = http.get(f"{API}/boards/{b['id']}/members", headers=headers, params={"limit": 100}).json()["data"]
ids = {m["id"] for m in members}
if b["id"] in known:
new += [(b, m) for m in members if m["id"] not in known[b["id"]]]
known[b["id"]] = list(ids)
report_fetched(len(new))
if not new:
state.set("members", known)
return {"summary": "No new members"}
lines = [f"{m['name']} ({m['role']}) joined {b['name']}\n{b['viewLink']}" for b, m in new]
notify.email_me(f"{len(new)} new people on client boards", "\n\n".join(lines))
state.set("members", known)
return {"new": len(new)}FAQ
Common questions
Does it alert me about members who leave?
What if someone joins through a public link?
Does it cover boards owned by other people?
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
Post 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 worksEmail 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 worksGet 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.
See how it worksKeep exploring
Set up “Know when someone new joins your Miro boards” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.