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: The Open-Source Scheduling Platform You Can Self-Host

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โŒ

Free 30-min AI & Cloud consultation

Book Now