Self-hosted · For teams that run 24/7

Know who's available and who's on call — before it becomes an incident.

Team Planner is the self-hosted capacity, leave and on-call platform for organizations running multiple teams around the clock. It syncs with your identity, HR and ops tools, and runs entirely inside your own cluster.

Coverage alert:availability drops to 71% on Jul 22 – Jul 24
Team member
14
T
15
W
16
T
17
F
18
S
19
S
20
M
21
T
22
W
23
T
JM

Jordan Marr

Platform Engineer

On-call
SL

Sana Levent

SRE

Annual leave
DK

Devin Kwan

Backend Engineer

Training
PR

Priya Ramos

DevOps Lead

Annual leave
AT

Aiden Thorpe

Platform Engineer

Team capacity

Today · 100%

100
100
100
100
86
86
71
71

See it in motion

Capacity, on-call and alerts — in one walkthrough

A short look at how planning and operational alerting work together in a single product, on your own infrastructure.

teamplanner · demo
Self-hosted on your own Kubernetes
Coordination, not another calendar
Every integration set up by your admin
Planning and alerting in one product

Planning

The capacity, availability and on-call layer

Plan leave, on-call and coverage with the record integrity, RBAC and auditability enterprises expect.

Live team capacity

See who's working and who's out across every team, with per-team warning and critical thresholds that flag coverage gaps before a critical week arrives.

Leave & event workflows

Leave, sick, project work, on-call and training entries with configurable manager approvals — every reduction flows into capacity automatically.

On-call rotations

Daily, weekly or biweekly rotations with manual overrides, full audit history, and warnings when on-call clashes with approved leave.

Role-based access, per team

Admin, manager, user and viewer roles assigned per team on your real reporting hierarchy — and managers can delegate team settings without touching the org chart.

Accurate historical rosters

Scroll back to any past date and see exactly who was on the team then. Past entries lock automatically for regular users, so reporting stays trustworthy.

Also included: cross-team resource requests, calendar-week and Jira-sprint reporting, CSV import/export, white-label branding, full audit log and a system health panel.

Alerts & Ops

The alerting engine most companies rebuild every year, already inside your planner

Capacity, on-call and Jira JQL alerts on the schedule you choose — rendered by templates you write, delivered to Microsoft Teams or Slack.

acme-platform / #on-call-alertsjust now
Team Planner · On-call conflictConflict detected

Fatih Aydın is on-call Aug 4 – 8 but is on approved leave Aug 5 – 6. Reassign coverage for this week.

On-call window
Aug 4 – Aug 8 · Platform team
Approved leave
Aug 5 – Aug 6 · Annual leave
Uncovered
2 days
Notified
@Fatih Aydın · @Selin Koç (manager)

Capacity & on-call conflict alerts

Capacity

Capacity drops, overlapping unavailability and on-call scheduled during someone's leave — caught days ahead, with the on-call engineer and their manager @mentioned.

Jira JQL alerts

Jira

Write any JQL — "P1 tickets unassigned for over an hour" — and get notified on your own schedule, in Jira Software or Jira Service Management.

Flexible message templates

No-code

Write your own message with placeholders for anything Jira returns: priority, issue key, summary, customer, assignee (with an "Unassigned" fallback) or any custom field.

One channel field. Teams or Slack, auto-detected.

Every alert type accepts a Microsoft Teams or Slack incoming webhook URL, and the channel type is detected for you.

TeamsSlack

Integrations

Connects to the identity, HR and ops tools you already run

Every integration is added post-deployment from Admin › Integrations — no code changes, no Kubernetes secrets, no redeploys.

Microsoft Entra ID SSO

SSO / OIDC

Sign in with your corporate identity, with local login always available as a fallback.

Microsoft Graph sync

Graph API

Imports your org structure, teams and manager hierarchy automatically, on a schedule or on demand.

Personio

HR API

Approved leave in Personio lands in every team's calendar without a second data entry.

Workday

HCM API

Syncs absence and leave records where Workday HCM is the system of record.

Outlook Out-of-Office

Graph API

An OOO auto-reply in Outlook writes itself to the calendar — org-wide or opt-in per member.

Calendar feeds (ICS)

ICS

Read-only personal and per-team feeds for Outlook, Google or Apple Calendar.

Microsoft Teams

Webhook

One incoming webhook delivers daily digests, capacity alerts and every Jira alert.

Slack

Webhook

Same one-field setup as Teams, auto-detected from the webhook URL.

Jira Cloud

API token

One API token powers scheduled JQL alerts across Jira Software and Service Management.

Self-hosted

Runs on your own Kubernetes cluster

Team Planner ships as a versioned Helm chart, separate from the application source. Your data, your cluster, your control plane.

  • Versioned Helm chart, upgrade on your cadence
  • Secure-by-default values, secrets auto-generated
  • No vendor telemetry, no data egress
  • White-label from the first install

Install with Helm

git clone https://github.com/alpyanar82/team-planner-helm
helm install team-planner ./team-planner-helm \
  --namespace team-planner --create-namespace

The chart pulls the two published images from Docker Hub automatically — nothing to pull or push yourself.

From helm install to your first Teams alert

01

Deploy the Helm chart

Install the chart into your cluster — it pulls the backend and frontend images from Docker Hub automatically, and secrets are generated on first boot.

02

Set up teams & roles

Sync from Microsoft Entra ID or import a CSV, then assign per-team roles.

03

Connect Jira, Teams, Slack

Paste one API token and your webhook URLs in Admin › Integrations.

04

Write your alerts

Define JQL rules, capacity thresholds and your message templates.

Licensing

Start free. Upgrade when you're ready.

Team Planner is self-hosted — you run the image, we handle licensing. Start on the free tier with no license at all, and request a trial when you need identity sync, HR integrations and unlimited users.

No license required

Free

Free forever

  • Up to 20 users, 2 teams
  • CSV import
  • Teams / Slack notifications (outbound webhook)
  • Jira alerts
  • Community support (GitHub issues & docs)

Identity sync (SSO, MS Graph, Personio, Workday, Outlook) unlocks in Trial and Paid.

Get started
3 months

Trial

Free for 3 months

  • Unlimited users, unlimited teams
  • All integrations unlocked (SSO, MS Graph, Personio, Workday, Outlook)
  • All alert types
  • Direct email support from the team
Request a trial license
Yearly

Paid

Contact us for pricing

  • Everything in Trial
  • Annual license, priority support
  • Installation assistance if needed
  • Custom feature discussions
Talk to sales

For organizations that need custom integrations, air-gapped deployments, or dedicated SLAs, we offer an Enterprise arrangement. Reach out through the portal below.

No customer data ever leaves your cluster.
We only receive server ID + license usage counts (opt-out available).
Docker image is public on Docker Hub.
You can export all your data at any time.

Use cases

One product for planning and paging

Rotations that stay covered

  • Weekly on-call rotations with overrides and audit history
  • Conflict detection when on-call clashes with leave
  • JQL alerts routed to the channel the team already watches

Get in touch

Talk to us through our customer portal

Open a request in our Jira Service Management portal and we'll respond in-thread and schedule a walkthrough of your specific setup.

  • Track your request status anytime
  • Get replies directly in the portal
  • No credit card, no obligation

Open customer portal

Open a request in our Jira Service Management portal and we'll respond in-thread and schedule a walkthrough of your specific setup.

Open customer portal

Prefer email? Write to contact@team-planner.net