Kelasa

Slack Workflow Builder Birthday Reminders: A Practical Setup

Set up a scheduled birthday-check prompt in Slack Workflow Builder, verify delivery, and understand why a recurring message is not a birthday roster.

By Kelasa team ·

Slack Workflow Builder can send a scheduled birthday-check message to a channel. It does not, by itself, look up whose birthday is today in a private roster and write a personalized greeting. For a small team, the useful native workflow is a recurring prompt to a coordinator, who then checks consent and posts any agreed greeting. Slack documents both a scheduled-message template and an on-schedule trigger; the steps below use the template.[1][2]

What you need before starting

Workflow Builder is available on Slack's paid plans, and workspace administrators can restrict who may create workflows.[2][3] Choose a private coordinator channel, assign an owner and backup, and keep the actual birthday list somewhere access-controlled. Ask each person separately whether they want a private reminder or a public greeting; do not put their birth date in a broadly visible workflow message just because a coordinator has it.

If your workspace does not offer Workflow Builder, see our birthday reminders without a bot for a personal reminder or private calendar alternative. A generic weekly check-in may be enough for a very small roster; a daily check-in reduces the chance of overlooking a date between reviews.

Set up the scheduled message template

Slack's scheduled-message template instructions document this path.[1] Menu labels can vary with workspace configuration, so confirm the controls you see:

  1. On desktop, open Agents & tools → Workflows → Templates, then select Send a scheduled message. If your sidebar has a different label, use Slack's workflow area or ask an administrator about access.
  2. Edit the first schedule control. Pick the start date, time, and a frequency actually offered in your workspace, then save. A daily workday check is an editorial example, not a claim that every frequency selector has a particular option. Inspect the displayed schedule and time zone before publishing.
  3. Edit the second control. Select the private coordinator channel and enter a non-sensitive prompt such as: “Check our restricted, opted-in birthday list for today's date. If a public greeting was requested, prepare one and note when it is sent.” Save.
  4. Select Finish Up, name the workflow something recognizable such as “Birthday roster check,” optionally add a backup workflow manager, review access permissions, and publish. Slack's template guide describes these controls.[1][2]

This design sends the same prompt on a schedule. It does not insert a person's name, calculate the next birthday, enforce an opt-out, or prevent two people from posting. The coordinator still needs a current roster and a way to mark a celebration as handled.

Verify the workflow before relying on it

Use a private test channel and a near-term test schedule if your workspace permits it. Confirm the message appears at the intended local time, check the workflow's schedule, and make sure a backup manager can find the workflow. These are recommended tests; Kelasa has not run them in a Slack workspace for this article. Do not put a real person's birthday in the test message.

If a message does not arrive, Slack documents Workflows → Managed by you → three-dot menu → View activity log for workflow managers. Recent entries can be filtered by status and inspected for errors; Slack says the activity view covers the last 90 days.[4] Verify the channel and permissions as well as the trigger. When changing a published workflow, save and publish the edits so the new version is available.[5]

Can Workflow Builder announce each birthday automatically?

A scheduled message knows when to send its fixed text, not which person has a birthday. Slack's template documentation asks for a schedule, channel, and message; it does not describe an automatic lookup against an employee birthday list.[1] Slack also offers workflows that start from an external webhook, but that requires another system to maintain dates and send the event; it is not a native roster hidden inside the scheduled template.[2][6]

Do not assume a yearly cadence is available for your exact workflow without checking its frequency picker. Even if you can schedule a message for a particular date, you would still have to manage consent, changed dates, leavers, February 29, and duplicate announcements. For the annual-reminder distinction, read our recurring birthday reminder guide. For a custom date-aware system, our birthday-message automation guide sketches a daily roster check and its failure cases.

When to use an app instead

If a recurring coordinator prompt is enough, keep it simple. If you want a date-aware daily celebration digest rather than a person manually checking the roster, explore Kelasa BirthdayBot's overview and compare its current channel, schedule, and workspace-time-zone setup with your team's needs. The overview is not a promise that Workflow Builder imports birthdays, or that Slack profiles automatically supply dates.

Sources and editorial limits

Instructions are grounded in Slack's published documentation, not hands-on workflow tests. No original Slack screenshots or confirmed annual scheduling are presented. Check your own plan, controls, time zone, and delivery before using real employee information.