Summary. Async standups stop happening because someone has to nag the team. An n8n workflow asks each person 3 questions in DMs at 9am, posts a clean digest in #team-standup at 9:30am, and costs $0 if you self-host or $20/mo on n8n cloud.
Tools needed: n8n (self-host on Railway or n8n Cloud), Slack workspace admin access, an OpenAI key for the digest summary, 12 minutes.
The problem
Geekbot and Standuply are great but each costs $3–$4/user/mo. For a 10-person team that is $40/mo for what is effectively 4 messages a day. n8n hits the same outcome with one workflow.
Step-by-step
- Spin up n8n on Railway ($5/mo) or sign up for n8n Cloud (free trial).
- Install the Slack node. Create a Slack app at api.slack.com/apps with
chat:write,im:write, andusers:readscopes. Install it to your workspace. - Build the workflow:
- Cron node at 9:00am Mon–Fri.
- HTTP Request node that reads team member IDs from a Notion or Airtable database (so you can edit the team without touching n8n).
- Loop node over each member.
- Slack node sends a DM: "Morning! 1) What did you ship yesterday? 2) What's on deck today? 3) Any blockers? Reply in this thread."
- Wait node until 9:30am.
- Slack node reads each thread's replies via
conversations.replies. - OpenAI node summarises into a digest.
- Slack node posts the digest to
#team-standup.
- Test by triggering the workflow manually with yourself as the only team member.
Expected outcome
Every weekday morning the team sees a single message in #team-standup with everyone's status. No one has to remember to write anything in a thread — the bot DMs them. Replies show up as a clean digest.
Gotchas
- People who genuinely have nothing to say will not reply. Add a "Ping again at 9:25" sub-flow before the digest runs.
- Self-hosting on Railway is fine for a small team but the database is in-memory — back it up weekly with the n8n CLI.
- Skip Slack's rate limit by batching the 9am DMs with a 1-second delay between each.
Time to set up: 12 min. Estimated savings: $30–$40/mo vs Geekbot for a 10-person team.