{
  "version": "2",
  "generatedAt": "2026-11-03T22:49:39.280Z",
  "listing": {
    "slug": "calcom--cal.diy",
    "name": "Cal.diy",
    "tagline": "MIT community edition of Cal.com: self-hosted booking pages, event types and availability with API v2.",
    "shortTagline": "MIT community edition of Cal.com",
    "description": "Cal.diy is the community-driven fork of Cal.com with the enterprise code removed (no Teams, Organizations, Insights, Workflows or SSO). It ships the booking page, event types, availability schedules, calendar and video integrations, and the NestJS API v2 under apps/api/v2. Self-hosting is driven by a heavily commented .env.example; Cal.com remains the Builder's hosted, closed edition.",
    "capabilities": [
      "adaptable",
      "operable"
    ],
    "vertical": "scheduling-staffing",
    "alternativeTo": [
      "Calendly",
      "Cal.com"
    ],
    "shape": "business-app",
    "formFactor": "web-app",
    "executionModel": "deterministic",
    "provenance": "mixed",
    "codeStack": {
      "languages": [
        "TypeScript"
      ],
      "frameworks": [
        "Next.js",
        "tRPC",
        "React",
        "Prisma",
        "NestJS",
        "Tailwind CSS"
      ],
      "packageManager": "yarn",
      "database": [
        "PostgreSQL"
      ],
      "hostingTarget": [
        "docker",
        "vercel",
        "railway",
        "render"
      ]
    },
    "modelStack": null,
    "repos": [
      {
        "url": "https://github.com/calcom/cal.diy",
        "owner": "calcom",
        "name": "cal.diy",
        "license": "MIT",
        "stars": 48115,
        "lastCommit": "2026-09-01"
      }
    ],
    "interface": {
      "kind": "api",
      "url": "https://cal.com/docs/api-reference/v2/introduction",
      "official": true,
      "hosted": "both"
    },
    "operability": "official",
    "recommendedWrapper": null,
    "reach": [
      {
        "job": "Create, reschedule and cancel bookings",
        "reachable": true,
        "evidence": "API v2 introduction lists bookings; apps/api/v2 ships in the cal.diy repo"
      },
      {
        "job": "Manage event types",
        "reachable": true,
        "evidence": "API v2 introduction lists event types"
      },
      {
        "job": "Manage availability schedules",
        "reachable": true,
        "evidence": "API v2 introduction lists schedules"
      },
      {
        "job": "Query bookable slots",
        "reachable": true,
        "evidence": "slots endpoints are part of API v2 (cal.com/docs/api-reference/v2); not re-verified this run"
      },
      {
        "job": "Register webhooks",
        "reachable": true,
        "evidence": "API v2 introduction lists webhooks"
      },
      {
        "job": "Manage users and profile",
        "reachable": true,
        "evidence": "API v2 covers the authenticated user; managed users are a Platform feature"
      },
      {
        "job": "Connect Google or Outlook calendars",
        "reachable": null,
        "evidence": "OAuth connection is a browser flow; API v2 has calendar endpoints but the consent step is manual"
      },
      {
        "job": "Teams, organizations and round-robin",
        "reachable": false,
        "evidence": "README: Teams and Organizations removed from Cal.diy; on Cal.com they are paid plans"
      },
      {
        "job": "Workflows and automated reminders",
        "reachable": false,
        "evidence": "README: Workflows removed from Cal.diy"
      },
      {
        "job": "Routing forms",
        "reachable": false,
        "evidence": "cal.com/pricing lists routing forms under Teams; EE code removed from Cal.diy"
      }
    ],
    "editions": [
      {
        "name": "Cal.diy self-hosted",
        "price": null,
        "open": true,
        "distributions": [
          {
            "kind": "source",
            "url": "https://github.com/calcom/cal.diy"
          },
          {
            "kind": "container",
            "url": "https://hub.docker.com/r/calcom/cal.diy"
          },
          {
            "kind": "one-click",
            "url": "https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fcalcom%2Fcal.diy"
          }
        ]
      },
      {
        "name": "Cal.com Free",
        "price": {
          "amount": 0,
          "currency": "USD",
          "period": "month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://cal.com/"
          }
        ]
      },
      {
        "name": "Cal.com Teams",
        "price": {
          "amount": 12,
          "currency": "USD",
          "period": "user/month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://cal.com/pricing"
          }
        ]
      },
      {
        "name": "Cal.com Organizations",
        "price": {
          "amount": 28,
          "currency": "USD",
          "period": "user/month"
        },
        "open": false,
        "distributions": [
          {
            "kind": "hosted",
            "url": "https://cal.com/pricing"
          }
        ]
      }
    ],
    "skills": {
      "kind": "bundled",
      "paths": [
        "agents/skills/calcom-api/SKILL.md",
        "agents/skills/vercel-react-best-practices/SKILL.md",
        ".opencode/skill/*/SKILL.md"
      ],
      "install": null,
      "note": "Ships a calcom-api skill that teaches an agent the booking API, alongside contributor-facing React and design skills."
    },
    "customization": {
      "summary": "Copy .env.example to .env, generate NEXTAUTH_SECRET and CALENDSO_ENCRYPTION_KEY, set DATABASE_URL and NEXT_PUBLIC_WEBAPP_URL, then add credentials for the integrations you use (GOOGLE_API_CREDENTIALS, MS_GRAPH_CLIENT_ID and secret, ZOOM_CLIENT_ID and secret, DAILY_API_KEY, EMAIL_SERVER_HOST). Branding and booking behavior have their own keys: NEXT_PUBLIC_APP_NAME, NEXT_PUBLIC_COMPANY_NAME, NEXT_PUBLIC_DISABLE_SIGNUP, NEXT_PUBLIC_MINUTES_TO_BOOK, NEXT_PUBLIC_AVAILABILITY_SCHEDULE_INTERVAL. Event types, schedules and the booking page are configured in the UI.",
      "envVars": [
        "DATABASE_URL",
        "NEXT_PUBLIC_WEBAPP_URL",
        "NEXTAUTH_URL",
        "NEXTAUTH_SECRET",
        "CALENDSO_ENCRYPTION_KEY",
        "CRON_API_KEY",
        "GOOGLE_API_CREDENTIALS",
        "MS_GRAPH_CLIENT_ID",
        "MS_GRAPH_CLIENT_SECRET",
        "ZOOM_CLIENT_ID",
        "ZOOM_CLIENT_SECRET",
        "DAILY_API_KEY",
        "EMAIL_SERVER_HOST",
        "EMAIL_FROM",
        "NEXT_PUBLIC_APP_NAME",
        "NEXT_PUBLIC_COMPANY_NAME",
        "NEXT_PUBLIC_DISABLE_SIGNUP",
        "NEXT_PUBLIC_MINUTES_TO_BOOK",
        "NEXT_PUBLIC_AVAILABILITY_SCHEDULE_INTERVAL"
      ],
      "configFiles": [
        ".env.example",
        "docker-compose.yml",
        "apps/api/v2/.env.example"
      ],
      "promptFiles": [],
      "effort": "config-only",
      "editCount": 22
    },
    "useWhen": [
      "I want a Calendly-style booking page for my practice that I host, under MIT, with no license key",
      "I want my agent to read availability and book or move appointments through a documented API"
    ],
    "accounts": [
      "Google Cloud (calendar OAuth, optional)",
      "Microsoft Entra (Outlook, optional)",
      "Zoom or Daily.co (video, optional)",
      "Cal.com (hosted editions only)"
    ],
    "active": true,
    "lastActivity": "2026-09-01",
    "gotchas": [
      "README warns the community edition is 'strictly recommended for personal, non-production use' and points commercial users to Cal.com",
      "Heavy stack: Node 18+, PostgreSQL, yarn monorepo; README suggests 16 GB for the Node process during builds",
      "apps/api/v2/README.md still tells developers to seed a Deployment row and set CALCOM_LICENSE_KEY; confirm API v2 runs license-free in Cal.diy",
      "cal.com/pricing shows API-related items only on Teams and Organizations; the hosted Free plan may not issue API keys",
      "Repository was renamed from calcom/cal.com to calcom/cal.diy in 2026; old links redirect"
    ],
    "fit": {
      "adaptable": 3,
      "operable": 3
    },
    "evidence": {
      "formFactor": "README: Next.js web app with Docker and Vercel deployment",
      "executionModel": "no model at runtime for scheduling; RETELL_AI_KEY in .env.example is an optional integration",
      "operability": "apps/api/v2 (NestJS) in the repo; docker-compose.yml defines a calcom-api service; docs at cal.com/docs/api-reference/v2",
      "effort": ".env.example at repo root with commented keys; README 'Important run-time variables' table",
      "editions": "README: MIT, no hosted Cal.diy; cal.com/pricing: Free USD 0, Teams USD 12, Organizations USD 28 per user per month",
      "active": "shortlist pushedAt 2026-09-01"
    },
    "confidence": {
      "formFactor": 0.95,
      "executionModel": 0.9,
      "operability": 0.85,
      "effort": 0.9,
      "reach": 0.7,
      "editions": 0.8,
      "provenance": 0.4
    },
    "openQuestions": [
      "Does API v2 in Cal.diy start without CALCOM_LICENSE_KEY, and does the Docker image include the calcom-api service by default?",
      "Are API keys available on the Cal.com hosted Free plan?",
      "Provenance is marked mixed only because CLAUDE.md and AGENTS.md sit at the repo root; confirm how much of recent work is agent-written",
      "Does the official calcom/cal-mcp (last pushed 2025-05) still work against API v2 or a self-hosted instance?"
    ],
    "sources": [
      {
        "url": "https://github.com/calcom/cal.diy",
        "foundBy": "sourcing:scheduling-staffing:github"
      },
      {
        "url": "https://cal.com/docs/api-reference/v2/introduction",
        "foundBy": "sourcing:scheduling-staffing:curated"
      },
      {
        "url": "https://cal.com/pricing",
        "foundBy": "analysis:scheduling-staffing"
      },
      {
        "url": "https://news.ycombinator.com/item?id=47780456",
        "foundBy": "sourcing:scheduling-staffing:community"
      }
    ],
    "research": {
      "stage": "verified",
      "verdict": "unverified",
      "reason": "Both capabilities: documented .env surface under MIT, and the Builder's API v2 ships in the same repo. Merges the shortlist duplicate calcom--cal.com (same repo after rename).",
      "disputed": []
    },
    "url": "apps/calcom--cal.diy.html",
    "coverage": "partial",
    "paid": true,
    "source": "research/verified/calcom--cal.diy.json"
  }
}
