Who is out this week: Monday Slack digest from Workday
Every Monday morning your team channel gets a clean rundown of who is off each day this week, plus any company holidays.
Every Monday at 8am, post a "who is out this week" digest to our team Slack channel, built from Workday absence data. Use my workspace timezone both for the 8am schedule and for working out which Monday-to-Sunday window counts as the current week.
Start by getting the roster of workers from Workday with Absence - List Workers. If I give you a specific supervisory organization to scope the digest to, use Common - List Supervisory Organizations Workers instead so the digest only covers that one team. Page through the full collection with limit and offset, since these collections return 20 records per page by default and cap at 100.
For each worker on the roster, call Absence - List Workers Time Off Details and keep only the time off entries falling inside the next seven days. Filter strictly to entries whose status is Approved. This one matters: pending, submitted, or sent-back requests must never reach the channel, because time off nobody has approved yet is not public information, and that leak is the main thing teams complain about with digests like this. Workday exposes the valid statuses through Absence - List Time Off Status Values, where Approved is the instance with id 0391102bd1b542538d996936c8fa2fa7. Drop every worker with no approved time off in the window so the message stays short.
Also call Holiday - List Holiday Events and pick up any company holidays landing in the same seven day window, so they show up in the digest alongside individual absences rather than in a separate message.
Format the digest grouped by day, Monday through Friday, with a heading for each day that has something on it. Under each day, list each person's name, their absence type (vacation, sick, parental leave, and so on), and whether they are out for a full day or a partial day. Put company holidays on their own line under the day they fall on. Skip days with nothing on them rather than printing an empty heading. Someone off for several days should appear under each day they are away. Write the message in Slack mrkdwn, so single asterisks for bold rather than double.
Post the finished digest with Slack's Send a Message to the channel I nominate. Use the Slack Bot integration so the digest posts under a stable bot identity instead of one person's account and keeps working if that person leaves; use the user-token Slack integration only if I specifically want it to look like I posted it. If nobody has approved time off in the window and there are no holidays, post a single line saying the team is fully in this week instead of an empty digest.
Keep concurrency low while looping over workers, since Workday throughput is governed by tenant-level API limits, and back off and retry if it returns a 429 or 503.
Example output
What does this prompt do?
- Posts a 'who is out this week' summary to your team Slack channel every Monday morning, built from time off already booked in Workday
- Groups the week Monday through Friday, showing each person's name, their type of leave, and whether they are off for the full day or part of it
- Only shows time off that has actually been approved, so requests still waiting on a manager never leak into a public channel
- Folds company holidays into the same message, and posts a single line saying the team is fully in when nobody is off
What do I need to use this?
- A Workday account with permission to see worker time off and the company holiday calendar
- A Slack workspace and the channel you want the digest posted in
- Optionally, the name of the team or department you want the digest limited to
How can I customize it?
- Change when it runs: Monday at 8am is the default, but a Friday afternoon send works well for teams that plan the week ahead on Friday, and you can switch it to a daily 'who is out today' note instead
- Pick the audience: post to one team channel, or scope the roster to a single department or reporting line so people only see their own team
- Choose what shows up: hide specific types of leave, drop company holidays, or include or exclude weekend days
FAQs
Will time off that is still waiting for approval show up?
Can I limit the digest to just my team instead of the whole company?
What gets posted when nobody is off that week?
Does it say whether someone is off for the whole day or only part of it?
Are company holidays included?
Related templates
When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.
Stop pinging people who are on holiday.
Start every week with one Slack message showing exactly who is off, which days, and why.