morgenruf.dev

Getting Started

Add Morgenruf to your Slack workspace and run your first standup in minutes.

Hosted Version (Easiest)

The fastest way to get started is with the hosted version β€” nothing to install, nothing to configure beyond a few DM commands.

  1. Add Morgenruf to Slack

    Click the button below to start the Slack OAuth flow. You'll be asked to authorize Morgenruf to send messages and read channel info.

    Add to Slack
  2. Authorize the app

    Slack will show you an OAuth permission screen listing what Morgenruf needs. Review the scopes and click Allow. You'll be redirected back to Slack.

  3. Welcome DM arrives

    Within a few seconds, Morgenruf sends you a welcome DM and a welcome email (if RESEND_API_KEY is configured). Your next step is to configure the bot via the dashboard.

  4. Visit the dashboard to configure

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

  5. Invite the bot to your standup channel

    In the channel where you want summaries posted, run:

    /invite @Morgenruf
    slack
ℹ️

Only the person who installs Morgenruf needs to go through the OAuth flow. Other team members are added via the dashboard's Members section.

What Happens Next

After installation and dashboard configuration, Morgenruf runs on autopilot:

  • At the configured time, each participant receives a standup DM with your questions
  • If a reminder is configured, a heads-up DM goes out N minutes before standup time
  • Once responses are collected, a summary is posted to your standup channel
  • Participation analytics are tracked in the dashboard's Analytics tab

See the Configuration page for everything you can configure in the dashboard.

Invite Morgenruf to Your Channel

To let Morgenruf post standup summaries in a channel, invite it there:

/invite @Morgenruf
slack

Run this inside the channel you selected in the dashboard as your standup channel. The bot needs to be a member of the channel to post the daily summary.

Your First Standup

Standups run automatically at the configured time. To trigger one immediately for testing, DM the bot:

standup
slack dm

Morgenruf will walk you through four questions, one at a time:

M
Morgenruf 9:00 AM
πŸŒ… Time for your standup!

What did you work on yesterday?
Y
You9:01 AM
Finished the auth refactor and reviewed two PRs.
M
Morgenruf9:01 AM
Got it! What are you working on today?
Y
You9:02 AM
Writing tests for the new API endpoints.
M
Morgenruf9:02 AM
Any blockers or anything the team should know?
Y
You9:02 AM
Nope, all good.
M
Morgenruf9:02 AM
Last one β€” how are you feeling today? 😊 😐 πŸ˜”
Y
You9:03 AM
😊
M
Morgenruf9:03 AM
βœ… All done! Your standup has been recorded and will appear in #standup.
πŸ’‘

The mood question (😊/😐/πŸ˜”) is tracked in the Analytics tab. The edit window (configurable in the dashboard) lets users update their answers after submitting.

Turn On the Rest

Standups are on from the start. The other modules are a switch away in the dashboard, and two of them use Slack scopes you may not have granted yet.

Kudos

On by default. Anyone can DM the bot kudos @teammate nice work on the deploy, or use /kudos. Each person gets a daily allowance that resets at midnight in their own timezone.

Using the Morgenruf icon as your kudos token. The dashboard always shows it. To make Slack show it too:

  1. Download the icon

    In the dashboard, open Kudos and find The token your team gives. Click the download link.

  2. Add it to Slack

    In Slack, go to Customize workspace › Add custom emoji, upload the file, and name it morgenruf.

  3. Point the token at it

    Back in the dashboard, leave the token field as :morgenruf: and save.

⚠️

Do the Slack import before saving the token. Until that emoji exists in your workspace, Slack renders :morgenruf: as literal text in every kudos message. If you would rather not import it, set the field to any plain emoji instead.

Coffee chats

Off until you turn it on, because it needs Slack scopes the standup app does not: mpim:write, mpim:history and users.profile:read. If you installed Morgenruf before these existed, reinstall from the dashboard to grant them β€” the module stays dark rather than failing halfway through a round.

Then pick a channel and a cadence. Everyone in it gets paired and introduced in a group DM; when the count is odd, one group of three forms so nobody sits out. Three days later the bot nudges pairs who have not met, and on day six it asks whether they did. That answer is what the attendance view on the Coffee chats page is built from.

Celebrations

Off until a workspace admin turns it on. Birthdays and work anniversaries come from each person's member profile, which people fill in with /morgenruf profile and admins can import from a CSV. On the Celebrations page, pick a channel and a timezone, save, invite @Morgenruf to the channel, then click Turn on celebrations.

The πŸŽ‰ the bot adds to each post needs reactions:write. It is optional: without it the posts still go out, and a workspace that installed before the scope existed gets the reaction after an admin re-authorises Slack. See Celebrations.

Prefer to Self-Host?

If you'd rather run Morgenruf on your own infrastructure, check out the dedicated guides: