runbookify
← All plans
Human Resources / PTO & Leave Management

PTO Request & Approval Workflow: Kill the Email-and-Spreadsheet Shuffle

Let employees request time off in one place, auto-check their balance and team coverage, and give managers a clean approve/decline screen — with only approved time deducting from balances and hitting the team calendar.

BeginnerAn afternoonBuilds onNext.jsSupabaseResend
What you'll build

A web tool where employees submit time-off requests, the app checks their balance and warns about team-coverage conflicts, the manager approves or declines with a note, and only approved time deducts from the balance, lands on the team calendar, notifies the employee, and is logged — plus a CSV export of approved PTO for payroll/HRIS.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.

Before you start

  • A Supabase account (free)
  • A Vercel account (free)
  • A Resend account (free)
  • An employee roster with leave balances and managers (a spreadsheet is fine)
  • Your leave-type definitions and any blackout dates
  • Claude Code or any AI coding agent

The problem this kills

Time off lives in too many places. An employee emails their manager "can I take next Thursday and Friday?", the manager squints at a shared calendar that's three requests out of date, tries to remember who else on the team is already out that week, guesses whether the person even has the days left, replies "sure," and then someone is supposed to update a master spreadsheet that nobody trusts.

Balances drift. Two people end up off on the same critical day. A request gets approved over text and never recorded. When payroll or HR asks "how much vacation has Maria used this year?", the honest answer is "let me dig through my inbox." It's slow, it's error-prone, and it makes people nervous about asking for the time they've earned. You don't need an expensive HRIS module to fix this, and you don't need to be a developer to build it.

What you'll build

A simple internal web tool. Employees log in and submit a time-off request — pick a leave type (vacation, sick, personal), a date range, and whether it's full days, half-days, or partial hours. The moment they submit, the tool checks two things automatically: do they have enough balance, and how many teammates are already off on those dates. It blocks an over-budget request and shows a coverage warning if too many people overlap or the dates fall on a blackout window.

The manager gets a clean review screen for each request — the employee's remaining balance, the exact days requested, and a list of who else on the team is already out — and clicks Approve or Decline, with a note. Only on approve does the tool deduct the time from the balance, add the entry to the team calendar, and email the employee. Everything is recorded, and you can export all approved time off as a CSV in the exact columns your payroll or HRIS expects.

What's inside the Implementation Plan

The downloadable plan is a step-by-step file you paste into an AI coding agent. It opens by interviewing you about your business — how requests flow today, what your leave types and accrual rules are, exactly how your roster and balances are named, your blackout dates and coverage rules, your typical and peak request volumes, and your messy edge cases — and then it tailors the data model, the validations, and every later step to your answers. This is not a generic template; the agent reflects a short spec back to you and waits for your thumbs-up before it builds anything. From there it walks the agent through the roster import, the employee request form with live balance and coverage checks, the manager review-and-approve screen, the balance deduction and calendar write, the employee notification, and the approved-PTO CSV export — each step with a ready-to-copy prompt. There's also a fallback so you can build the whole thing today even with no API to your existing HR system.

The governance it includes (this is the point)

This is real HR tooling, so it ships with the controls a team needs: login so only your people can use it, row-level security so an employee sees only their own requests and a manager sees only their own team's, a complete audit trail of who requested, approved, declined, and exported and when, a hard human-approval gate so no balance is deducted and nothing hits the calendar until the manager signs off, and duplicate guards keyed on employee plus date range so the same days can't be requested twice. Insufficient-balance and blackout-date requests are flagged and blocked rather than silently slipping through.

Who it's for

Managers, team leads, and HR coordinators at companies still tracking PTO in email threads and a master calendar that's perpetually out of date. If you can describe how your team asks for and approves time off, you can build this.

You've got this — start with the plan, paste the first prompt, answer the interview, and you'll see your first time-off request flow through the approval gate the same afternoon.

Gated download

Enter your email — the plan downloads instantly and a copy lands in your inbox.

By submitting your email you'll also receive the weekly runbookify newsletter. You can unsubscribe at any time.