Summarize multi-channel Slack standups with OpenAI and post and escalate digests

Go to Workflow
0 views
Built by Thomas Abraham Thomas Abraham
Created on August 19, 2026

Description

Quick Overview
This workflow runs every weekday morning, pulls the last 24 hours of messages from a Slack standup channel, uses OpenAI to format them into Shipped/Blockers/Next Up sections, and posts the digest to a designated Slack digest channel.

How it works
Runs on a weekday cron schedule (09:00, Monday to Friday).
Reads message history from the specified Slack standup channel.
Combines the retrieved Slack messages into a single attributed text block and tracks the message count.
Sends the combined text to OpenAI (GPT-4o-mini) to produce a standup digest with exactly three sections: Shipped, Blockers, and Next Up.
Posts the generated digest text to the configured Slack digest channel.

Setup
Add a Slack credential connection with permission to read channel history and post messages.
Replace REPLACE_WITH_SOURCE_CHANNEL_ID with your standup/source Slack channel ID.
Replace REPLACE_WITH_DIGEST_CHANNEL_ID with your destination Slack digest channel ID.
Add an OpenAI credential connection for the Chat Model used by the summarization step.
Adjust the cron expression in the schedule trigger if you want the digest to run at a different time or on different days.

Nodes Used (4)

Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
Code
n8n-nodes-base.code
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Slack
n8n-nodes-base.slack