morgenruf.dev

Welcome to Morgenruf

Open-source async standup bot for Slack. Free, lightweight, and self-hostable.

What is Morgenruf?

Morgenruf is an open-source Slack app for the rituals a distributed team runs on. It started as async standups: it DMs each team member with your configured questions, collects their responses, and posts a clean summary to your designated channel, all at a time you choose. It now also runs random coffee chats, peer recognition, birthday and work anniversary celebrations, and the insights that need more than one of those signals at once.

The name comes from German: Morgenruf means "morning call." Configure everything via the web dashboard, then sit back β€” the bot handles the rest. It's designed to be simple, respectful of everyone's time, and completely transparent: you can inspect, modify, and host every line of code yourself.

Key Features

  • Automated daily DMs with configurable standup questions (Yesterday / Today / Blockers / Mood πŸ˜ŠπŸ˜πŸ˜”)
  • Posts summaries to any channel, at any time, in any timezone
  • Configure everything via the web dashboard β€” channel, schedule, questions, members
  • Custom questions: add, remove, and reorder the question list from the dashboard
  • skip command β€” skip today's standup without bothering your admin
  • Per-user timezone override via timezone <tz> DM
  • Pre-standup reminder DM (configurable minutes before)
  • Participation analytics: 7-day / 30-day view per member, CSV export
  • Weekly digest email to workspace admin every Sunday (requires Resend API key)
  • App Home tab in Slack showing your standup history
  • HMAC-signed webhooks on standup.completed events
  • MCP integration β€” let Claude, Cursor, and GitHub Copilot query your standup data directly
  • Free hosted version β€” no credit card required
  • Open-source: self-host with Docker or Kubernetes / Helm
  • Lightweight & fast β€” runs on a single container

Modules

Five modules over one deployment and one database. Each owns its migrations, Slack handlers, dashboard pages and scheduled jobs, and any of them can be switched off without touching the rest.

  • Standups β€” the async daily standup above. On by default.
  • Coffee chats β€” random 1:1 pairings from a channel on a cadence, history-aware so the same two people are not matched twice running. Odd numbers form one group of three so nobody sits out. The bot nudges pairs who have not met and asks whether they did, and the dashboard splits the answer four ways: met, did not meet, no reply, and not delivered. Off until you grant the extra Slack scopes it needs.
  • Kudos β€” kudos @teammate nice work on the deploy, with a daily allowance that resets at midnight in each person's own timezone. Leaderboards for who is recognised and for who does the recognising. On by default.
  • Celebrations: birthdays and work anniversaries posted in a channel, around your working days and company holidays, with a πŸŽ‰ from the bot. Off until a workspace admin turns it on. See Celebrations.
  • Insights β€” the questions that need two signals: a blocker nobody has cleared in days, or someone who answers every standup and is thanked by nobody. On by default.

Alongside the modules, every member has a short member profile (birthday, start date, role, location, ask me about) that is part of the core and always on.

Quick Start

  1. Install from morgenruf.dev

    Click Add to Slack at morgenruf.dev to start the OAuth flow. You'll receive a welcome DM once installed.

  2. Configure via the dashboard

    Visit https://<your-api-domain>/dashboard to set your standup channel, schedule, timezone, questions, and team members.

  3. Bot DMs your team at the scheduled time

    At the configured time, Morgenruf DMs each participant with your standup questions. Responses are collected and posted as a summary to the channel.

Add to Slack

The hosted version is completely free. Click below to add Morgenruf to your workspace instantly β€” no credit card, no setup required.

Add to Slack β€” it's free