Slack PTO Tracker: How to Set It Up
Set up a Slack PTO tracker so your team can request and approve time off without leaving Slack: install, bot commands and requirements.
Your team already lives in Slack. So when someone wants to book time off, why are they logging into a separate HR portal, digging for the right form, and then pinging their manager to say "hey, can you approve that"? A Slack PTO tracker collapses all of that into one place: request, approve, done, without anyone leaving the chat window.
This guide walks through how to set one up, what actually happens when a request flows through Slack, and what you need to connect it.
How do you set up a PTO tracker in Slack?
Set up a Slack PTO tracker by connecting your Slack workspace to a leave-management tool, then letting it match your Slack users to employees by email. In TimeLeaf, that means signing up, adding your team (or syncing your directory), and authorizing the Slack integration. Most teams are live in under 30 minutes.
The steps look like this:
Create your account and add your people
Import employees via CSV or sync your directory (Azure AD / Entra ID or Google Workspace) so roles, teams, and managers come across automatically.
Set your leave types and policies
Define vacation, sick, personal, parental, unpaid, whatever your business uses, with the allowance, accrual, and carryover rules that fit each group.
Connect Slack
Authorize the integration. TimeLeaf matches Slack users to employees by their email address, so the right manager gets the right request.
Pick your daily digest time and channel
Off by default, but most teams turn it on.
The Slack integration is on every plan, including Starter ($50/month, 10 employees included).
Requesting time off without leaving Slack
When an employee wants to book time off, they fire off a request and pick a leave type, dates, and whether it's a full or half day. The request goes out for approval immediately. They get a confirmation message back, and they never opened a separate app.
A few things worth knowing about how requests behave:
- Single day, multi-day, or half-day are all supported (half-day if you've enabled it on the policy).
- Every request starts as Pending and moves to Approved, Declined, or Cancelled from there.
- Booking a request does not touch the balance yet. More on why that matters below.
This is the same flow whether your team calls it PTO, time off, annual leave, or booking a holiday. The wording on the leave types is yours to define, so a US team and a UK team can each see the language they expect.
How does a manager approve a request in Slack?
A manager approves a request straight from an interactive DM. TimeLeaf sends the approver a direct message with Approve and Decline buttons. One click resolves it, the employee gets a confirmation, and the balance updates. No portal login, no email thread.
Routing follows whatever approval workflow you've configured for that leave type:
- Direct manager is the default, and it goes up the fallback chain to an admin if an employee has no manager assigned.
- Multi-level adds a second step above a day threshold. That's useful when a two-day request is fine for a manager but a three-week sabbatical needs another sign-off. It comes with the Professional plan.
- Named approver lets a specific person own a specific leave type. It comes with Business and up.
- Auto-approve clears low-stakes types without anyone lifting a finger.
If an approver goes quiet, you can have TimeLeaf tell the next approver up the chain after a number of hours you set (off until you set it). Going on leave yourself? Approval delegation hands your queue to someone else for a date range. Single-level approval is the baseline on Starter.
What about half-days, sick days, and other leave types?
Yes. Half-days, sick days, and any leave type you define all flow through the same Slack request-and-approve loop. You set up the leave types in TimeLeaf (vacation, sick, personal, parental, unpaid, bereavement, jury duty, or your own), and each one carries its own rules and approval route.
Per-policy rulesets let you handle the real-world messiness:
- Required documentation on a leave type (say, a doctor's note for extended sick leave).
- Advance-notice minimums so nobody books a "week off starting tomorrow."
- Working-days and public-holiday calendars so a request over a bank holiday counts correctly.
- Blackout periods for your peak weeks. A request during a blackout window isn't hard-blocked. It's flagged, and the manager is notified to decide. The same goes for overlapping requests: they're surfaced for a human to weigh, never silently rejected.
For the full walkthrough on configuring these, see how to set up leave policies.
Leave types, half days and accruals are covered on the leave management page.
Pending requests reserve days: why that matters
In TimeLeaf, a pending request reserves its days from the moment it is sent, and they count as used once it is approved. That keeps your available-days numbers honest: a request that later gets declined or cancelled releases its days automatically.
Why this matters in practice: the number an employee sees already accounts for requests waiting on a decision, and a declined or cancelled request releases its days without a manual correction. It's a small design choice that saves you a recurring cleanup chore.
Daily digest: who's off today
The daily digest is off by default; turn it on and it's a scheduled Slack message, posted at 8:00 AM by default, that shows who's off today so your team starts the day knowing who to expect — by name, never the leave type. No one has to open a calendar or ask around.
It posts to whichever channel you point it at (invite the TimeLeaf app to it first). Under the hood it's the same data feeding your shared team calendar, which syncs to Outlook, and each employee can also subscribe individually to a private calendar feed link in their own calendar app.
The who's off today guide shows the digest step by step.
Slack PTO tracker vs a spreadsheet: what breaks as you grow
A spreadsheet works for a team of five with simple rules. It breaks as you scale because it can't notify the right approver, can't track accrued balances without manual math, and can't tell you who's off without someone maintaining it by hand.
Here's where the cracks show as your headcount climbs:
- No routing. A spreadsheet can't DM a manager for approval or escalate a stalled request.
- Manual balance math. Accruals, carryover caps, and pro-rated allowances all become someone's recurring chore, and chores get errors.
- No visibility. "Who's off Thursday?" turns into a Slack archaeology session instead of an 8 AM digest.
- No guardrails. Blackout periods, advance-notice rules, and overlap warnings simply don't exist in a grid of cells.
We dug into the full spreadsheet-to-tool tipping point in PTO tracking for a growing business.
Connecting Slack: what you need
To connect Slack you need a TimeLeaf account (any plan, including Starter), a Slack workspace, and employee email addresses that match their Slack accounts. The integration uses email to map Slack users to the right employee, manager, and approval route.
What you get once it's connected:
- Interactive approve/decline DMs to managers.
- Confirmation messages to employees on every status change.
- A daily digest of who's off, opt-in, posted to whichever channel you pick.
Time tracking, calendar sync, and directory sync are Professional-tier features. Starter already covers leave, the team calendar, email and Slack notifications, blackout periods, and CSV export. Every plan includes a 14-day free trial (no credit card required), and most teams have Slack wired up and their first request approved inside the trial.
Ready to put PTO requests where your team already works? Start a free trial, or skim the pricing page to compare what each plan includes.
Ready to simplify leave management?
Start your 14-day free trial. Set up your team in under 30 minutes.
Start Free Trial