Daily
Remind deal owners to follow up on quiet proposals
Each morning, reps get a Slack message about their deals in Proposal sent with no activity for five days.
- Runs
- Daily
- Apps
- HubSpot, Slack
- AI
- Not needed
- Access
- HubSpot deals read; Slack chat:write, users:read.email
Send this to your assistant
Create a ClickRuntime automation: every weekday morning, DM the owner of each HubSpot deal in 'Proposal sent' that has had no activity for 5 days.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A rep sends a proposal on Tuesday, gets busy with new demos, and by the following week has forgotten to check in. The buyer took the silence as a lack of interest and went with someone else.
A direct reminder after five quiet days nudges the rep at the point where a follow-up still helps, without a manager chasing each deal.
What you get out of it
Fewer proposals go cold
A timely nudge turns a forgotten proposal into a follow-up call while the buyer still remembers the conversation.
Reminders go to the right person
Each rep gets a private message about their own deals, so nobody is called out in a public channel.
Managers stop chasing
Sales leads do not need to scan the pipeline for stale deals every morning. The reminder does that first pass.
A clear daily to-do list
Reps start the day knowing which proposals need a call or email, which makes the follow-up habit stick.
How it works
What happens, step by step
Every weekday morning ClickRuntime finds deals in the Proposal sent stage in HubSpot.
It keeps the ones with no logged activity in the last five days.
It finds each deal owner in Slack by their email address.
Each owner gets a direct message listing their quiet deals with a link to each one.
Before it runs live
- Connect HubSpot
- Connect Slack, then invite the app to the channel (type /invite @ClickRuntime there)
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
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Google Sheets
- Combine it with other HubSpot and Slack steps into one automation
Under the hood
The code that runs this automation
import time
from slack_sdk import WebClient
from clickruntime import on_trigger, credentials, http
STAGE = "presentationscheduled"
@on_trigger
def run(event):
h = {"Authorization": f"Bearer {credentials.secret('HUBSPOT_TOKEN')}"}
cutoff = int((time.time() - 5 * 86400) * 1000)
body = {"filterGroups": [{"filters": [{"propertyName": "dealstage", "operator": "EQ", "value": STAGE},
{"propertyName": "notes_last_updated", "operator": "LT", "value": cutoff}]}],
"properties": ["dealname", "hubspot_owner_id"], "limit": 100}
deals = http.post("https://api.hubapi.com/crm/v3/objects/deals/search", headers=h, json=body).json()["results"]
slack = WebClient(token=credentials.connection("slack", "work"))
by_owner = {}
for d in deals:
by_owner.setdefault(d["properties"]["hubspot_owner_id"], []).append(d["properties"]["dealname"])
for owner_id, names in by_owner.items():
email = http.get(f"https://api.hubapi.com/crm/v3/owners/{owner_id}", headers=h).json()["email"]
user = slack.users_lookupByEmail(email=email)["user"]["id"]
slack.chat_postMessage(channel=user, text="No activity for 5 days: " + ", ".join(names))
return {"reminded": len(by_owner)}FAQ
Common questions
What counts as activity?
Can I change the five-day gap?
What if the owner's Slack email differs from HubSpot?
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
Flag HubSpot deals that have gone quiet
Every morning your sales channel lists deals with no activity in 21 days, with the owner tagged so they can follow up.
See how it worksRemind account owners about upcoming contract renewals in Slack
Every Monday, #renewals lists the HubSpot companies renewing in the next 60 days, each tagged with its owner.
See how it worksAlert on large HubSpot deals
Every 15 minutes, deals over a set value that changed stage are posted to your sales channel.
See how it worksKeep exploring
Set up “Remind deal owners to follow up on quiet proposals” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.