Flag HubSpot renewals 90 days out and prep the account owner
Each morning, find HubSpot deals or companies renewing in 90 days, build a prep checklist, and DM the account owner in Slack.
Build me an agent workflow that helps my account team get ahead of contract renewals. Run it every weekday at 8am in the company timezone.
Step 1. Search HubSpot for deals and companies with a renewal date roughly 90 days from today (give or take a day so nothing falls through on weekends). Read the renewal_date property on companies and the renewal_date or close_date property on deals (let me confirm which property to use during setup). For each match, pull the account name, deal value or ARR, current stage, last activity date, the assigned owner, the primary contact, and any open tickets associated with the company.
Step 2. For every renewing account, create a HubSpot task associated with the deal (or the company if there is no open deal). Title it "Renewal prep: <account name> renews <date>" with a due date 14 days from today, assigned to the deal owner. In the task body, include a tailored prep checklist with these items: confirm renewal date and term, review usage and product adoption since last renewal, list open support tickets and their status, surface any expansion or upsell opportunities, identify the economic buyer and confirm they are still in role, and draft talking points for the renewal conversation. Use the deal and ticket data you already pulled to pre-fill what you can so the owner is not starting from a blank checklist.
Step 3. Group the renewing accounts by owner. Look up each HubSpot owner, match them to a Slack user by email, and DM that user a clean summary: a one-line intro, then a bulleted list of their renewals with account name, renewal date, deal value, link to the HubSpot deal, and a link to the prep task you just created. If an owner has no Slack match, post that owner's section to a fallback channel (let me pick the channel name during setup, default it to #renewals).
Keep state across runs so the same renewal does not get re-flagged daily. Only re-DM an owner if the renewal date moves, the deal stage changes, a new ticket opens, or it has been 30 days since the last ping. If nothing renews in the 90-day window on a given day, do not send anything.
During setup, ask me which HubSpot date property to treat as the renewal date, the fallback Slack channel, and whether to also include accounts owned by sales (new business deals with a close_date 90 days out) or only customer success (renewal-stage deals).
Additional information
What does this prompt do?
- Searches HubSpot every morning for deals or companies with a renewal date 90 days out.
- Pulls deal value, last activity, open tickets, and key contacts so the owner has context.
- Creates a HubSpot task on each renewing deal with a tailored prep checklist.
- DMs the account owner in Slack with the renewal list, prep steps, and links back to HubSpot.
What do I need to use this?
- A HubSpot account with deals or companies that have a renewal date property populated.
- A Slack workspace connected to the same teammates who own those accounts in HubSpot.
- Account owners assigned in HubSpot so the workflow knows who to ping.
How can I customize it?
- Change the lead time from 90 days to 60 or 120, or add a second reminder at 30 days.
- Swap the prep checklist for one that matches your renewal motion (QBR review, usage report, exec sponsor outreach).
- Route the alert to a shared #renewals channel instead of a DM, or post to both.
Frequently asked questions
Which HubSpot property does this read for the renewal date?
What if an account owner is not in Slack?
Does the prep checklist live in HubSpot or somewhere else?
Will it spam owners with the same renewal every day?
Can I use Salesforce or another CRM instead of HubSpot?
Stop letting renewals sneak up on your account team.
Connect HubSpot and Slack once, and Geni runs this prep workflow every morning so every renewal has a 90-day runway.