Weekly stalled deals email for every HubSpot owner

By General Input

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.

Integrations

  • HubSpot
  • Send Email

Type

Agentic Task

Categories

  • Sales
  • Operations

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.

Related prompts

Explore more prompts
Turn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe revealsWhich companies your LinkedIn ads reach, matched to your CRMLead response desk with a running clock on every new leadApprove Lusha enrichment field by field before HubSpot saves it