Skip to content

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.

Paste it into your assistant. It tells you what it will send or change before it runs live.

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

  1. Every weekday morning ClickRuntime finds deals in the Proposal sent stage in HubSpot.

  2. It keeps the ones with no logged activity in the last five days.

  3. It finds each deal owner in Slack by their email address.

  4. 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

RunsDaily
Remind deal owners to follow up on quiet proposalstoday, 9:00Succeeded
Slack · Direct messageNo activity for 5 days on these proposals: Acme renewal, Northwind onboarding package.

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
deal_follow_up_reminders.pyexample
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?
Any logged email, call, meeting or note on the deal in HubSpot. If a rep follows up outside HubSpot and does not log it, the reminder still arrives.
Can I change the five-day gap?
Yes. Some teams use three days for small deals and ten for enterprise deals. You can set a different gap per pipeline.
What if the owner's Slack email differs from HubSpot?
The reminder is matched by email address. If no Slack user has that email, the reminder goes to a fallback channel you choose.
What permissions does it need?
HubSpot deals read; Slack chat:write, users:read.email. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (daily). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

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.