Skip to main content
๐ŸŽ“ Claude Code Masterclass Learn AI-assisted development on Udemy โ€” plus the companion book on Leanpub & Amazon. Start Learning
Cal.com: The Open-Source Scheduling Platform You Can Self-Host
Open Source

Cal.com: Open-Source Self-Hosted Scheduling Platform

Complete guide to Cal.com โ€” the open-source Calendly alternative with full API access, custom workflows, and Kubernetes deployment options.

LB
Luca Berton
ยท 1 min read

What Is Cal.com?

Cal.com is an open-source scheduling platform โ€” think Calendly, but you own the code, the data, and the deployment. 32K+ GitHub stars.

Why It Matters

  • No vendor lock-in โ€” switch hosting anytime
  • Full API access โ€” embed scheduling in your product
  • Custom workflows โ€” trigger webhooks, emails, SMS on booking
  • White-label โ€” remove branding, use your domain
  • GDPR compliant โ€” data stays on your infrastructure

Key Features

FeatureCal.comCalendly
Self-hostedโœ…โŒ
Open sourceโœ… (AGPL)โŒ
API accessโœ… Fullโš ๏ธ Limited
Custom brandingโœ…๐Ÿ’ฐ Enterprise
Round-robinโœ…๐Ÿ’ฐ Premium
Collective schedulingโœ…๐Ÿ’ฐ Enterprise
Webhooksโœ…๐Ÿ’ฐ Premium
Price (self-hosted)$0N/A

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           Cal.com Stack              โ”‚
โ”‚                                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚   Next.js    โ”‚  โ”‚   Prisma    โ”‚  โ”‚
โ”‚  โ”‚   Frontend   โ”‚  โ”‚   ORM       โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚         โ”‚                  โ”‚         โ”‚
โ”‚         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚
โ”‚                  โ”‚                   โ”‚
โ”‚          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”‚
โ”‚          โ”‚  PostgreSQL   โ”‚           โ”‚
โ”‚          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ”‚
โ”‚                                      โ”‚
โ”‚  Integrations: Google Calendar,      โ”‚
โ”‚  Outlook, Zoom, Meet, Stripe         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Self-Host on Kubernetes

Helm Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: calcom
  namespace: scheduling
spec:
  replicas: 2
  template:
    spec:
      containers:
        - name: calcom
          image: calcom/cal.com:latest
          ports:
            - containerPort: 3000
          env:
            - name: DATABASE_URL
              valueFrom:
                secretKeyRef:
                  name: calcom-secrets
                  key: database-url
            - name: NEXTAUTH_SECRET
              valueFrom:
                secretKeyRef:
                  name: calcom-secrets
                  key: nextauth-secret
            - name: NEXTAUTH_URL
              value: "https://cal.yourdomain.com"
            - name: CALENDSO_ENCRYPTION_KEY
              valueFrom:
                secretKeyRef:
                  name: calcom-secrets
                  key: encryption-key
          resources:
            requests:
              memory: "512Mi"
              cpu: "250m"
            limits:
              memory: "1Gi"
              cpu: "1"

Docker Compose (Quick Start)

version: "3.9"
services:
  calcom:
    image: calcom/cal.com:latest
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgresql://cal:cal@db:5432/calcom
      - NEXTAUTH_SECRET=your-secret-here
      - NEXTAUTH_URL=http://localhost:3000
    depends_on:
      - db
  db:
    image: postgres:16-alpine
    environment:
      - POSTGRES_USER=cal
      - POSTGRES_PASSWORD=cal
      - POSTGRES_DB=calcom
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:

Workflow Automations

Cal.com triggers webhooks on every booking event:

// Webhook payload on BOOKING_CREATED
{
  "triggerEvent": "BOOKING_CREATED",
  "payload": {
    "title": "AI Strategy Consultation",
    "startTime": "2026-06-10T10:00:00Z",
    "endTime": "2026-06-10T10:30:00Z",
    "attendees": [{"name": "Client", "email": "client@company.com"}],
    "organizer": {"name": "Luca Berton", "email": "luca@lucaberton.com"}
  }
}

Connect to n8n or Zapier for:

  • CRM record creation (HubSpot, Salesforce)
  • Slack notification to your team
  • Pre-meeting email with agenda template
  • Invoice generation after meeting

When to Use Cal.com

Use CaseCal.comCalendly
Solo consultantโœ… Free forever$10/mo
Team schedulingโœ… Self-hosted$15/user/mo
SaaS embed (scheduling API)โœ… Full APIโŒ Not designed for
Enterprise compliance (GDPR)โœ… Data on your infraโš ๏ธ US-hosted
White-label productโœ… Remove all brandingโŒ
#Open Source #Self-Hosted #DevOps
Share:
Free Consultation

Need help implementing this?

I help enterprises design AI infrastructure, Kubernetes platforms, and automation strategies. Free 30-minute discovery call.

Want to operate this yourself, in production?

Take the free AI Platform Engineer Readiness Scorecard to see which skills transfer โ€” then build a production-shaped AI platform in the 4-week Bootcamp.

Take the Scorecard โ†’
Luca Berton โ€” AI & Cloud Advisor, Docker Captain

Luca Berton

AI & Cloud Advisor ยท Docker Captain ยท KubeCon Speaker

15+ years in enterprise infrastructure. Author of 8 technical books, creator of Ansible Pilot (1M+ YouTube views, 648K site users). Former Red Hat engineer. Speaker at KubeCon EU 2026 and Red Hat Summit 2026.

Free 30-min AI & Cloud consultation

Book Now