Weekly stalled deals email for every HubSpot owner
Every Monday at 9am ET, each deal owner gets one focused email listing their stuck HubSpot deals, ranked by amount, with a suggested next step.
Build me a weekly stalled deals nudge that emails each HubSpot deal owner the specific deals they need to revive.
Trigger: cron, every Monday at 9:00 AM America/New_York.
Workflow type: agent. The agent should follow these steps in order.
Step 1. Call HubSpot Search Deals to find all open deals where the deal stage has not changed in 14 or more days. Filter conditions: dealstage is not closedwon and is not closedlost, and hs_lastmodifieddate or the stage-change timestamp is older than 14 days. Request the properties dealname, amount, dealstage, pipeline, hubspot_owner_id, hs_lastmodifieddate, notes_last_updated, and the date the current stage was entered. Page through results until all matching deals are collected.
Step 2. Group the deals in memory by hubspot_owner_id. Drop any group that ends up with zero deals. Within each owner's group, sort deals by amount descending.
Step 3. For each remaining owner, call HubSpot Get Owner using the hubspot_owner_id to look up the owner's email and full name. Cache the result so you do not re-fetch the same owner.
Step 4. For each owner, draft a focused HTML email. Subject line: 'Your stalled deals for the week of <Monday date>'. Greeting uses the owner's first name. Body lists each stalled deal as a row with: deal name (linked back to the HubSpot deal page using the deal id), amount formatted as currency, number of days in current stage, last activity date, and one concrete suggested next action tailored to the stage they are stuck in (for example, qualification stage gets 'book a 15 minute discovery call'; proposal stage gets 'send a pricing follow up with a clear deadline'; negotiation gets 'escalate to a working session or get the contract red lined'). Order rows by amount descending. Close the email with a single sentence reminder that no reply is needed and the report runs again next Monday.
Step 5. Use Send Email (the General Input built in sender) to deliver the HTML email to each owner's email address. One email per owner, not one per deal. Skip owners with zero stalled deals.
Other requirements: handle HubSpot rate limits gracefully (the Search endpoint allows roughly 4 requests per second). Use the deal id from the search response when constructing the HubSpot deal link. If a deal has no amount set, show 'Amount not set' instead of $0 and sort it to the bottom. If HubSpot Get Owner does not return an email, skip that owner and log the owner id so the operator can fix it.
What does this prompt do?
- Finds open HubSpot deals where the stage has not moved in 14 or more days, every Monday morning.
- Groups stuck deals by their owner and skips anyone with a clean pipeline that week.
- Sends each owner a single ranked email listing deal name, amount, days in stage, last activity, and a suggested next step.
- Runs from one HubSpot login. No Gmail or Outlook setup needed because the email goes through the built in sender.
What do I need to use this?
- A HubSpot account with deals and owners set up (any paid tier with the deals object works).
- Permission to read deals and owners in HubSpot (granted in the connection step).
- Verified email addresses on each HubSpot owner record so the message lands in the right inbox.
How can I customize it?
- Change the cadence or send time. Daily, every Tuesday, or end of week all work.
- Adjust the stuck threshold. 7, 21, or 30 days are common alternatives to 14.
- Filter the pipeline. Limit to a specific pipeline, deal stage, or minimum amount before a deal counts as stalled.
- Tweak the suggested next steps so the language matches how your team actually moves deals forward.
FAQs
Does this work on HubSpot Free?
What counts as a stalled deal?
What if an owner has no stuck deals that week?
Can I change which email address sends the message?
What does the suggested next step look like?
Related templates
Pick a client and a date range to see sent, replies, meetings booked and the real deal value your cold email produced, campaign by campaign.
Work every partner tier decision from one board, with the revenue and commission numbers, clear promotion thresholds, and AI review briefs.
Open one board at month end to find every closed deal missing a commission, every commission with no deal behind it, and every amount that does not add up.
Open one board each morning to see which of your accounts are hiring, what they are building, and where your product fits the roles they just opened.
Open a live deal, see the market pay range for that role and city, set your markup, and write the agreed numbers straight back onto the deal.
Work every unanswered Instagram comment, Reel reply and Direct message from one queue, with claimed rows so two people never answer the same person.
Stop letting deals quietly go cold.
Connect HubSpot once and every Monday morning, each rep wakes up to their own short list of deals to revive.