PTO tracker for Microsoft Teams, built for your daily work
Request time off in a private Teams chat, approve or deny from a card, and see who's away in your team channel. Employees check balances without opening a separate portal; admins manage policies and reports in Cabana's web app.
$4 per user per month · No credit card
Request in a private chat. Approve from a card. Keep the team posted every morning.
Request time off
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.
Cabana connects to your Microsoft 365 directory to link employees and keep requests attached to the right people.
How to track vacation in Teams¶
Use a private Cabana chat for requests and your team channel for shared availability. That gives employees a clear place to submit dates, managers a decision card, and colleagues a way to see approved absences without exposing personal balances to the channel. Here's the everyday workflow.
- Request in chat. Open Cabana and send
request, or choose Request time off on the welcome card. The form asks for Leave type, Start date, End date (optional — defaults to start date), and Note. Choose Submit when ready. - Decide from the card. The assigned approver receives New PTO request from [employee name] with the employee, leave type, dates, day count, and any note. Approve and Deny record the decision inside Teams. Open in Cabana opens the request in the web app.
- See who's away. Final approval puts the time off on Cabana's team calendar. Send
whosoutfor today's approved absences, or mention@Cabana whosoutin a channel where the bot is installed. Scheduled channel posts keep the team informed on the relevant dates.
The form becomes a submission confirmation. A decision message returns to the personal chat after review.
Teams commands and card actions¶
Share this reference with employees before their first request. Type commands as ordinary messages in the personal Cabana chat. In a channel, mention the bot first for shared commands. Requests and balances stay in private chat; asking for either in a channel gets instructions to open Cabana privately.
| What you type or click | What happens |
|---|---|
request in private chat | Opens Request time off. |
balance in private chat | Shows Your leave balances for the current year, by leave type. |
whosout in private chat | Shows Who's out today, or Everyone is in today! when nobody is away. |
help | Shows Cabana commands and supported options. |
new, balances, ? | Accepted aliases for request, balance, and help. |
who's out, whos out, whoisout, who is out, out | Accepted aliases for today's who's-out list. |
@Cabana whosout in a channel | Posts today's approved absences to the conversation. |
@Cabana help or a bare bot mention | Shows help. |
| Request time off / My balance on the welcome card | Opens the request form / returns your balances in private chat. |
| Submit on the request card | Submits the request and replaces the form with a confirmation. |
| Approve / Deny on an approval card | Records the assigned approver's decision and updates the card. |
| Open in Cabana on an approval card | Opens that request in the web app. |
| Open Cabana on the welcome card | Opens the Cabana web dashboard. |
| Help center on the help card | Opens Cabana's help center. |
An unrecognized message returns help. Use these commands to open a form; Cabana doesn't interpret sentences containing dates.
Manager approvals in Microsoft Teams¶
Decide from the card when the request is ready for review. The employee's dates, leave type, and day count are right there, along with any note they submitted. After you act, the card shows the decision and your name, and Open in Cabana remains available for the request details.
Use the web request page for a specific denial reason. The Teams Deny button records “Denied from Microsoft Teams.”
A configured approval chain still applies: each manager decides their assigned step, and the employee's time off becomes approved after the final step. The employee then receives the outcome in their personal chat.
Keep manager assignments current in Cabana. When an approver is on approved full-day leave, Cabana can send the decision to their designated approval delegate or up the reporting line, with an available admin as a fallback. The notification can explain why the request landed with the covering approver. Read how approver-away routing works for the coverage settings.
Channel announcements for who's out¶
Choose a channel your team already reads, then enable the updates that help you plan coverage. Out today posts the day's names; Monday digest lists approved absences across the working week. These are scheduled bot posts to your selected channel, separate from an employee's private approval messages.
Add Cabana to the team, then open Settings → Integrations in Cabana. Under Channel Announcements, choose Channel, optionally filter by department, turn on either or both schedules, and select Save. Posts use your organization's time zone and skip an empty list.
A daily card says 🌴 Out today with the date and names. The Monday card adds each person's days within the week. Neither includes request notes or balances.
Use @Cabana whosout when you need an answer between scheduled posts. Approval makes leave eligible for the relevant announcement; it doesn't trigger an immediate channel post.
Set up your time off app for Teams¶
Start with a Cabana admin and your Microsoft 365 admin. Connecting the directory and installing the app are separate steps: the connection links your people, the personal installation enables their chat workflow, and adding Cabana to a team makes its channels available for announcements. Use this sequence for rollout.
- Connect Microsoft Teams. A Cabana admin opens Settings → Integrations and selects Connect on the Microsoft Teams card.
- Approve directory access. Your Microsoft 365 admin completes Microsoft's consent screen. This lets Cabana read the employee directory; you don't need to prepare a spreadsheet of people.
- Sync employees. Back in Cabana, select Sync Now. Cabana links existing people by their directory identity or email and adds new directory users as invited employee records. Confirm their manager assignments in Cabana.
- Add Cabana in Teams. Each employee and approver adds the Cabana app and sends
helpin a private chat. That opens the conversation Cabana uses for requests and decisions. If your organization restricts apps, your Microsoft 365 admin approves Cabana once for everyone. - Add the team channel. In Teams, use Apps → Cabana → Add to a team. Return to Cabana, select the channel under Channel Announcements, choose your updates, and select Save. Test a request and manager decision before rolling out to everyone.
For your IT admin: directory sync requests Microsoft Graph's application permission User.Read.All, granted through admin consent. It reads directory profiles to create and link employees. The bot is installed separately in personal and team scopes; channel announcements are sent as the bot. A Cabana admin starts the connection, and an authorized Microsoft 365 admin grants the directory access.
Choose a tracker when a shared calendar needs too much upkeep¶
Use a shared Outlook calendar when you mainly need to display agreed dates. Use a dedicated tracker when you need the request, approval, and balance to stay together. A Teams list can record your process too; the difference is how much of that process your office manager has to maintain.
| Task | Cabana | Shared Outlook calendar alone | Manually maintained Teams list |
|---|---|---|---|
| Request dates | Private request card | Agree dates separately, then add an event | Employee or admin adds a row |
| Record approval | Assigned approver's decision | Track the decision separately | Maintain status and approver fields |
| Calculate remaining PTO | Policy-based balances, including pending requests | Separate balance record | Maintain calculations or another record |
| Tell colleagues who's out | On-demand command and scheduled posts | Open the shared calendar | Open or filter the list |
| Handle policy changes | Admin updates the policy in Cabana | Maintain rules outside the calendar | Update the process and calculations |
Custom automation can extend a list or calendar. Choose that route when someone on your team will own its rules and upkeep. Cabana suits a team that wants a dedicated PTO process with decisions in chat.
Put your team's PTO in Cabana¶
Choose Cabana for a daily Teams workflow connected to PTO tracking software for small teams. Admins handle accruals, carryover, leave types, and reports in the web app; employees request leave and managers decide it in Teams.
Cabana costs $4 per user per month, with a $20/month minimum. There's one plan and a 30-day free trial with no credit card. A 20-person team pays $80/month.
Frequently asked questions
Can employees request PTO without opening the web app?
Yes. Send `request` in a personal Cabana chat, or choose **Request time off** on the welcome card. Choose the leave type and start date, optionally add an end date and note, and select **Submit**. Cabana confirms submission in the chat and sends the request through the configured approval process.
Can a manager approve time off in Teams?
Yes. The assigned approver can select **Approve** or **Deny** on the request card inside Teams. Cabana records their decision and updates the card. If the request requires another approval step, that step still follows. The employee receives the outcome in their personal Cabana chat after the request is decided.
Can I check my PTO balance privately?
Yes. Send `balance` in your private Cabana chat or choose **My balance** on the welcome card. Cabana returns your current-year figures by leave type, with pending requests included. Unlimited types show days used rather than a remaining allowance. In a channel, Cabana directs balance requests back to private chat.
Why does Cabana say my account isn't linked?
Your Teams identity hasn't been linked to a Cabana employee record. Ask your Cabana admin to re-run the directory sync in **Settings → Integrations** and confirm the employee email matches the directory. Once linked, send `help` privately to establish the chat used for future approval and decision messages.
Does Cabana put approved PTO in Outlook?
Yes, through a private, read-only calendar subscription. Copy the feed URL from Cabana's **Settings → Integrations**, then use Outlook's **Add calendar → Subscribe from web**. Approved leave appears as all-day events. Outlook controls refresh timing, and edits don't flow back into Cabana. See calendar feed setup for details.
Can I request a half day from the Teams card?
Use Cabana's web request form for a half day. The current Teams card has leave type, start date, optional end date, and note, without an AM or PM control. Requests submitted in the web app can still reach the assigned approver in Teams and send the employee a decision there.
Does Microsoft Teams already support time-off requests?
Yes. Microsoft's Shifts app includes time-off requests for frontline workers, manager decisions, and request status. Evaluate Shifts first if your process centers on shift scheduling. Cabana is a dedicated PTO tracker for teams that want balances, leave policies, and chat-based requests connected to their time-off records.
Is Cabana free for Microsoft Teams?
Cabana is free to try for 30 days without a credit card. There is no permanent free tier. After the trial, one plan costs $4 per user per month with a $20/month minimum. Directory connection and the Teams workflow are part of that plan, rather than separate products to purchase. Keep PTO tracking in Microsoft Teams handy for onboarding. For process planning, use the PTO policy guide for small business and Free PTO accrual calculator.
Related
What to look for, and how Cabana handles it.
Free PTO request form template →Printable, in three versions, plus Google Forms fields.
Time off request email templates →Twelve situations, with Slack and Teams versions.
PTO policy guide for small business →The complete walkthrough, start to finish.