Daily birthday and work anniversary shout-outs in Slack
Every weekday at 9am, pull your Rippling roster and post warm, personalized birthday and work anniversary shout-outs in your Slack celebrations channel.
Build me an agent-based workflow that celebrates birthdays and work anniversaries every weekday morning at 9am company time by posting shout-outs in a Slack channel.
Trigger: a cron schedule that runs Monday through Friday at 9am in the org's local time zone.
Step 1: Pull the active roster from Rippling using the List Workers operation. Pass expand=user,department so the response inlines each person's user profile (name, work email) and department. Filter to active workers only by passing filter=employment_status eq 'ACTIVE'. Page through results until there is no next cursor so no one gets missed at larger companies.
Step 2: For each worker, look at two dates. First, the birthday: check whether Rippling exposes a birthday field on the user or as a custom HR field. If a birthday exists and the month/day matches today's month/day (ignoring year), it's a birthday match. Second, the hire-date anniversary: check the worker's start date and match on today's month/day. Compute the tenure year (today's year minus start year) and flag it as a milestone if it is 1, 3, 5, 10, 15, 20, or 25.
Step 3: If Rippling does not expose a birthday field for this org at all, gracefully fall back to anniversaries only. Do not error, just skip the birthday branch. Also skip anyone whose employment status is not ACTIVE, even if they slipped through the filter.
Step 4: For each matched person, resolve their Slack user ID by calling Slack Bot's Look Up User by Email operation with the work email from Rippling. If the lookup fails (person not in Slack), post the message using their name in plain text instead of an @-mention rather than skipping them.
Step 5: Draft one warm, concise message per person. Name the person, their team (department from Rippling), and the reason for the shout-out. For birthdays, be celebratory. For anniversaries, mention the year count and call out milestone years with extra fanfare. If someone has both a birthday and a work anniversary on the same day, combine them into a single message. Exactly one message per person per day, never duplicates.
Step 6: Post each message to a configured Slack channel (default suggestion: #celebrations, but let me set it during setup) using Slack Bot's Send a Message operation. Tag the person using their resolved Slack user ID so the mention pings them.
Setup notes to document clearly: (a) birthday sourcing depends on whether the org uses Rippling's built-in birthday field or a custom HR object, so the setup guide should explain how to check and how to point the workflow at the right field; (b) the Slack channel name is a configurable input; (c) the bot must be a member of the target channel, or have chat:write.public, before it can post.
Keep the tone warm but concise, avoid corporate cliches, and vary the phrasing across people so it does not read like a template.
Additional information
What does this prompt do?
- Checks your Rippling roster each morning and finds anyone whose birthday or work anniversary lands today.
- Highlights milestone years like 1, 3, 5, and 10 so those anniversaries feel extra special.
- Drafts a warm, human-sounding Slack message for each person that names their team and the reason to celebrate.
- Posts one message per person in your chosen Slack channel and tags them so the whole team can pile on.
What do I need to use this?
- A Rippling admin account so we can read your active employee roster and start dates.
- A Slack workspace with a bot installed in the channel where you want the shout-outs posted.
- The name of the Slack channel you want to use, for example celebrations or team-fun.
- Optional: a birthday field set up in Rippling. If your org does not track birthdays, the workflow will celebrate anniversaries only.
How can I customize it?
- Change the schedule from weekday mornings to daily, weekly, or a different time zone.
- Point the messages at a different channel, or route them to a private HR channel first for review.
- Adjust the tone from warm and casual to formal, add emojis, or include a fun fact prompt.
- Pick which milestone anniversary years get extra fanfare, for example only celebrate 1, 5, and 10.
Frequently asked questions
What if my company does not store birthdays in Rippling?
Will it double-post if someone has a birthday and an anniversary on the same day?
Does it post about people who have left the company?
How does it know who to tag in Slack?
Can I change which channel it posts in?
Related templates
Never miss a birthday or work anniversary again.
Connect Rippling and Slack once, and Geni handles the shout-outs every weekday morning while you focus on the actual work.