Quick Overview
This workflow collects standup updates via a webhook, stores each submission in Google Sheets, then runs daily at 10 AM to summarize the day’s standups with Google Gemini and post the result (or a no-updates notice) to a Slack channel.
How it works
- Receives a POST webhook request containing standup fields (name, yesterday, today, blockers).
- Validates that all required fields are present, returning a 400 error response if anything is missing.
- Trims and formats the submitted values, adds a timestamp, and appends the standup entry to a Google Sheets worksheet before returning a 201 success response.
- Runs every day at 10 AM, reads all standup rows from Google Sheets, and keeps only entries submitted for the current date.
- If any standups exist for today, sends them to Google Gemini to generate a concise Slack-formatted team summary.
- Posts the generated summary to Slack, or posts a fallback message if no standups were submitted by the scheduled time.
Setup
- Create a Google Sheet with columns Timestamp, Name, Yesterday, Today, and Blockers, and connect a Google Sheets OAuth2 credential.
- Add a Google Gemini (PaLM) API credential for the AI summary step.
- Connect a Slack OAuth2 credential and set the target channel for both the summary and the no-standup notification.
- Copy the webhook URL for the standup submission endpoint and configure your standup form/tool to send POST requests with JSON body fields name, yesterday, today, and blockers.
- Adjust the schedule trigger time (currently 10 AM) and update the Google Sheet document/worksheet selection if you use a different file or tab.