On a schedule
Get a morning summary of pipeline changes
Each weekday you get a short read on what moved in your pipeline yesterday, with totals by stage.
- Runs
- On a schedule
- Apps
- Salesforce
- AI
- Yes, uses the built-in AI allowance
- Access
- api (read)
Send this to your assistant
Create a ClickRuntime automation: every weekday at 8am, summarise the Salesforce opportunities that changed in the last 24 hours, with totals by stage and a few lines on what moved, 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 manager with eight reps and sixty open Salesforce opportunities cannot tell, from a standard pipeline report, what actually happened yesterday. The report shows today's totals by stage. It does not show that a $48,000 deal slid from Negotiation back to Proposal, or that two new opportunities landed under one rep. Finding out means building a filter on LastModifiedDate, exporting, and comparing by hand, so most managers skip it and learn about the slip in the Friday forecast call.
Each morning the automation queries Salesforce for every opportunity modified in the previous 24 hours, pulling stage, amount and owner. It totals the movement by stage, then uses ClickRuntime's built-in AI to write a short plain-language narrative of what changed, and emails it to you. It runs on the schedule you choose, and no OpenAI or Anthropic key is needed. It suits sales leaders and RevOps people who want the story behind the numbers before the first stand-up.
What you get out of it
Yesterday's movement without a report
You see which opportunities advanced, slipped or closed, with amounts and owners, in one email. Nobody builds a LastModifiedDate filter or compares two exports, so the answer to what changed arrives before the first meeting.
Slipping deals spotted within a day
A deal that moves backward a stage shows up the next morning with its amount. A manager can call the rep that day instead of discovering the slip at month-end when the quarter's forecast is already wrong.
Stage totals that match the narrative
Totals by stage sit next to the written summary, so a claim like 'Proposal grew by three deals' can be checked at a glance. Leadership gets both the number and the explanation in the same message.
A dated trail of pipeline history
Each digest stays in your inbox with its date. When someone asks in November why a deal was written off, you can search back to the day its stage changed and who owned it.
Quiet days are visible too
A digest that reports almost no movement is itself a signal. Seeing several flat mornings in a row tells a manager that reps are not updating records or that deals are stuck, which a snapshot report would never reveal.
How it works
What happens, step by step
Every weekday at 8 am in your time zone, ClickRuntime finds the Salesforce opportunities that changed in the last 24 hours.
It adds up the amounts in each stage.
AI writes a short summary of what moved, such as deals that advanced or pushed their close dates.
The totals and summary are emailed to you.
Before it runs live
- Connect Salesforce
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 Salesforce steps into one automation
Under the hood
The code that runs this automation
from collections import defaultdict
from clickruntime import on_trigger, credentials, http, ai, notify
API = "https://yourcompany.my.salesforce.com/services/data/v61.0"
@on_trigger
def run(event):
opps = http.get(f"{API}/query", headers={"Authorization": f"Bearer {credentials.connection('salesforce', 'work')}"},
params={"q": "SELECT Name, StageName, Amount, CloseDate, Owner.Name FROM Opportunity "
"WHERE LastModifiedDate = LAST_N_DAYS:1"}).json()["records"]
totals = defaultdict(float)
for o in opps:
totals[o["StageName"]] += o["Amount"] or 0
table = "\n".join(f"{stage}: ${amt:,.0f}" for stage, amt in sorted(totals.items()))
lines = "\n".join(f"{o['Name']} | {o['StageName']} | {o['Amount']} | {o['Owner']['Name']}" for o in opps)
narrative = ai.generate(lines[:8000], system="In 3-5 short lines, say what moved in this pipeline in the last day.",
max_output_tokens=250).text if opps else "No opportunities changed."
notify.email_me(f"Pipeline digest: {len(opps)} opportunities changed", f"{table}\n\n{narrative}")
return {"changed": len(opps)}FAQ
Common questions
Which opportunities count as modified in the last 24 hours?
Does the digest cover all reps or just my team?
Can the summary be sent to more than one person on Mondays too?
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
Fill in next steps on open opportunities
Open opportunities with an empty Next Step get a suggested one written in, and you get the list.
See how it worksGet a weekly coaching note on each rep
Each Friday you get a short summary of every rep's calls, tasks and meetings for the week.
See how it worksFind open deals with a past close date
Each weekday you see the open opportunities whose close date has passed, grouped by owner.
See how it worksKeep exploring
Set up “Get a morning summary of pipeline changes” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.