Create blameless win/loss retro prompts from closed-lost HubSpot deals with OpenAI and TeamRetro
UnknownUnknown. This template uses community nodes we can't verify statically. Uses community nodes that can't be verified statically (unverified community packages are off by default in 3.0). Static check, last run 2026-10-19.
Community nodes
These come from third-party npm packages. In n8n 3.0 unverified community packages are off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).
n8n-nodes-teamretro(Get Recent Parked Items, Park Discussion Prompt)
Nodes used (9)
- HubSpot Trigger
n8n-nodes-base.hubspotTrigger - If
n8n-nodes-base.if - HubSpot
n8n-nodes-base.hubspot - Edit Fields (Set)
n8n-nodes-base.set - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Team Retro
n8n-nodes-teamretro.teamRetro - Code
n8n-nodes-base.code
What it does
Quick overview This workflow watches HubSpot deal stage changes, and when a deal is marked closed-lost it uses OpenAI to turn the loss details into blameless retro discussion prompts, dedupes them against recent TeamRetro parked items, parks new prompts in TeamRetro, and logs a “Queued” activity back to the deal. How it works 1. Triggers in HubSpot whenever a deal’s dealstage property changes. 2. Checks whether the new stage equals your closed-lost stage ID, then fetches the full deal record from HubSpot. 3. Extracts key fields (name, amount, loss reason, notes, URL) and skips deals below the configured minimum amount. 4. Sends the loss reason and notes to OpenAI (GPT-5 Mini) to generate up to two neutral, blameless discussion prompts and a parkable flag. 5. If parkable, pulls the last 30 days of TeamRetro parked items and deduplicates the new prompts by token overlap. 6. Creates new parked items in TeamRetro for non-duplicate prompts and writes a completed “Queued for win/loss retro” task to the HubSpot deal timeline with the prompts. Setup 1. Add HubSpot credentials for the trigger and a HubSpot private app token with deal read/write and engagement write permissions, then update the closed-lost stage ID used for filtering. 2. Add an OpenAI credential and ensure the selected model (gpt-5-mini) is available in your account. 3. Replace REPLACEWITHTEAMID with your TeamRetro team ID and confirm your plan supports the parking lot (parked items) feature.