Turn closed-won HubSpot deals into weekly Guru playbook cards

By General Input

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.

Integrations

  • Guru
  • HubSpot
  • Slack Bot

Type

Agentic Task

Categories

  • Sales

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.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account