Architecture Cal.com

Cal.com Self-Hosted vs Managed: Integrations Are the Cost

Cal.com is open source, so self-hosting looks cheap — until you wire up Google Calendar and notification emails. The full cost, and who should self-host.

E
Eric Founder, Roamer Tech · · 6 min read

Want to start now? Deploy your Cal.com in 60 seconds

Booking and scheduling — the open-source Calendly alternative. From NT$399/mo.

Subscribe to Cal.com

Cal.com is open source, the code is public, and you can host it yourself. So self-hosting must be cheaper.

That conclusion holds right up until you start connecting Google Calendar.

30-second overview

ItemSelf-hostedManaged
Monthly cost (including your time)About NT$1,000–2,200NT$399
Usable as soon as it's installed?No — you still have to connect a calendar and email
Most likely to go wrongNotification emails landing in spam
What failure looks likeThe system looks fine, but you lost the business
When self-hosting pays offYou already run other Node.js services

How Cal.com differs from other self-hosted services

Most self-hosted services work as soon as they're installed. With Cal.com, installation only gets you to the starting line — because its core value isn't in the application itself, it's in its integrations with external services.

A Cal.com that can't sync your Google Calendar and can't send a confirmation email is worth nothing. And neither of those comes for free with the install.

Hassle one: calendar OAuth

To let Cal.com read and write your Google Calendar, you have to go to the Google Cloud Console yourself: create a project, enable the Calendar API, create an OAuth client, configure the redirect URI, and paste the credentials back into Cal.com.

None of that is hard, but it is a one-time chore with deeply unfriendly error messages. One missing slash in the redirect URI breaks the entire flow, and the error screen will not tell you that's why.

Hassle two: notification emails

The Cal.com booking flow sends several emails — confirmations, reminders, reschedule notices, cancellation notices. Self-hosted, you have to wire up SMTP or a third-party email service yourself.

The real problem isn't whether you can connect it; it's whether the mail lands in spam. A sending source you set up yourself has no reputation history, and the odds of being classified as spam are not small. And a booking confirmation in the spam folder means that booking effectively didn't happen — the other person never knows it was confirmed.

This is a "the system looks fine, but you lost the business" failure mode, and it is the hardest kind to notice.

Hassle three: upgrades

Cal.com iterates quickly, and updates often come with database schema changes. Self-hosted, every upgrade is an operation that needs a backup, testing and possibly a migration.

The full cost of self-hosting Cal.com

Valuing your time at NT$600/hour — substitute your own number and redo the math.

ItemPer monthNotes
VPSNT$300–600A Node.js app plus PostgreSQL; 1 GB of RAM is tight
DomainAbout NT$30Annual fee amortized
Email serviceNT$0–300The free tier is usually enough for a small team
Initial setup and integration, amortizedNT$200–5004–10 hours (including OAuth and email), spread over 12 months
Version upgradesNT$300–600About 0.5–1 hour a month
Backups, SSL and odds and endsNT$200
TotalNT$1,030–2,230In a month where nothing goes wrong

For comparison, managed Cal.com on RoamerHost: NT$399/mo (1 vCPU / 2 GB), including SSL, a dedicated subdomain and version maintenance.

This table isn't entirely fair to self-hosting

Two things to add:

First, OAuth and email are one-time costs. Once configured, you rarely touch them again. The table amortizes over 12 months, but if you plan to run this for three years, that cost spreads much thinner.

Second, if you already run other Node.js services, the marginal cost is low. The server is there, the deployment process is there, monitoring is there; adding one more Cal.com won't double your ops workload.

Decision table

Your situationRecommendation
Freelancer or small team who just wants one booking linkManaged — you want the outcome, not the setup process
Already running other self-hosted servicesSelf-hosted — low marginal cost
Bookings directly drive revenue (consulting, clinics, classes)Managed — the cost of a failed email is too high
You need to change the code and deeply customize the flowSelf-hosted — this is the real value of open source
Company security policy says data can't leave your own data centerSelf-hosted — cost isn't the deciding factor here

Ask an earlier question first

Before comparing self-hosted with managed, it's worth confirming you actually need Cal.com.

If all you need is "book a meeting occasionally", Google Calendar's appointment slots may well be enough, with no extra system to run. Cal.com's value lies in rules like multiple event types, buffer times, daily limits and round-robin assignment across a team — if you don't use any of those, what you save is more than a monthly fee; it's the energy of maintaining a system.

The test for when to install a system is whether finding a time slot is genuinely draining you.

FAQ

Q: Why do you say installation "only gets you to the starting line"?

Because Cal.com's core value is in its integrations with external services. A Cal.com that can't sync your calendar and can't send confirmation emails is worth nothing — and neither of those comes with the install.

Q: Why are notification emails the biggest risk?

A self-hosted sending source has no reputation history, and the odds of being classified as spam are not small. And a booking confirmation in the spam folder means the booking never happened, with neither side noticing. That's the worst kind of failure.

Q: Is the OAuth integration difficult?

Not difficult, but fiddly: create a project, enable the API, create an OAuth client, set the redirect URI. The error messages are deeply unfriendly — one missing slash breaks the whole flow, and the screen won't tell you why.

Q: Are upgrades a hassle?

Cal.com iterates fast and updates often come with database schema changes. Self-hosted, every upgrade means a backup, testing and possibly a migration.

Q: When should I self-host?

When you already run other Node.js services (low marginal cost), when you need to change the code for deep customization, or when company policy says the data can't leave your own data center.

Sources and further reading

For Cal.com's features and plans, the official announcements are the authority:

Further reading

Want someone to build it for you?

If you would rather not assemble these workflows yourself, or the scale is big enough that you want someone planning alongside you, Roamer Tech (RoamerHost's parent company) takes on business process automation and custom AI agent development:

Ready to get started with Cal.com?

60 seconds after you subscribe, Cal.com is installed for you — an isolated container with hard resource limits you never share, and HTTPS out of the box.

Subscribe to Cal.com

Billed monthly · no contract · cancel anytime

Hi, I'm Roamer! Tap me anytime with a question and I'll help you out.

Roamer

Roamer - AI assistant

Online
Roamer

Ask me anything, anytime — I'll do my best to help!

Powered by RoamerHost AI