Monthly
See why you lost deals last month
On the 1st of each month you get last month's lost deals counted by reason, with common themes pulled out.
- Runs
- Monthly
- Apps
- Pipedrive
- AI
- Yes, uses the built-in AI allowance
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: on the 1st of every month, email me last month's lost Pipedrive deals counted by lost reason, plus the main themes in any free-text reasons.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Every sales team agrees it should learn from lost deals, and almost none do it consistently. In Pipedrive, a rep marks a deal lost and picks a reason such as price, timing or competitor, sometimes typing a free-text explanation. Months later nobody has counted them, so leadership argues from memory: is it really price, or is it that the product lacks a feature that three prospects asked about?
On the first of each month, deals marked lost in the previous month are listed and grouped by lost_reason. Where reps wrote free-form explanations, ClickRuntime's built-in AI can read them and pull out common themes. The result is one email with counts per reason, the value lost to each and the recurring themes. A monthly rhythm keeps the lessons from fading.
It suits sales managers, founders and product leads who want a factual basis for pricing, positioning and roadmap decisions.
What you get out of it
Decisions based on counts, not anecdotes
Seeing that twelve of twenty lost deals cite timing, not price, changes the conversation. You avoid cutting prices to fix a problem that price does not explain. That clarity saves months of misdirected effort.
Revenue lost, not just deals lost
Grouping by value shows which reasons cost the most money. A single reason might account for a few deals but half of the lost revenue, which changes what you fix first.
Free-text reasons become usable
Reps write real explanations in the notes, but nobody reads them. AI themes turn dozens of sentences into a few patterns, such as missing integrations or slow onboarding. That turns scattered comments into evidence a leadership team can use.
Product gets real customer input
Feature gaps mentioned by lost prospects are the best roadmap evidence available. Sharing the monthly email with product puts those requests in front of the team that can act. Roadmap debates become far easier when real lost revenue is attached to them.
Month-to-month trends
Comparing this month's email with last month's shows whether a fix worked. If competitor losses drop after a new battlecard, you have evidence that the effort paid off. Trends are what turn a report into learning.
How it works
What happens, step by step
On the 1st of each month, the automation collects last month's lost deals from Pipedrive.
It counts them by lost reason, such as "Price too high" or "Chose competitor".
If you want, AI reads the free-text reasons and pulls out common themes.
The counts and themes are emailed to you.
Before it runs live
- Connect Pipedrive
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 Pipedrive steps into one automation
Under the hood
The code that runs this automation
from collections import Counter
from datetime import date
from clickruntime import on_trigger, credentials, http, ai, notify
API = "https://api.pipedrive.com"
@on_trigger
def run(event):
first = date.today().replace(day=1)
start = (first.replace(year=first.year - 1, month=12) if first.month == 1 else first.replace(month=first.month - 1)).isoformat()
deals = http.get(f"{API}/api/v2/deals", headers={"Authorization": f"Bearer {credentials.connection('pipedrive', 'work')}"},
params={"status": "lost", "updated_since": f"{start}T00:00:00Z", "limit": 500}).json()["data"]
deals = [d for d in deals if start <= (d.get("lost_time") or "")[:10] < first.isoformat()]
counts = Counter((d.get("lost_reason") or "No reason").strip() for d in deals)
table = "\n".join(f"{n:>3} {reason}" for reason, n in counts.most_common())
free_text = [d["lost_reason"] for d in deals if d.get("lost_reason") and len(d["lost_reason"]) > 25]
themes = ""
if free_text:
themes = ai.generate("\n".join(free_text)[:6000], max_output_tokens=200,
system="List the 3 main themes in these lost-deal reasons, one line each.").text
notify.email_me(f"Lost deals last month: {len(deals)}", f"{table}\n\nThemes:\n{themes}".strip())
return {"lost": len(deals)}FAQ
Common questions
What if reps do not fill in the lost reason?
Is the AI step required?
Can I look at a different period than last month?
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 a morning summary of your open deals
Each weekday you get a short read on every open deal by stage, with its latest notes.
See how it worksGet a daily list of deals going stale
Each weekday you see the open deals with no activity in two weeks, grouped by owner.
See how it worksGet a daily list of overdue activities
Each morning you see the calls, meetings and tasks that are past due and not done.
See how it worksKeep exploring
Set up “See why you lost deals last month” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
