Every 5 minutes
Post new Salesforce opportunities to Slack
Each new opportunity shows up in Slack with its amount and close date within minutes.
- Runs
- Every 5 minutes
- Apps
- Salesforce
- AI
- Not needed
- Access
- api (read)
Send this to your assistant
Create a ClickRuntime automation: every 5 minutes, post new Salesforce opportunities to #pipeline in Slack with the name, amount and close date.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When an opportunity is created in Salesforce, several people care: the sales manager tracking forecast, the solutions engineer who will be pulled in, and finance watching bookings. None of them are told. A rep creates a $120,000 opportunity on Monday and the solutions team hears about it in Thursday's pipeline review, by which time the prospect has asked for a technical session twice. The information was in Salesforce all along, just not where people were looking.
Every five minutes the automation asks Salesforce for opportunities created since its last check, posts each one to a Slack channel, and stores the latest timestamp. The message names the account, amount, stage and owner. With a five-minute cycle the channel works as a near-live feed of new deals. It suits sales teams that want colleagues outside the CRM to see new pipeline as it forms.
What you get out of it
Presales hears about deals early
A solutions engineer who sees a new opportunity in Slack can offer a demo slot the same day. Early technical involvement is often what separates a deal that advances from one that stalls waiting for answers.
Managers watch pipeline form in real time
New opportunities appear as they are created, so a manager sees whether the team is generating enough deals this week. Waiting for the end-of-week report leaves no time to correct a thin pipeline.
Wins get noticed and celebrated
Large new opportunities show up with amount and owner in front of everyone. Recognition and encouragement happen in the moment, which helps morale on teams that work remotely and rarely hear about each other's deals.
Catches opportunities created in error
A duplicate or a wrongly amounted record is visible within minutes, while the rep still remembers creating it. Correcting a typo that adds a zero is easy now and awkward after it has inflated a forecast.
Finance sees bookings pipeline early
Finance and operations can follow large deals before they close, which helps with capacity, hiring and cash forecasts. They no longer rely on a monthly export that is out of date by the time it arrives.
How it works
What happens, step by step
Every five minutes, the automation checks Salesforce for opportunities created since the last check.
Each new opportunity is posted to your Slack channel with its name, amount and close date.
It remembers the time of the last check, so each one is posted only once.
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
- 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 Salesforce steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
API = "https://yourcompany.my.salesforce.com/services/data/v61.0"
@on_trigger
def run(event):
since = state.get("since") or "2026-01-01T00:00:00Z"
opps = http.get(f"{API}/query", headers={"Authorization": f"Bearer {credentials.connection('salesforce', 'work')}"},
params={"q": f"SELECT Id, Name, Amount, CloseDate, CreatedDate FROM Opportunity "
f"WHERE CreatedDate > {since} ORDER BY CreatedDate"}).json()["records"]
report_fetched(len(opps))
if not opps:
return {"posted": 0}
for o in opps:
notify.slack(f"New opportunity: {o['Name']} · ${o['Amount'] or 0:,.0f} · closes {o['CloseDate']}", channel="#pipeline")
state.set("since", opps[-1]["CreatedDate"].replace(".000+0000", "Z"))
return {"posted": len(opps)}FAQ
Common questions
Can it post only opportunities above a certain amount?
Is every opportunity posted exactly once?
Does it also notice opportunities converted from leads?
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
Tell your team in Slack when you win a deal
Every opportunity that moves to Closed Won is posted to Slack with its name, amount and owner.
See how it worksPost new Salesforce leads to Slack
Your team sees each new lead's name, company and source in Slack within minutes.
See how it worksFill in new Salesforce accounts from their website
New accounts get industry, employee range and a short description filled in from their homepage.
See how it worksKeep exploring
Set up “Post new Salesforce opportunities to Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.