Slack PTO tracker for requests, approvals, and who's out
Request time off, approve it, and see who's away without leaving Slack. Employees get a request form and private balance replies, managers get decision buttons in a DM, and your team channel gets a daily who's-out post.
$4 per user per month Β· No credit card
Request time off with /pto request. Approve from a DM. Keep the team posted every morning.
Request PTO
Leave type
Vacation
Start date
Nov 9
End date
Nov 13
Note
Sam is covering support
Cabana APP
New PTO request from Maya Patel
Employee
Maya Patel
Leave type
Vacation
Dates
Nov 9 to Nov 13
Days
5
Note
Sam is covering support
Cabana APP
π΄ Out today β Monday, Nov 9
- β’ Maya Patel
- β’ Chris Okafor
Posted each morning, plus a Monday digest of the week ahead. Names only β no notes or balances.
Start with the commands below, then connect your workspace in a few minutes. Admins manage policies and reports in Cabana's web app; the everyday request and approval workflow stays in Slack.
How time off works in SlackΒΆ
Keep requests, decisions, and team visibility in one workflow. Employees submit a form, the assigned approver gets the details, and approved time off becomes visible on the team calendar. Channel announcements then tell colleagues who's away on the relevant dates.
- Request. Type
/pto request, or open Cabana under Apps and choose Request time off on the Home tab. The Request PTO form asks for Leave type, Start date, End date, and Note. Leave the end date blank for a single day, then select Submit. - Approve. The manager receives New PTO request from [employee name] in a DM, with the employee, leave type, dates, day count, and any note. Choose Approve or Deny there. Open in Cabana opens the request in the web app.
- Announce. After final approval, the employee receives a decision message and appears on the team calendar. With channel announcements enabled, their name appears in the relevant daily post or Monday digest. Those posts follow a schedule; approving a request doesn't immediately publish it to the channel.
Use the Note field for useful context such as a handoff, rather than making the manager search through an earlier conversation.
Slack PTO bot commands and actionsΒΆ
Give your team this reference on day one. /pto and /cabana accept the same arguments, so either command works throughout. Command replies are visible only to the employee who runs them, even when the command starts in a busy channel.
| What you type or click | What happens |
|---|---|
/pto or /pto balance | Shows your current-year balances by leave type, including pending days. |
/pto request | Opens Request PTO inside Slack. |
/pto whosout | Shows who's on approved time off today. |
/pto help | Shows Cabana commands and the available commands. |
/cabana request, /cabana balance, /cabana whosout, /cabana help | Performs the same action as the corresponding /pto command. Bare /cabana shows balances. |
/pto new, /pto balances, /pto ? | Accepted aliases for request, balance, and help. |
/pto who's out, /pto whos out, /pto whoisout, /pto who is out, /pto out | Accepted aliases for today's who's-out list. |
| Apps β Cabana β Home | Shows Your balances and Upcoming time off, including requests marked pending. |
| Request time off on Home | Opens the request form. |
| Submit / Cancel in the form | Submits the request / closes the form. |
| Approve / Deny in the manager's DM | Records the assigned approver's decision. |
| Open in Cabana in that DM | Opens the request in the web app. |
| Open dashboard on Home | Opens your Cabana web dashboard. |
/invite @Cabana in a public channel | Adds Cabana so that channel can appear in the announcement picker. |
An unrecognized command returns help. If someone types the wrong argument, they get the supported options instead of a dead end.
Approve PTO from Slack without losing the handoffΒΆ
Make the decision from the request DM while the details are in front of you. The message includes the day count and dates; once you act, its decision buttons are replaced by an approval or denial record naming the person who decided. The employee receives their outcome separately.
Deny records the reason βDenied from Slack.β To give an employee a specific explanation, open the request in Cabana and deny it there with your reason.
For approvals that need another step, your click completes your step and Cabana routes the next one. Time off reaches the team calendar after final approval, so a first manager's decision doesn't prematurely mark someone away.
Keep reporting lines current on Team. When the normal approver is on approved full-day leave, Cabana uses their chosen approval delegate or follows the management chain, then looks for an available admin. It checks already-pending requests every hour too. Half-day and hourly absences don't trigger away routing; if nobody is available, the request stays with the usual approver.
See how approver-away routing works for the coverage settings. Managers can also use one-click email approvals without signing in.
Use announcements for availability, DMs for decisionsΒΆ
Put announcements in the public channel your team already reads each morning. Turn on Out today for the daily names-only list, Monday digest for the working week's absences, or both. These updates help an office manager plan coverage without asking everyone to repeat their approved dates.
Choose the channel in Settings β Integrations, then select Save. You can filter announcements by department when you want one team's absences rather than the whole organization. Scheduled posts run in the morning using your organization's time zone and skip empty lists.
For an immediate check, use /pto whosout. For future planning, open Calendar in Cabana and filter approved leave by department or location. Pending requests can appear in your personal Upcoming time off section without appearing on the shared calendar.
Set up your Slack vacation tracker in five stepsΒΆ
Start with a Cabana admin and someone allowed to install Slack apps. The connection takes a few minutes once that access is ready. Follow this sequence so employee accounts are linked and the announcement channel is available before the first request arrives.
- Connect the workspace. In Cabana, open Settings β Integrations and select Connect for Slack.
- Authorize Cabana. Complete Slack's authorization screen using an account allowed to install apps in the workspace.
- Sync your people. Return to integrations and select Sync Now. Email matching links existing employee records to their Slack accounts.
- Invite the bot. Run
/invite @Cabanain the public channel that should receive availability updates. - Choose announcements. Select that channel, enable Monday digest, Out today, or both, and select Save. Test
/pto balanceand/pto requestwith a linked employee.
The permissions support commands, message delivery, member and email matching, and channel selection. The full walkthrough is How to connect Cabana to Slack.
Choose native actions when evaluating Slack leave managementΒΆ
Evaluate a time off Slack app by asking someone to submit and decide a real request. A notification is useful, but the next click determines whether the workflow stays in Slack. Use this table for a notification-only integration; interactive HR-suite integrations vary and deserve the same test.
| Workflow test | Cabana | HR suite with a notification-only Slack integration |
|---|---|---|
| Submit a request | Slack form | HR portal |
| Approve or deny | Buttons in the Slack DM | Notification links to the HR portal |
| Check your balance | Private command reply or Home tab | HR portal |
| See availability | Command plus scheduled channel posts | Depends on the integration's announcements |
| Separate login during the everyday workflow | Requests and decisions happen in Slack after setup | Portal authentication may be required |
| What employees need to adopt | Commands or the Home request button | Portal workflow as well as Slack notifications |
| Policy administration and reports | Cabana web app | HR portal |
Compare the full workflow in How to track vacation time in Slack, Cabana vs. Vacation Tracker vs. Flamingo, and Best PTO trackers for small teams.
Put your PTO process in CabanaΒΆ
Choose Cabana when your small team wants requests and decisions where conversations already happen. Its PTO tracking software for small teams connects that daily workflow to accruals, carryover, leave types, and reporting.
Cabana costs $4 per user per month, with a $20/month minimum. One plan includes a 30-day free trial with no credit card. A 20-person team pays $80/month. Microsoft 365 teams can choose the complete PTO tracking in Microsoft Teams workflow.
Frequently asked questions
Is there a free PTO tracker for Slack?
Yes, some apps offer free plans; Cabana offers a free trial rather than a permanent free tier. You can try Cabana for 30 days without a credit card. Afterward, it costs $4 per user per month with a $20/month minimum. Compare free-plan limits against the workflow your team needs.
How do I request time off in Slack?
Type `/pto request` to open Cabana's **Request PTO** form. Choose a leave type, enter your start date, optionally add an end date and note, then select **Submit**. You can also select **Request time off** on Cabana's Home tab. The request goes through your configured approval process.
Can managers approve PTO from Slack?
Yes. The assigned manager can select **Approve** or **Deny** directly in Cabana's request DM. The message contains the employee, leave type, dates, day count, and any note. After the decision, the buttons are replaced by a record naming the decision-maker. Additional approval steps still run when configured.
Can other people see my balance command?
No. Cabana's slash-command replies are private to the person running the command, including in a shared channel. `/pto balance` reports your current-year figures by leave type and accounts for pending requests. Scheduled channel announcements are separate posts that tell the team who's away; they don't publish everyone's remaining balances.
What if my account isn't linked?
Ask your Cabana admin to re-run **Sync Now** in **Settings β Integrations** and confirm your Slack and Cabana email addresses match. An email mismatch commonly prevents an existing employee record from linking. Cabana's command response tells you the account isn't linked, so you can fix the connection before submitting a request.
What happens when my approver is out?
Cabana routes around approved full-day leave using an available approval delegate, the reporting line, or an admin. Existing pending requests are checked every hour as well. Half-day and hourly leave don't count as an all-day absence. If nobody else is available, the request remains assigned to the usual approver.
Does approved time off appear in Google Calendar or Outlook?
Yes, through Cabana's private, read-only calendar feed. Copy the feed URL from **Settings β Integrations** and subscribe in Google Calendar or Outlook. Approved leave appears as all-day events. This is a subscription, not two-way sync: edits and requests belong in Cabana, and your calendar app controls when it refreshes.
Can I request a half day in Slack?
Use Cabana's web request form for a half day. The current Slack form contains leave type, start date, end date, and note; it doesn't include an AM or PM selector. You can still use Slack to check your balance and receive the decision on a request submitted through the web app. For the full PTO tracking in Slack workflow, keep the command reference above handy when onboarding your team.
Related
The workflow, step by step.
Cabana vs. Vacation Tracker vs. Flamingo βThe three Slack-native options, head to head.
Best PTO trackers for small teams βSix tools compared in detail.
PTO tracking software for small teams βWhat to look for, and how Cabana handles it.
Time off request email templates βTwelve situations, with Slack and Teams versions.