EN
Log in Create an account

How to set up Cal.com on Saplo (appointment booking instead of Calendly)

Cal.com is an open-source appointment booking system with unlimited event types and no per-user fees for teams. We'll show you how to set it up on Saplo and configure your first appointment.

Grzegorz Kalmus ·

Calendly's free plan limits your account to one event type and basic integrations. Most useful features (multiple meeting types, team routing, removing Calendly branding) are locked behind a paid subscription, charged per team member. Cal.com is an open-source alternative that does the same thing (booking page, event types, calendar sync, automatic email confirmations), but hosted on your own Box, with unlimited event types and no monthly per-person fee. Below, you'll find a step-by-step guide on how to set up Cal.com on Saplo, how to perform the initial configuration, where to find calendar integrations, and what to consider if you're migrating from Calendly.

Why choose Cal.com instead of the paid Calendly

Calendly charges based on the number of users in a team and only unlocks additional features (multiple event types, custom domain, branding removal) on higher monthly paid plans. Cal.com reverses this model:

  • unlimited event types - any number of different meetings to book, you only pay for the Box it's on, not for each additional type,
  • no per-person team fee - one Box will handle as many accounts as you need, without charging for each added team member,
  • booking data on your Box - meeting history and invitee data are not stored on someone else's infrastructure, which is important for GDPR compliance and working with client data,
  • custom domain without Cal.com branding - the booking page works under your domain from day one, without paying extra to remove the Cal.com logo from the footer,
  • open source code - this is an open source project publicly developed on GitHub, so if needed, you can check exactly how it works instead of trusting a closed SaaS product at its word.

Requirements

To set up Cal.com on Saplo, you need:

  • A Box with Docker running (the engine automatically enables it during installation from the catalog, container nesting is required, which Saplo has by default),
  • A minimum of 2 GB of free RAM on your Box (Cal.com is a Next.js application, heavier than simple tools like Listmonk or Vaultwarden),
  • A domain or subdomain *.saploapp.pl included in the Price of every plan, under which the booking page will be hosted.

Just like Listmonk, Cal.com does not use the Box's shared MySQL database. It requires its own Postgres (there is no SQLite option), so the recipe sets up a separate Postgres container dedicated exclusively to this installation along with Cal.com. This consumes a bit more RAM than lighter applications, but in return, booking data does not mix with any other installation on your Box.

Step-by-step installation

  1. In your Saplo panel, go to App catalog and select Cal.com (under the "Business tools" category).
  2. Select the Box where it will be installed and the domain or subdomain where the booking page will be available.
  3. Confirm the installation. The engine deploys a Docker container with the calcom/cal.com image, alongside its own Postgres container for data, and exposes the application under the specified domain via nginx with free SSL. Database schema migration and store seed with integrations run automatically on the first container startup; you don't need to click anything manually.
  4. After launching, go to <your-domain>/auth/signup and create your first account. Cal.com does not automatically create an administrator account during installation; the first registered user does this through the registration form, just like with Matomo or Ghost.
  5. The application status in your Saplo panel changes to "running" a few dozen seconds after confirming the installation, counting from the moment the Postgres container finishes database initialization.

Initial setup

  1. After logging in, go to Availability and set the hours you can be booked and your time zone, so Cal.com doesn't suggest appointments outside your working hours.
  2. In Apps, connect your calendar (Google Calendar, Outlook, or CalDAV) so Cal.com can see existing busy slots and avoid suggesting them for booking. Also, connect Zoom or Google Meet if meetings are to be held online.
  3. In Event Types, create an event type (e.g., "30-minute consultation"), setting the duration, questions for the invitee, and confirmation method (automatic or manual).
  4. In Settings → General, set up your branding: company name, logo, and color theme for the booking page, so it looks consistent with the rest of your website.
  5. Share the booking page link (e.g., <your-domain>/your-login/event-name) with clients, or embed the booking widget on your website using the built-in embed code.

Integrations and automation

Cal.com has a built-in integration store (Apps) that includes calendars (Google Calendar, Outlook, Apple Calendar, CalDAV), video conferencing (Zoom, Google Meet, Microsoft Teams, Cal Video built into the application itself) and payments for meetings (Stripe) for paid, upfront consultations. Each booking and cancellation sends a webhook, so if you need your own automation (e.g., adding a customer to a CRM after a meeting is booked, or sending an SMS reminder), you can connect the Cal.com webhook to a flow in n8n hosted on the same or another Box in Saplo's App catalog, without leaving your own infrastructure. Cal.com also exposes a REST API if you prefer to integrate bookings directly with your own application rather than through webhooks.

Backup and security

Backups depend on your chosen plan: Box L and higher plans include backup in the price (7 days back for L, 14 days for XL, 30 days plus offsite backup for XXL). For Box S and M, daily backup can be purchased as an add-on. With Cal.com, backup covers both application files and a separate Postgres container where all reservations are stored. It's worth enabling it before your meeting history grows to the point where losing it would be painful. The Saplo panel shows the SSL certificate status and renews it automatically. Access to the Cal.com administration panel should be additionally secured with a strong password, as it contains the contact details of everyone who has ever booked a meeting with you.

Migrating from Calendly to Cal.com

Calendly doesn't offer an official export of event types or bookings to a format that Cal.com can import with a single click. So, the migration is manual, but it's quick. You recreate event types in Event Types (name, duration, questions for the invitee), connect the same calendar you had connected in Calendly so Cal.com sees your already-booked future slots, and replace the booking link everywhere you've published it (email footer, contact page, social media). Old bookings from Calendly stay in Calendly (you don't transfer history), but new ones from the day of the switch will go to Cal.com on your Box.

Calendly Cal.com on Saplo
Price increases with the number of users in the team included in your Saplo plan, regardless of the number of accounts
Event type limit 1 on the free plan, more are paid no limit
Custom domain without branding paid feature built-in from the start
Where is the data Calendly servers Your Box
Calendar integration built-in built-in, in Cal.com
Webhooks and automations from Teams plan and higher built-in on every plan
Source code closed open source, public
Who administers Calendly You, but without manual server setup

FAQ

Is Cal.com capable of the same things as Calendly? Yes, for basic features (event types, availability, calendar integration, automatic email confirmations, booking page under your own domain). Some advanced enterprise features (team routing, advanced reporting) in Cal.com are more modest than in the highest paid Calendly plans, but they are perfectly sufficient for booking meetings with clients.

Do I have to manually create an administrator account? No, but the installer doesn't do it automatically either. You create the first account yourself via the registration form at /auth/signup immediately after installation.

Can I have multiple meeting types and multiple users? Yes, with no limit on event types and no extra charge for additional team accounts; the only limitation is your Box's RAM and disk space.

How much RAM does Cal.com need? The minimum starting requirement is 2 GB, as it's a Next.js application with its own PostgreSQL. If you experience higher traffic on your booking page, you can add RAM to your Box as needed, without migrating data.

Can I collect payments for meetings? Yes, after connecting the Stripe integration in Apps, you can require upfront payments when booking selected event types, such as paid consultations.

Will old Calendly bookings automatically transfer? No, Calendly does not provide export to a format importable by Cal.com. Your history remains in Calendly, and new bookings from the day you switch the link will go to Cal.com on your Box.

If you have any questions while setting up Cal.com on your own Box, please write to us, and we'll help you configure your first event type, calendar integration, or automation via webhooks.

  • #Cal.com
  • #Calendly
  • #Calendar
  • #Guide
  • #Bookings