Turn closed-won HubSpot deals into weekly Guru playbook cards
Every Friday afternoon, turn last week's closed-won HubSpot deals into structured Guru sales playbook cards and ask each owner to verify their story in Slack.
Build a weekly agent workflow that captures the win story from every HubSpot deal that closed-won in the last 7 days and turns each one into a verified Guru sales playbook card.
Trigger: cron, every Friday at 3pm ET.
On each run, the agent should:
1. Call HubSpot Search Deals with a filter for dealstage equal to 'closedwon' and hs_lastmodifieddate (or closedate) within the last 7 days. Request the properties dealname, amount, hubspot_owner_id, closedate, and pipeline. Use associations to also pull the primary associated company id and the associated note ids.
2. For each returned deal: call HubSpot Get Owner to get the owner's email and full name, HubSpot Get Company on the associated company id to get the company name and domain, and HubSpot Get Note (or List Notes filtered to the deal's note ids) to pull the body of each engagement note attached to the deal. Read the note bodies and assemble the qualitative narrative of how the deal was actually won.
3. Call Guru List Collections once at the start of the run to resolve the 'Win Stories' collection id (collection name should be configurable; default to 'Win Stories').
4. For each deal, call Guru Create Card in the Win Stories collection. Title the card as '<Company name> — $<amount> closed-won (<close date>)'. The card content should be HTML with five sections, each as an h2: Pain, Champion, Objections handled, Decisive moment, Tools and competitors mentioned. Synthesize each section's body from the engagement notes; if a section can't be inferred, leave a one-line placeholder asking the verifier to fill it in. Set verificationInterval to 90 days. Set the deal owner as the card's verifier (look the owner up in Guru by their HubSpot email). Set shareStatus to TEAM. Tag the card with the HubSpot deal id (in the body or as a tag) so a re-run can detect and skip deals that already have a card.
5. DM each deal owner in Slack with a link to their draft card. Use Slack Bot Open a Conversation with the owner's email (resolve the Slack user via users.lookupByEmail using the owner's HubSpot email), then Slack Bot Send a Message with a short note like: 'Hey — I drafted a Win Story card from your {Company} deal. Take 30 seconds to verify or correct it: {Guru card link}'. If an owner has multiple closed-won deals, batch all of that owner's card links into a single DM rather than spamming.
Edge cases: if zero deals match, exit silently and do not DM anyone. If an owner can't be resolved in Slack by email, skip the DM for that owner but still create the card. If a Guru card already exists for a given deal id (idempotency check before Create Card), skip it.
Configurable inputs: cron schedule, lookback window in days, Guru collection name, Slack message copy, and verification interval in days.
Additional information
What does this prompt do?
- Pulls every HubSpot deal that closed-won in the last 7 days, with the owner, amount, company, and engagement notes.
- Drafts a Guru sales playbook card per deal using a Pain, Champion, Objections handled, Decisive moment, Tools and competitors framework.
- Files each card in your Win Stories collection, assigns the deal owner as the verifier, and sets a 90-day refresh interval so the playbook never goes stale silently.
- DMs each owner in Slack with a link to their draft card so they can verify or correct it in one click.
What do I need to use this?
- A HubSpot account with deals and a working closed-won stage.
- A Guru workspace with a collection you want to use for win stories.
- A Slack workspace where the bot can DM your sales team.
- Decent engagement notes on your deals (the story is only as good as what your reps captured).
How can I customize it?
- Change the run time, day of week, or lookback window (for example, fortnightly instead of weekly).
- Point the cards at a different Guru collection or rename the five-part card framework to match how your team talks about deals.
- Adjust the 90-day verification interval, or send the DM in a sales-enablement channel instead of a direct message.
Frequently asked questions
How does it know how the deal was actually won?
What if no deals closed last week?
Will it overwrite a card I already verified or edited?
Do I have to use a collection called Win Stories?
Can I run this for closed-lost deals too?
Related templates
Stop letting win stories die in HubSpot notes.
Connect HubSpot, Guru, and Slack once, and Geni captures last week's wins every Friday afternoon so the next rep can run the same play.