PTO tracking in Slack

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.

1RequestPrivate chat
/pto request

Request PTO

Leave type

Vacation

Start date

Nov 9

End date

Nov 13

Note

Sam is covering support

Submit
2ApproveManager's chat

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

ApproveDenyOpen in Cabana
3Everyone knows#general

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.

  1. 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.
  2. 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.
  3. 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 clickWhat happens
/pto or /pto balanceShows your current-year balances by leave type, including pending days.
/pto requestOpens Request PTO inside Slack.
/pto whosoutShows who's on approved time off today.
/pto helpShows Cabana commands and the available commands.
/cabana request, /cabana balance, /cabana whosout, /cabana helpPerforms 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 outAccepted aliases for today's who's-out list.
Apps β†’ Cabana β†’ HomeShows Your balances and Upcoming time off, including requests marked pending.
Request time off on HomeOpens the request form.
Submit / Cancel in the formSubmits the request / closes the form.
Approve / Deny in the manager's DMRecords the assigned approver's decision.
Open in Cabana in that DMOpens the request in the web app.
Open dashboard on HomeOpens your Cabana web dashboard.
/invite @Cabana in a public channelAdds 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.

  1. Connect the workspace. In Cabana, open Settings β†’ Integrations and select Connect for Slack.
  2. Authorize Cabana. Complete Slack's authorization screen using an account allowed to install apps in the workspace.
  3. Sync your people. Return to integrations and select Sync Now. Email matching links existing employee records to their Slack accounts.
  4. Invite the bot. Run /invite @Cabana in the public channel that should receive availability updates.
  5. Choose announcements. Select that channel, enable Monday digest, Out today, or both, and select Save. Test /pto balance and /pto request with 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 testCabanaHR suite with a notification-only Slack integration
Submit a requestSlack formHR portal
Approve or denyButtons in the Slack DMNotification links to the HR portal
Check your balancePrivate command reply or Home tabHR portal
See availabilityCommand plus scheduled channel postsDepends on the integration's announcements
Separate login during the everyday workflowRequests and decisions happen in Slack after setupPortal authentication may be required
What employees need to adoptCommands or the Home request buttonPortal workflow as well as Slack notifications
Policy administration and reportsCabana web appHR 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.

Start your 30-day free trial.

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.