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
| Item | Self-hosted | Managed |
|---|---|---|
| Monthly cost (including your time) | About NT$1,000–2,200 | NT$399 |
| Usable as soon as it's installed? | No — you still have to connect a calendar and email | |
| Most likely to go wrong | Notification emails landing in spam | |
| What failure looks like | The system looks fine, but you lost the business | |
| When self-hosting pays off | You 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.
| Item | Per month | Notes |
|---|---|---|
| VPS | NT$300–600 | A Node.js app plus PostgreSQL; 1 GB of RAM is tight |
| Domain | About NT$30 | Annual fee amortized |
| Email service | NT$0–300 | The free tier is usually enough for a small team |
| Initial setup and integration, amortized | NT$200–500 | 4–10 hours (including OAuth and email), spread over 12 months |
| Version upgrades | NT$300–600 | About 0.5–1 hour a month |
| Backups, SSL and odds and ends | NT$200 | |
| Total | NT$1,030–2,230 | In 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 situation | Recommendation |
|---|---|
| Freelancer or small team who just wants one booking link | Managed — you want the outcome, not the setup process |
| Already running other self-hosted services | Self-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 flow | Self-hosted — this is the real value of open source |
| Company security policy says data can't leave your own data center | Self-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
- Cal.com intro: the open source Calendly alternative for scheduling
- Cal.com vs Calendly: branding, paid bookings and what self-hosting really changes
- Cal.com guide: setting availability and connecting Google Calendar
- Cal.com FAQ: calendar sync, notification emails and team use
- RoamerHost Cal.com hosting plans
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: