Quick Overview
This workflow triggers when a TeamRetro standup is completed, uses OpenAI to generate a concise digest, posts a summary plus per-person details to Slack, and escalates long-running blockers to a separate lead channel.
How it works
- Triggers on the TeamRetro standup.completed event and deduplicates runs using the deliveryId so retried webhook deliveries don’t post twice.
- Stops the workflow if the standup contains no participant updates.
- Formats all updates into Slack-ready text, extracts blockers based on a configurable topic match, and flags “stale” blockers based on how many standups they have carried forward.
- Sends the standup transcript to OpenAI (GPT-5 Mini) to generate a headline, up to three highlights, and up to three watch-outs.
- Posts the digest message to the configured Slack team channel and replies in the same thread with everyone’s full updates.
- If any stale blockers are found, posts an escalation message to the configured Slack lead channel.
Setup
- In TeamRetro, enable the Standup Completed webhook, paste the n8n production webhook URL, and set the signing secret in the TeamRetro trigger node.
- Add Slack credentials with permission to post messages, and set the team and lead Slack channels in the workflow settings.
- Add an OpenAI API credential for the Chat model used by the summarization step.
- Adjust the workflow’s settings values (teamChannel, leadChannel, staleAfter, and blockerTopic) to match your Slack channels and how your standup identifies blockers.