Jak postawić Cal.com na Saplo (rezerwacja terminów zamiast Calendly)

Cal.com to open source rezerwacja terminów bez limitu typów wydarzeń i bez opłaty od osoby w zespole. Pokazujemy, jak postawić go na Saplo i skonfigurować pierwszy termin.

Grzegorz Kalmus· ·61 wyświetleń

Calendly na darmowym planie ogranicza konto do jednego typu wydarzenia i podstawowych integracji, a większość przydatnych funkcji (wiele typów spotkań, routing zgłoszeń do zespołu, usuwanie brandingu Calendly) jest zamknięta za płatną subskrypcją liczoną od osoby w zespole. Cal.com to open source alternatywa, która robi to samo (strona rezerwacji, typy wydarzeń, synchronizacja z kalendarzem, automatyczne potwierdzenia mailowe), tyle że postawiona na Twoim własnym Boxie, bez limitu typów wydarzeń i bez opłaty miesięcznej za osobę. Poniżej krok po kroku, jak postawić Cal.com na Saplo, jak wygląda pierwsza konfiguracja, skąd wziąć integracje z kalendarzem i na co zwrócić uwagę, jeśli przenosisz się z Calendly.

Dlaczego Cal.com zamiast płatnego Calendly

Calendly liczy cenę według liczby użytkowników w zespole i odblokowuje kolejne funkcje (wiele typów wydarzeń, własna domena, usunięcie brandingu) dopiero na wyższych planach płatnych co miesiąc. Cal.com odwraca ten model:

  • bez limitu typów wydarzeń - dowolna liczba różnych spotkań do rezerwacji, płacisz tylko za Box, na którym stoi, nie za każdy dodatkowy typ,
  • bez opłaty od osoby w zespole - jeden Box obsłuży tyle kont, ile potrzeba, bez naliczania za każdego dodanego członka zespołu,
  • dane rezerwacji na Twoim Boxie - historia spotkań i dane zapraszanych osób nie leżą na cudzej infrastrukturze, co ma znaczenie przy RODO i pracy z danymi klientów,
  • własna domena bez brandingu Cal.com - strona rezerwacji działa pod Twoją domeną od pierwszego dnia, bez dopłacania za usunięcie logo Cal.com ze stopki,
  • kod źródłowy jest jawny - to open source projekt rozwijany publicznie na GitHubie, więc w razie potrzeby możesz sprawdzić dokładnie, jak działa, zamiast ufać na słowo zamkniętemu produktowi SaaS.

Wymagania

Żeby postawić Cal.com na Saplo, potrzebujesz:

  • Boxa z uruchomionym Dockerem (silnik włącza go automatycznie przy instalacji z katalogu, wymagany jest nesting w kontenerze, co Saplo ma domyślnie),
  • minimum 2 GB RAM wolnego na Boxie (Cal.com to aplikacja Next.js, cięższa niż proste narzędzia typu Listmonk czy Vaultwarden),
  • domeny albo subdomeny *.saploapp.pl w cenie każdego planu, pod którą stanie strona rezerwacji.

Tak jak Listmonk, Cal.com nie korzysta ze współdzielonej bazy MySQL Boxa. Wymaga własnego Postgresa (nie ma opcji SQLite), więc receptura stawia razem z Cal.com osobny kontener Postgres dedykowany wyłącznie tej instalacji. To trochę więcej zużytego RAM niż przy lżejszych aplikacjach, ale za to dane rezerwacji nie mieszają się z żadną inną instalacją na Boxie.

Instalacja krok po kroku

  1. W panelu Saplo wejdź w Katalog aplikacji i wybierz Cal.com (kategoria "Narzędzia dla firmy").
  2. Wskaż Box, na którym ma stanąć, i domenę albo subdomenę, pod którą będzie dostępna strona rezerwacji.
  3. Zatwierdź instalację. Silnik stawia kontener Docker z obrazem calcom/cal.com, obok niego własny kontener Postgres na dane, i wystawia aplikację pod wskazaną domeną przez nginx z darmowym SSL. Migracja schematu bazy i seed sklepu z integracjami uruchamiają się same przy pierwszym starcie kontenera, nie musisz nic klikać ręcznie.
  4. Po uruchomieniu wejdź na <Twoja domena>/auth/signup i załóż pierwsze konto. Cal.com nie tworzy konta administratora automatycznie przy instalacji, robi to pierwszy zarejestrowany użytkownik przez formularz rejestracji, tak samo jak w Matomo czy Ghost.
  5. Status aplikacji w panelu Saplo zmienia się na "uruchomiona" po kilkudziesięciu sekundach od zatwierdzenia instalacji, licząc od momentu, gdy kontener Postgres skończy inicjalizację bazy.

Pierwsza konfiguracja

  1. Po zalogowaniu w Availability ustaw godziny, w których można Cię rezerwować, i strefę czasową, żeby Cal.com nie proponował terminów poza Twoimi godzinami pracy.
  2. W Apps podłącz kalendarz (Google Calendar, Outlook albo CalDAV), żeby Cal.com widział istniejące zajęte terminy i nie proponował ich do rezerwacji, oraz Zoom albo Google Meet, jeśli spotkania mają się odbywać online.
  3. W Event Types utwórz typ spotkania (np. "Konsultacja 30 minut"), ustawiając czas trwania, pytania dla zapraszanego i sposób potwierdzenia (automatyczne albo ręczne).
  4. W Settings → General ustaw markę: nazwę firmy, logo i motyw kolorystyczny strony rezerwacji, żeby wyglądała spójnie z resztą Twojej witryny.
  5. Udostępnij link do strony rezerwacji (np. <Twoja domena>/twoj-login/nazwa-wydarzenia) klientom, albo osadź widget rezerwacji na swojej stronie przez wbudowany kod embed.

Integracje i automatyzacje

Cal.com ma wbudowany sklep z integracjami (Apps) obejmujący kalendarze (Google Calendar, Outlook, Apple Calendar, CalDAV), wideokonferencje (Zoom, Google Meet, Microsoft Teams, Cal Video wbudowane w samą aplikację) i płatności za spotkania (Stripe) dla konsultacji płatnych z góry. Każda rezerwacja i odwołanie wysyła webhook, więc jeśli potrzebujesz własnej automatyzacji (np. dodanie klienta do CRM po umówieniu spotkania albo wysyłkę SMS-a przypominającego), podłączasz webhook Cal.com pod przepływ w n8n postawionym na tym samym albo innym Boxie w katalogu aplikacji Saplo, bez wychodzenia poza własną infrastrukturę. Cal.com wystawia też REST API, jeśli wolisz zintegrować rezerwacje bezpośrednio z własną aplikacją zamiast przez webhooki.

Backup i bezpieczeństwo

Kopie zapasowe zależą od wybranego planu: Box L i wyższe mają backup wbudowany w cenę (7 dni wstecz dla L, 14 dni dla XL, 30 dni plus kopia offsite dla XXL), a do Box S i M można dokupić backup dzienny jako dodatek. Przy Cal.com backup obejmuje zarówno pliki aplikacji, jak i osobny kontener Postgres, w którym leżą wszystkie rezerwacje, więc warto go mieć włączonego, zanim historia spotkań urośnie na tyle, że jej utrata realnie zaboli. Panel Saplo pokazuje status certyfikatu SSL i odnawia go automatycznie, a dostęp do panelu administracyjnego Cal.com warto dodatkowo zabezpieczyć silnym hasłem, bo to w nim leżą dane kontaktowe wszystkich osób, które kiedykolwiek się z Tobą umówiły.

Migracja z Calendly na Cal.com

Calendly nie oferuje oficjalnego eksportu typów wydarzeń ani rezerwacji do formatu, który Cal.com zaimportuje jednym kliknięciem, więc migracja jest ręczna, ale krótka. Odtwarzasz typy wydarzeń w Event Types (nazwa, czas trwania, pytania dla zapraszanego), podłączasz ten sam kalendarz, który miałeś podłączony w Calendly, żeby Cal.com widział już zajęte terminy z przyszłości, i podmieniasz link do rezerwacji wszędzie, gdzie go publikowałeś (stopka maila, strona kontaktowa, media społecznościowe). Stare rezerwacje z Calendly zostają w Calendly (nie przenosisz historii), ale nowe od dnia przełączenia trafiają już do Cal.com na Twoim Boxie.

Płatny Calendly kontra Cal.com na Saplo

Calendly Cal.com na Saplo
Koszt rośnie z liczbą użytkowników w zespole w cenie planu Saplo, bez względu na liczbę kont
Limit typów wydarzeń 1 na planie darmowym, więcej płatne brak limitu
Własna domena bez brandingu funkcja płatna wbudowane od początku
Gdzie są dane serwery Calendly Twój Box
Integracja z kalendarzem wbudowana wbudowana, w Cal.com
Webhooki i automatyzacje od planu Teams wzwyż wbudowane na każdym planie
Kod źródłowy zamknięty open source, jawny
Kto administruje Calendly Ty, ale bez ręcznego setupu serwera

Najczęstsze pytania

Czy Cal.com umie to samo co Calendly? Podstawowe funkcje (typy wydarzeń, dostępność, integracja z kalendarzem, automatyczne potwierdzenia mailowe, strona rezerwacji pod własną domeną) tak. Niektóre zaawansowane funkcje enterprise (routing zgłoszeń do zespołu, zaawansowane raportowanie) są w Cal.com skromniejsze niż w najwyższych płatnych planach Calendly, ale do rezerwacji spotkań z klientami w zupełności wystarczają.

Czy muszę ręcznie zakładać konto administratora? Nie, ale też nie robi tego instalator automatycznie. Pierwsze konto zakładasz sam przez formularz rejestracji pod adresem /auth/signup zaraz po instalacji.

Czy mogę mieć wiele typów spotkań i wielu użytkowników? Tak, bez limitu typów wydarzeń i bez dopłacania za kolejne konta w zespole, ograniczeniem jest wyłącznie RAM i dysk Boxa.

Ile RAM potrzebuje Cal.com? Minimum startowe to 2 GB, bo to aplikacja Next.js razem z własnym Postgresem. Przy większym ruchu na stronie rezerwacji dokładasz RAM Boxowi na bieżąco, bez przenoszenia danych.

Czy da się pobierać płatności za spotkania? Tak, po podłączeniu integracji Stripe w Apps możesz wymagać płatności z góry przy rezerwacji wybranych typów wydarzeń, np. płatnych konsultacji.

Czy stare rezerwacje z Calendly przeniosą się automatycznie? Nie, Calendly nie udostępnia eksportu do formatu importowalnego przez Cal.com. Historia zostaje w Calendly, a nowe rezerwacje od dnia przełączenia linku trafiają już do Cal.com na Twoim Boxie.

Jeśli masz pytania przy stawianiu Cal.com na własnym Boxie, napisz do nas, pomożemy skonfigurować pierwszy typ wydarzenia, integrację z kalendarzem albo automatyzację przez webhooki.