New: CalSync Server — self-hosted calendar infrastructure with multi-tenancy, WhatsApp & email notificationsLearn more
Now Available — CalSync Server

Your own calendar infrastructure, fully self-hosted

CalSync Server is a production-ready, multi-tenant calendar backend built with Node.js, Express, and Prisma. Deploy it on your own infrastructure and give your users a complete scheduling platform — with email, WhatsApp, and push notifications out of the box.

Read the Docs
PostgreSQL · MySQL · MariaDBDocker-first deploymentMulti-tenant isolationWhatsApp + Email + Push
Everything included

Built for production from day one

Every feature you need to run a serious scheduling platform — without building it yourself.

Multi-Tenancy

One server, unlimited isolated tenants. Each business or client gets their own users, calendars, and data — fully separated.

Smart Notifications

Every event create, update, or cancel automatically notifies attendees, the event owner, and all tenant admins via email, WhatsApp, and push.

Multi-Database

Works with PostgreSQL, MySQL, or MariaDB. Switch providers with a single environment variable — no code changes needed.

License-Gated

Server validates your CalSync license key on startup and re-checks hourly. No valid key, no server — your IP is protected.

Google Business Sync

Push your availability rules directly to your Google Business Profile as opening hours. Auto-generates Schema.org JSON-LD for SEO rich results.

JWT + API Keys

Full authentication stack: JWT tokens with tenant context embedded, long-lived API keys for integrations, role-based access control.

Google Calendar Sync

OAuth2 incremental sync with Google Calendar. Bi-directional, token refresh, and per-user sync accounts.

Docker-First

Single Docker image. The entrypoint auto-patches the Prisma provider, runs db push with retries, then starts the server. Zero manual setup.

Automatic notifications

Every event change, everyone is notified

When an event is created, updated, or cancelled — CalSync Server automatically notifies all attendees, the event owner, and every tenant admin across all channels they have enabled.

  • Attendees receive email invitations with event details
  • Owners get email + WhatsApp + push based on their preferences
  • Admins are always kept in the loop on every event change
  • Users control their own notification preferences per channel

Email (SMTP)

Branded HTML emails with your logo and colors

WhatsApp Business

Rich messages via WhatsApp Business API

Web Push (VAPID)

Browser push notifications, no app needed

User notification preferences

Email notificationsOn
WhatsApp notificationsOn
Push notificationsOff
Multi-tenancy

One server, unlimited businesses

Each tenant is fully isolated. Users, calendars, events, and notifications never cross tenant boundaries.

SUPER_ADMIN
  • Manage all tenants
  • Create/deactivate tenants
  • Add tenant admins
  • Platform-wide audit logs
ADMIN
  • Manage tenant users
  • Receive all event notifications
  • View tenant audit logs
  • Manage tenant resources
USER
  • Manage own calendars & events
  • Set availability rules
  • Configure notification preferences
  • Google Calendar sync

Tenant identified via X-Tenant-ID header, subdomain, or query param — your choice.

Universal calendar sync

Sync with every calendar platform

Google, Outlook, Apple iCal, Fastmail, Nextcloud — or any RFC 4791 CalDAV server. Users connect their existing calendars in seconds.

Google Calendar

OAuth2

Incremental sync with token refresh. Bi-directional, per-user sync accounts.

GET /sync/google/auth

Microsoft Outlook

OAuth2 (Graph API)

Full Microsoft 365 calendar sync via Microsoft Graph API with MSAL OAuth2 flow.

GET /sync/outlook/auth

Apple iCal

CalDAV

Connect with Apple ID app-specific password. Syncs all iCloud calendars.

POST /sync/caldav/connect

Fastmail

CalDAV

Standards-compliant CalDAV sync with Fastmail calendar accounts.

POST /sync/caldav/connect

Nextcloud

CalDAV

Self-hosted Nextcloud calendar sync — perfect for privacy-first deployments.

POST /sync/caldav/connect

Any CalDAV Server

CalDAV (RFC 4791)

Any standards-compliant CalDAV server: Radicale, Baikal, Zimbra, and more.

POST /sync/caldav/connect

OAuth2

Google & Outlook — secure token flow, auto-refresh

CalDAV

Apple, Fastmail, Nextcloud & any RFC 4791 server

Per-user

Each user connects their own accounts independently

Every industry, every team

The ultimate scheduling solution

From solo practitioners to enterprise platforms — CalSync Server powers scheduling across every vertical.

Healthcare & Medical

  • Patient appointment booking
  • Doctor availability rules
  • Multi-clinic multi-tenant
  • WhatsApp appointment reminders
  • HIPAA-friendly self-hosted

Finance & Banking

  • Advisor meeting scheduling
  • Client onboarding slots
  • Outlook + Teams sync
  • Tenant-isolated client data
  • Compliance audit calendars

Legal & Consulting

  • Client consultation booking
  • Court date management
  • Multi-attorney calendars
  • Conflict detection
  • Billable hour tracking

Education

  • Class & lecture scheduling
  • Student appointment booking
  • Google Calendar sync
  • Multi-campus tenants
  • Teacher availability rules

Field Services

  • Technician dispatch
  • Job site calendars
  • Equipment resource booking
  • WhatsApp job alerts
  • Resource management

Wellness & Beauty

  • Salon & spa bookings
  • Staff availability
  • Recurring appointments
  • Client reminder notifications
  • Multi-location support

Real Estate

  • Property viewing slots
  • Agent calendar management
  • Open house scheduling
  • Apple iCal sync
  • Automated viewing reminders

SaaS Platforms

  • Embed in your product
  • Multi-tenant per customer
  • White-label branding
  • REST API for integrations
  • Self-hosted = your data
Quick setup

Up and running in minutes

01

Deploy with Docker

One command. The entrypoint handles DB setup, Prisma generation, and server start automatically.

docker compose up -d
02

Create your SUPER_ADMIN

Run once after first boot to create the platform owner account.

SUPER_ADMIN_EMAIL=you@example.com\
SUPER_ADMIN_PASSWORD=secret\
npm run seed:superadmin
03

Create a tenant

Creates the tenant and its first ADMIN user in a single API call.

POST /api/v1/tenants
{
  "slug": "acme",
  "name": "Acme Corp",
  "adminEmail": "admin@acme.com",
  "adminPassword": "secure"
}
04

Users log in & manage events

All users identify their tenant via the X-Tenant-ID header. Fully isolated per tenant.

POST /api/v1/auth/login
X-Tenant-ID: acme
{ "email": "alice@acme.com" }

Ready to self-host?

One license covers both the React calendar component and the self-hosted server. €699 one-time, 1 project, lifetime access.

Deploy with Docker

1 project · Domain-locked · Lifetime updates · No subscription