Skip to content

Self-hosted alternatives to Cal.com

Cal.com is hosted scheduling software with booking pages, calendar sync, team scheduling, workflows and a developer API. Two listed apps do its main job and run in your own Cloudflare account.

Each answer comes from the app’s README and source code, compared with the features Cal.com describes on its own site.

  • Punctual booking page for a 30-minute intro call, with an August 2026 date picker and open half-hour slots

    Open-source Calendly alternative for a single team, with booking pages, calendar sync and team scheduling on Workers

    Deploy
    CLI
    License
    MIT
    GitHub stars
    117 stars
    Last commit
  • CloudMeet booking page for a 30-minute Google Meet event, with open dates on a month calendar

    Self-hosted booking page and Calendly alternative with Google Calendar and Outlook sync, on Cloudflare Pages

    Deploy
    Manual
    License
    MIT
    GitHub stars
    541 stars
    Last commit

Cal.com features, app by app

FeaturePunctualCloudMeet
Booking page with a custom link and event typesYesYes
Calendar sync that avoids double bookingsYesYes
Availability controls with buffers, notice and limitsYesPartly
Collective and round-robin team eventsYesNo
Reminders and workflows by email and SMSPartlyPartly
Website embedsYesNo
Video conferencing linksPartlyPartly
Payments for bookingsNoNo

Open-source Calendly alternative for a single team, with booking pages, calendar sync and team scheduling on Workers

What a Cal.com user would miss
Payments, SMS reminders, a workflow builder and built-in video. The open-source build covers one team, it is pre-1.0, and emails are only logged until Resend, Brevo or Cloudflare Email Service is set up.
What it adds
Runs as one Worker with D1, KV, R2, Durable Objects and a queue in your own Cloudflare account. The MIT-licensed version has no seat limits, and it includes HMAC-signed webhooks, a REST API and a built-in MCP server.
  • Yes Booking page with a custom link and event types. Booking pages and event types with custom questions, logos and social cards.
  • Yes Calendar sync that avoids double bookings. Google Calendar and Microsoft 365 through your own OAuth apps.
  • Yes Availability controls with buffers, notice and limits. Buffers before and after, minimum notice, booking horizon, daily caps and date overrides.
  • Yes Collective and round-robin team events. Round-robin and collective events with required and optional hosts.
  • Partly Reminders and workflows by email and SMS. Emails with reminders at 24 hours and 1 hour, an opt-in morning digest, and Slack and Telegram notifications; no SMS or workflow builder.
  • Yes Website embeds. Embed script with a resizing iframe.
  • Partly Video conferencing links. Google Meet and Teams links, plus custom link, phone and in-person locations; no built-in video.
  • No Payments for bookings. No payment code found.

Sources:github.com/cccrafts/punctual/blob/main/README.mdgithub.com/cccrafts/punctual/blob/main/src/core/domain/types.tsgithub.com/cccrafts/punctual/blob/main/src/http/embed.tsgithub.com/cccrafts/punctual/blob/main/src/adapters/scheduled.tspunctual.sh

Self-hosted booking page and Calendly alternative with Google Calendar and Outlook sync, on Cloudflare Pages

What a Cal.com user would miss
Team and round-robin events, embeds, SMS reminders and workflows, built-in video, payments, buffers and booking limits. Only one Google account can sign in as the admin, and booking emails need an Emailit API key.
What it adds
Runs on Cloudflare Pages with D1 and KV in your own account, deployed from a GitHub template. A host can propose a new time for an existing booking, and the guest accepts or declines it from an emailed link.
  • Yes Booking page with a custom link and event types. Public page for each event type under the host's own slug.
  • Yes Calendar sync that avoids double bookings. Checks Google and Outlook busy times plus existing bookings.
  • Partly Availability controls with buffers, notice and limits. Weekly working hours only; the schema has a buffer column that no code reads, and no notice window or daily limit was found.
  • No Collective and round-robin team events. One admin account only.
  • Partly Reminders and workflows by email and SMS. Email confirmations and reminders at 24 hours and 1 hour, with editable templates; no SMS or workflow builder.
  • No Website embeds. No embed script or widget found.
  • Partly Video conferencing links. Google Meet and Teams links; no built-in video.
  • No Payments for bookings. No payment code found.

Sources:github.com/dennisklappe/cloudmeet/blob/main/README.mdgithub.com/dennisklappe/cloudmeet/blob/main/schema.sqlgithub.com/dennisklappe/cloudmeet/blob/main/src/routes/api/availability/%2Bserver.tsgithub.com/dennisklappe/cloudmeet/blob/main/src/routes/api/bookings/%2Bserver.ts