Skip to main content

How to Migrate from Calendly to Cal.com 2026

·OSSAlt Team
calendlycal-commigrationschedulingguide
Share:

How to Migrate from Calendly to Cal.com

Calendly's free plan limits you to one event type. Standard is $10/user/month, Teams $16/user/month. Cal.com is the open source alternative — unlimited event types, self-hostable, and free. Here's how to switch.

Step 1: Set Up Cal.com

Option A: Cal.com Cloud (free tier available)

  1. Sign up at cal.com
  2. Connect your calendar (Google, Outlook, Apple)

Option B: Self-hosted

git clone https://github.com/calcom/cal.com.git
cd cal.com
cp .env.example .env
# Configure DATABASE_URL, NEXTAUTH_SECRET, CALENDSO_ENCRYPTION_KEY
yarn install
yarn db-deploy
yarn dev

Step 2: Recreate Event Types

Map your Calendly event types to Cal.com:

Calendly SettingCal.com Setting
Event nameEvent title
DurationDuration
LocationLocation (Zoom, Meet, Phone, etc.)
DescriptionDescription
AvailabilityAvailability schedule
Buffer timeBefore/after buffer
Min noticeMinimum booking notice
Date rangeBooking limits
QuestionsCustom booking fields
ConfirmationRequires confirmation
RedirectsRedirect on booking

For each Calendly event type:

  1. Go to Event TypesNew Event Type
  2. Set duration, location, and availability
  3. Add custom questions matching your Calendly form
  4. Configure notifications

Step 3: Connect Calendar

  1. SettingsCalendarsConnect
  2. Authorize Google Calendar / Outlook / Apple Calendar
  3. Select which calendars to check for conflicts
  4. Choose default calendar for new bookings

Replace Calendly URLs:

  • Old: calendly.com/yourname/30min
  • New: cal.com/yourname/30min (cloud) or schedule.yourdomain.com/yourname/30min (self-hosted)

Update everywhere:

  • Email signature
  • Website booking buttons
  • Social media profiles
  • LinkedIn
  • Business cards

Step 5: Set Up Integrations

Calendly IntegrationCal.com Equivalent
Zoom✅ Zoom integration
Google Meet✅ Google Meet
Microsoft Teams✅ Teams
Stripe payments✅ Stripe
Zapier✅ Zapier + webhooks
Salesforce✅ via Zapier/API
HubSpot✅ via Zapier/API
Email reminders✅ Built-in
SMS reminders✅ (Twilio)

Step 6: Team Features (if applicable)

Cal.com supports team scheduling:

  1. Create a Team → invite members
  2. Set up Round Robin event types (auto-distribute bookings)
  3. Create Collective events (find time when all members are free)
  4. Set individual availability per team member

What You'll Gain

  • Unlimited event types (free)
  • Self-hosting option — full data control
  • API access — automate scheduling
  • Custom branding — your domain, your colors
  • Routing forms — qualify leads before booking
  • Recurring bookings — scheduled series
  • Webhooks — real-time booking notifications

Cost Comparison

UsersCalendly StandardCal.com CloudCal.com Self-Hosted
1$10/monthFreeFree
5$50/monthFreeFree
10$100/monthFree (or $15/mo for teams)Free
25$250/month$15/month$10/month (VPS)

Migration Timeline

DayTask
Day 1Set up Cal.com, connect calendar
Day 2Recreate event types, set up integrations
Day 3Update booking links everywhere
Week 2Monitor both platforms, verify bookings work
Week 3Disable Calendly, cancel subscription

Self-Hosting Cal.com: Infrastructure Requirements and Setup

Self-hosting Cal.com gives you unlimited everything — event types, team members, bookings, routing logic — with no per-seat fees. The tradeoff is that you own the maintenance, so it is worth understanding what you are taking on before choosing between the self-hosted path and the Cal.com cloud free tier.

Cal.com is a Next.js application backed by PostgreSQL. The minimum viable self-hosted instance runs comfortably on 2 GB of RAM — a Hetzner CX22 or equivalent. The application requires a few external services: a PostgreSQL database (can run on the same server for small deployments), email sending via SMTP or a transactional email provider (SendGrid, Resend, or Postmark all work), and optionally S3-compatible storage for file uploads if you use the branding customization features. Cloudflare R2 is a popular choice for this since the egress is free.

The environment configuration is the most involved part of the setup. Cal.com has a comprehensive .env.example with over 60 environment variables, but the required ones for a functional deployment are a subset of about 15: database URL, NextAuth secret, email config, and a few app-specific keys. The community-maintained Docker images on Docker Hub simplify the deployment significantly — a Docker Compose file with Cal.com and PostgreSQL containers is sufficient for most self-hosted use cases.

For video integration, Cal.com connects to Zoom and Google Meet via OAuth application registrations. You will need to create a Zoom OAuth app in the Zoom Marketplace and a Google OAuth application in Google Cloud Console, which adds 20-30 minutes to initial setup. The result is that meeting links are automatically generated for each booking, exactly as they are on Calendly. Daily.co integration is available for teams that want native video calling without relying on Zoom or Google.

SSL termination via Caddy or Nginx with Let's Encrypt is the standard reverse proxy setup. Caddy is particularly convenient here because its automatic HTTPS feature handles certificate issuance and renewal with minimal configuration. Point your domain's DNS to the server, add two lines to your Caddyfile, and TLS is handled permanently.

For teams running multiple self-hosted services, Cal.com fits naturally onto an existing Coolify or Dokploy managed platform. See the Coolify vs Dokku comparison if you are evaluating which PaaS layer to use for your overall self-hosted stack — Cal.com is one of the pre-built application templates in Coolify, making the deployment truly one-click if you are already on that platform. For authentication, Cal.com supports OIDC providers, meaning you can use Authentik or Logto to centralize sign-in across all your self-hosted tools including your scheduling platform.

Why Cal.com Wins on Privacy and Data Ownership

Every time someone books a meeting through your Calendly link, that interaction — their name, email, company, time zone, responses to your intake questions, and the booking itself — flows through Calendly's servers. Calendly uses this data for product analytics and, at the enterprise tier, integrates with their broader platform. The data is processed under Calendly's privacy policy, and the individual who booked your meeting has no visibility into how that data is handled.

Self-hosting Cal.com changes this entirely. Booking data lives in your PostgreSQL database on your server. You control the retention policy. You control who has access to the data. For professionals and businesses collecting sensitive intake information — therapists, legal professionals, financial advisors, healthcare providers — this distinction can be the deciding factor. A therapist using self-hosted Cal.com asking intake questions about mental health history is collecting that data into an environment they fully control, rather than a third-party SaaS platform's database.

GDPR compliance becomes cleaner with a self-hosted scheduler. There is no data transfer to a third-party processor by default, so the Data Processing Agreement complexity is reduced. You remain the data controller and the data processor. If you serve EU customers and take privacy obligations seriously, self-hosted Cal.com on EU-based infrastructure is the cleanest approach.

Routing forms deserve a mention here. Cal.com's routing form feature — which asks qualifying questions before presenting booking links — is particularly powerful for sales and support workflows. A potential customer filling out a routing form can be directed to a specialist, a different calendar, or an external URL based on their answers. This entire qualification flow, including all the response data, stays in your own database when you self-host. For B2B businesses using scheduling as a lead qualification tool, this data is genuinely valuable and worth protecting.

Integrating Cal.com with Your Self-Hosted Stack

Cal.com's webhook system is the bridge between your scheduling infrastructure and the rest of your tools. On every booking, cancellation, or rescheduling event, Cal.com can fire a webhook to any URL. This enables a wide range of automations without requiring a managed integration service.

For teams using n8n as their self-hosted automation layer, Cal.com webhooks become a trigger for complex workflows: create a CRM contact in Twenty or EspoCRM when a first booking happens, send a confirmation Slack message in Mattermost, add the contact to a Listmonk email sequence, create a Plane task for follow-up. This kind of integration, which requires expensive middleware when done with Calendly and Zapier, is free with open source tools on your own infrastructure. The best open source alternatives to Calendly overview covers additional scheduling tools if Cal.com does not fit your exact use case.

For teams migrating from Calendly Standard at $10 per user per month, the savings are substantial. A five-person team saves $600 per year by moving to Cal.com self-hosted — enough to fund the VPS that runs not just Cal.com but several other tools simultaneously. A ten-person team on Calendly Teams at $16 per user per month saves $1,920 per year. Combined with other open source migrations across your stack, the cumulative savings from a comprehensive SaaS subscription audit often reach tens of thousands of dollars annually for growing teams.

Long-Term Community Viability and Feature Trajectory

Cal.com has one of the strongest commercial backing stories in the open source scheduling space. The company raised a Series A round and operates a dual model where the open source self-hosted version and the Cal.com cloud product share a codebase. Revenue from the cloud product and enterprise licensing funds the engineering team, which means the open source version benefits from the same development investment.

The project has over 32,000 GitHub stars, a large and active contributor community, and a development cadence that ships meaningful features regularly. Routing forms, instant meetings, event type redirects, and dynamic booking links have all been added as the product has matured. The repository has hundreds of contributors, which distributes the maintenance risk broadly and reduces dependency on any single contributor or organization.

Cal.com's AGPL-3.0 license for the self-hosted version means that modifications to the core must be contributed back to the community if distributed. For most self-hosters — who are running the tool internally rather than redistributing it — this has no practical impact. The commercial Cal.com platform operates under a separate commercial license for enterprise features, which is a common model for sustainable open source companies.

When evaluating Cal.com's feature trajectory, it is worth noting that the roadmap is publicly visible on GitHub and the company actively solicits community input. Features added to the cloud product typically appear in the open source release within a release cycle, meaning self-hosters are rarely significantly behind the cloud version. This is in contrast to some open source projects where the cloud version significantly diverges from the open source release.

The combination of commercial backing, active development, strong community, and a clear business model makes Cal.com one of the lower-risk self-hosted choices in the scheduling category. Unlike tools that are primarily individual projects or community-maintained forks, Cal.com has an organizational incentive to keep the self-hosted version excellent — it drives awareness and adoption that eventually converts to paid cloud customers.


Compare scheduling tools on OSSAlt — features, integrations, and self-hosting options side by side.

See open source alternatives to Calendly on OSSAlt.

The SaaS-to-Self-Hosted Migration Guide (Free PDF)

Step-by-step: infrastructure setup, data migration, backups, and security for 15+ common SaaS replacements. Used by 300+ developers.

Join 300+ self-hosters. Unsubscribe in one click.