Daily birthday and work anniversary cards in Slack from BambooHR

By General Input

Every weekday at 9am, pull today's birthdays and work anniversaries from BambooHR and post a personalized illustrated card to your celebrations channel.

Integrations

  • BambooHR
  • Generate Image
  • Slack

Type

Agentic Task

Categories

  • HR & People
  • Operations

Build an agent workflow that celebrates teammates' birthdays and work anniversaries every weekday at 9am ET. Use a cron trigger for the schedule.

Each run, call BambooHR's Request Custom Report with the fields firstName, lastName, preferredName, jobTitle, department, dateOfBirth, and hireDate to pull the full employee roster. Filter the results in the agent to employees whose dateOfBirth month and day match today (birthdays) or whose hireDate month and day match today (work anniversaries). For anniversaries, compute years of service from hireDate so the message can say 1-year, 3-year, 5-year, and so on. Prefer preferredName when it is set, otherwise use firstName.

For each match, draft a short, fresh, on-brand prompt that reflects the person's name, their department or job title, and the specific milestone (a birthday, or an N-year work anniversary). Then call Generate Image with that prompt at a 1:1 aspect ratio to produce a warm, illustrated celebration card. The image returns as base64 with a mimeType. Decode it and upload it to Slack using Slack's Upload a File operation, posting into the channel the user configures (default to a channel named #celebrations) with a short kickoff message such as "Today we're celebrating Jane's 3-year anniversary!" Post one Slack file per person. If multiple people share the same day, post a single kickoff message for the day and thread each person's card underneath it.

Before posting, de-duplicate against any celebrations the workflow already posted earlier today so nobody gets two cards. Skip anyone who appears on a configurable opt-out list (provided as a list of names). Vary the visual style across days (for example, watercolor on Monday, paper collage on Tuesday, retro poster on Wednesday, neon on Thursday, hand-drawn on Friday) so the cards never feel repetitive. If nobody is being celebrated today, finish the run without posting.

Expose these as workflow configuration: the Slack channel to post into, the opt-out list of names, an optional brand or tone description that the agent should fold into every prompt, and a toggle for whether to celebrate every anniversary or only milestone years (1, 3, 5, 10, 15, 20).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes