Monthly
Get a monthly report on your monday.com leads
On the 1st you get counts of last month's leads by status and source, with a short written read of the trends.
- Runs
- Monthly
- Apps
- monday.com
- AI
- Yes, uses the built-in AI allowance
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: on the 1st of each month, count last month's new items on my monday.com Leads board by Status and Source, write a short summary of what changed, and email it to me.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A sales or marketing manager who keeps leads on a monday.com board is asked every month how many came in, from where, and what happened to them. Answering means filtering by creation date, counting statuses like New, Contacted and Won, grouping by source column, and writing a paragraph for the leadership update. It takes an hour, gets postponed, and the resulting numbers are rarely calculated the same way twice.
On the first of each month ClickRuntime reads the items created in the previous month, counts them by status and source, and passes the totals to its built-in AI, which writes a short narrative about where leads came from and how they progressed. The summary is emailed to you and anyone else on the list.
It is especially handy for agency owners who report to clients every month.
What you get out of it
The monthly report writes itself
The hour spent filtering and counting is gone, and the update to leadership is ready on the first. You can edit two sentences instead of starting with an empty document.
Counts follow one definition
Because the same query runs each month, leads are counted by created date and status in the same way every time. Month-to-month comparisons stop being distorted by someone filtering differently.
Channels that perform become obvious
The source breakdown shows that referrals converted at three times the rate of cold outreach. Budget conversations move from opinions to figures on the board. A shift such as inbound doubling while outbound halves is spelled out in words, not hidden in two columns of counts.
Stalled pipeline stands out
A narrative that mentions 40 leads still marked New after 30 days points to a follow-up problem. A manager sees it in the report, not a quarter later in missed revenue.
Clients see consistent reporting
Agencies can send the same format each month to every client. That reliability builds trust and cuts the time account managers spend assembling decks. The same layout every month means the client learns where to look for each number and stops asking for a custom version.
How it works
What happens, step by step
At the start of each month, ClickRuntime collects the leads added to your monday.com board last month.
It counts them by status and by source.
AI turns the numbers into a short write-up of what changed compared with the month before.
You get the report by email.
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
- Change what the AI looks for, or how it writes the result
- 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
from collections import Counter
from datetime import date, timedelta
from clickruntime import on_trigger, notify, http, credentials, ai
BOARD_ID = 1234567890 # your Leads board
QUERY = """query ($board: [ID!]) { boards(ids: $board) { items_page(limit: 500) { items {
created_at column_values(ids: ["status", "text"]) { id text } } } } }"""
@on_trigger
def run(event):
end = date.today().replace(day=1)
start = (end - timedelta(days=1)).replace(day=1)
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()
items = [i for i in data["data"]["boards"][0]["items_page"]["items"] if start.isoformat() <= i["created_at"][:10] < end.isoformat()]
status, source = Counter(), Counter()
for item in items:
cols = {c["id"]: c["text"] or "(blank)" for c in item["column_values"]}
status[cols["status"]] += 1
source[cols["text"]] += 1
counts = f"New leads: {len(items)}\nBy status: {dict(status)}\nBy source: {dict(source)}"
summary = ai.generate(f"Write a short summary (4 sentences) of last month's leads.\n\n{counts}", max_output_tokens=200).text
notify.email_me(f"Leads for {start:%B}", f"{summary}\n\n{counts}")
return {"leads": len(items)}FAQ
Common questions
Which columns does the report use?
Can it compare with the previous month?
Is the AI summary based on real data?
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
Get an evening recap of item updates
Long update threads are boiled down to a few lines per item in one evening email.
See how it worksEmail 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 worksKeep exploring
Set up “Get a monthly report on your monday.com leads” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.