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.

Agentic Task
HubSpotSlackSalesOperationsNotifications & AlertsDaily Digests

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?
By default the agent looks for a renewal_date or close_date property on deals, and a renewal_date property on companies. You can point it at any custom date property when you set up the workflow.
What if an account owner is not in Slack?
The agent matches HubSpot owners to Slack users by email. If there is no match, it falls back to a configurable channel so nothing slips through.
Does the prep checklist live in HubSpot or somewhere else?
The checklist is created as a HubSpot task associated with the deal, so it shows up on the record and in the owner's task queue. The Slack DM mirrors the same checklist for visibility.
Will it spam owners with the same renewal every day?
No. The agent records which renewals it has already flagged and only re-pings if something material changes, like the renewal date moving or the deal stage shifting.
Can I use Salesforce or another CRM instead of HubSpot?
Yes. The same pattern works with Salesforce, Pipedrive, or Attio. Start from this prompt and swap the CRM in the workflow editor.

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.