workflows.fit
Back to n8n workflows
n8n templateFreeBy Avkash Kakdiya

Summarize daily Slack standups with OpenAI, Notion, and Google Sheets

Quick overview This workflow runs every weekday, pulls standup messages from a Slack channel, uses OpenAI to generate a structured daily digest, saves the digest to a Notion database, posts a summary back to Slack, an...

Data & StorageProductivityCommunicationHITLDevelopmentCore NodesAILangchain
Loading interactive preview...

Template notes

Quick overview This workflow runs every weekday, pulls standup messages from a Slack channel, uses OpenAI to generate a structured daily digest, saves the digest to a Notion database, posts a summary back to Slack, and appends an audit entry to Google Sheets.

How it works 1. Runs every weekday morning on a cron schedule. 2. Fetches the day’s recent messages from a specified Slack standup channel and filters out bot, subtype, and join/leave system messages. 3. Checks whether any standup messages remain and posts a Slack notice if none are found. 4. Formats the remaining Slack updates into a single structured prompt with date, team name, and message count. 5. Sends the formatted standup text to OpenAI (gpt-4.1-mini) to generate a JSON digest with summary, highlights, blockers, per-user updates, and mood. 6. Parses and enriches the AI output with metadata, creates a new page in a Notion database, posts the digest to a Slack summary channel, and appends a run record to a Google Sheets “Audit Log” sheet.

Setup 1. Add a Slack OAuth2 credential and set the standup channel ID (history source) and the summary channel ID (digest destination). 2. Add an OpenAI credential and confirm the model selection (gpt-4.1-mini) is available in your account. 3. Add a Notion credential, create/select a target database, and replace YOURNOTIONDATABASEID (and ensure the database has the referenced properties: Date, Team, Message Count, Mood). 4. Add a Google Sheets Service Account credential, share the target spreadsheet with the service account email, and replace YOURSHEETID and the sheet name (“Audit Log”) if different. 5. Adjust the schedule cron expression (0 9 1-5) to match your team’s standup timing and timezone expectations.