Celebrate Punk
Installation Guide
Set up birthday celebrations, work anniversaries, and departure send-offs for your Slack workspace in minutes.
Prerequisites
Before installing Celebrate Punk, make sure you have the following ready.
You need an admin account on your HR Punks workspace to install apps and configure settings.
Slack requires workspace admin (or owner) privileges to authorize the OAuth consent screen during installation.
The bot posts celebrations to a channel you designate. Create one (e.g. #celebrations) or pick an existing public channel.
Installation
Three steps to get Celebrate Punk running in your Slack workspace.
Find Celebrate Punk in the App Catalog
Go to Settings → Apps in your HR Punks dashboard. Find the Celebrate Punk tile and click Install.
You need admin access to your HR Punks workspace. The Apps page lists all available add-ons.
Authorize in Slack
You’ll be redirected to Slack’s OAuth consent screen. Authorize HR Punks to access your workspace.
The bot requests permissions to post messages, read channel lists, and manage its Home tab. No message history access is requested.
Set your announcement channel
After authorization, you’ll land on the Celebrate Punk dashboard. Go to Settings and pick the Slack channel where celebrations will be posted.
This is the only required step. Nothing fires until a channel is selected. The bot must be a member of the channel you pick.
Initial Setup
Required first step: Select an announcement channel in Settings before anything else. Nothing fires until a channel is set.
Settings Tabs
Channel selection, celebration mode, weekend handling, opt-out policy, wish collection, auto-collect birthdays, and upcoming period.
Enable/disable anniversaries, milestone-only mode, and milestone year selection.
Enable/disable departure send-offs. Lists pending departures with Confirm and Skip actions. Two-step confirmation prevents accidental public farewells.
Searchable list of users who opted out of birthday or anniversary celebrations. Admins can toggle opt-outs per user.
Settings Reference
Every setting available in Celebrate Punk, grouped by tab.
The Slack channel where birthday and farewell celebrations are posted. The bot must be a member of this channel. This is the only required setting — nothing fires until it’s set.
Optional override for anniversary posts. If not set, anniversaries go to the same channel as birthdays.
Public posts celebrations to the announcement channel for everyone to see. Private sends a DM only to the person being celebrated.
When a birthday falls on Saturday or Sunday, this controls when the celebration posts instead.
When enabled, each user can opt out of public birthday and anniversary celebrations from the Celebrate Punk Home tab in Slack.
The bot DMs users who don’t have a birthday on file, asking them to add it. Runs automatically — no admin action needed.
Before each birthday, the bot prompts teammates to write a personal wish. All wishes are compiled and delivered to the birthday person as a single DM on their day.
How many days before the birthday the bot starts sending wish-collection reminders.
Controls who receives the wish-collection reminder DM.
Master switch for work anniversary celebrations. When off, no anniversary posts are sent and the anniversary section is hidden from the Slack Home tab.
When on, only milestone years (e.g. 1, 3, 5, 10) trigger a celebration post. Non-milestone years are skipped.
Which years count as milestones. The UI offers seven preset years (1, 3, 5, 10, 15, 20, 25). Only applies when ‘Milestone years only’ is on.
When a team member’s status changes to inactive (via HR sync or manual update), a pending farewell is created. An admin must confirm before the farewell posts to the announcement channel. The farewell is never automatic — admin approval is always required.
Controls how far ahead the Slack Home tab’s upcoming list and the /celebratepunk upcoming command look. The dashboard has its own adjustable window.
Slack Experience
Home Tab
The Celebrate Punk Home tab in Slack gives every user quick access to upcoming birthdays, their wishes, opt-out controls, and admin settings.
Slash Commands
Quick commands available to everyone in your workspace.
| Command | Description |
|---|---|
| /celebratepunk today | See today’s birthdays and anniversaries |
| /celebratepunk upcoming | See upcoming birthdays and anniversaries |
| /celebratepunk recent | See celebrations from the past 7 days |
| /celebratepunk anniversaries | Anniversary-only view |
| /celebratepunk help | Show the command reference |
Wish Collection
The bot collects personal wishes from teammates before each birthday.
A configurable number of days before the birthday, the bot DMs teammates asking them to write a personal wish.
Each teammate opens a modal, writes their message, and submits. They can edit or delete their wish anytime before the birthday.
On the birthday, all collected wishes are compiled and delivered to the birthday person as a single private DM.
Data Sources
Multiple ways to get birthday and hire date data into the system.
Users set their own birthday and hire date from the Celebrate Punk Home tab in Slack using "Set My Birthday" and "Set My Hire Date" buttons.
When enabled, the bot DMs users who don’t have a birthday on file, asking them to add it. No admin action needed.
Bulk import via Settings → Users → Upload CSV. Accepts columns: Name, Email, Birthday, Hire date, Team, and more.
Add individual users with birthday and hire date via Settings → Users → New User.
Automatic sync from Personio HR platform. Birthdays and hire dates pulled during each sync cycle.
Dashboard
The web dashboard gives admins a bird's-eye view of celebrations, upcoming events, and team engagement.
Today
Shows users with birthdays and anniversaries today. Four stat cards at top: Birthdays today, Anniversaries today, Next 30 days, Opt-outs.
Upcoming
Lists upcoming birthdays grouped by date. Adjustable window: 7, 14, 30, or 60 days. Respects weekend handling setting — if birthdays are shifted to Friday/Monday, they appear on the shifted date.
Anniversaries
Lists upcoming work anniversaries with a "Milestones only" checkbox and adjustable window (30, 60, 90 days). Each entry shows the user’s name, join year, and milestone badge.
Leaderboard (sidebar)
Side panel showing "Most celebrated" — users who received the most wishes. Updates daily at 01:00 UTC. Not a tab — always visible alongside the active tab.
Stat Cards
FAQ
Messages come from a curated library and are picked deterministically — the same person won’t see the same message repeated within 3 occurrences. There’s no per-tenant message customization by design, which keeps celebrations fresh and prevents brand-voice drift.

