Du schickst drei E-Mails hin und her, bis ein Termin steht. Dein Kunde auch. “Passt Dienstag 14 Uhr?” – “Nein, da hab ich schon was. Mittwoch?” – “Mittwoch nur vormittags.” – “Dann Donnerstag 10 Uhr?” – Bis das geklärt ist, sind zwei Tage vergangen und du hast fünf Nachrichten in deinem Postfach, die nur einem einzigen Zweck dienen: einen 30-Minuten-Termin zu finden. Es gibt eine einfachere Lösung.
Cal.com vs. Calendly vs. Doodle
Die drei bekanntesten Tools für Terminbuchung im Vergleich:
| Kriterium | Calendly | Doodle | Cal.com (self-hosted) |
|---|---|---|---|
| Kosten | ab 10 $/Monat | ab 6,95 €/Monat | 0 € (nur Serverkosten) |
| Self-Hosted möglich | Nein | Nein | Ja |
| Kalender-Sync | Google, Outlook, iCloud | Google, Outlook | Google, Outlook, Apple, CalDAV |
| Video-Integration | Zoom, Teams, Google Meet | Zoom | Zoom, Teams, Google Meet, Jitsi |
| Datenspeicherort | USA | Schweiz/USA | Dein Server |
| Custom Branding | Ab Pro-Plan (12 $/Monat) | Ab Pro-Plan | Ja, vollständig |
| API | Ja (eingeschränkt im Free-Plan) | Eingeschränkt | Ja, vollständig |
| Webhook-Support | Ab Pro-Plan | Nein | Ja |
| Termintypen | Begrenzt im Free-Plan | Umfragen-basiert | Unbegrenzt |
| DSGVO ohne AVV | Nein | Nein | Ja |
Der wichtigste Unterschied: Cal.com ist Open Source. Du kannst den Code einsehen, anpassen und auf deinem eigenen Server betreiben. Keine Nutzerlimits, keine Feature-Gates, keine monatlichen Kosten. Und weil alles auf deiner Infrastruktur läuft, gibt es keine Diskussion über Datenschutz.
Self-Hosted: Ein Link, null Datenschutz-Sorgen
Bei mir läuft Cal.com unter cal.rene-koch.com. Das ist meine Domain, mein Server, meine Daten. Wenn jemand einen Termin bucht, passiert Folgendes:
- Der Kunde sieht meinen Buchungskalender – gehostet auf meinem Server
- Er wählt einen freien Slot und gibt seinen Namen und seine E-Mail ein
- Die Daten landen in meiner PostgreSQL-Datenbank – auf meinem Server
- Die Bestätigung geht über meinen SMTP-Server raus
Zu keinem Zeitpunkt verlassen die Daten meine Infrastruktur. Kein US-Server sieht die E-Mail-Adresse meines Kunden. Kein Drittanbieter weiß, wann ich mit wem spreche. Das ist nicht Paranoia – das ist einfach saubere Datenverarbeitung.
Was das für die DSGVO bedeutet:
- Kein Auftragsverarbeitungsvertrag nötig – du bist selbst Verantwortlicher
- Keine Drittlandübermittlung – alles bleibt in deinem Rechenzentrum
- Volle Löschkontrolle – du löschst Daten, wenn du willst, nicht wenn der Anbieter es erlaubt
- Datenschutzerklärung bleibt einfach – “Ihre Terminbuchungsdaten werden auf unserem eigenen Server in Deutschland verarbeitet”
Vergleich das mal mit dem Aufwand, den du betreiben musst, um Calendly DSGVO-konform zu nutzen: AVV abschließen, Standardvertragsklauseln prüfen, Transfer-Impact-Assessment dokumentieren, in der Datenschutzerklärung auf US-Übermittlung hinweisen. Das alles entfällt.
Website-Integration
Du siehst das Ergebnis direkt auf meiner Website. Wenn du auf Erstgespräch vereinbaren klickst, öffnet sich ein Buchungsfenster. Das ist Cal.com – eingebettet als JavaScript-Widget.
Die Integration funktioniert so:
<!-- Cal.com Embed -->
<script>
(function (C, A, L) {
// Cal.com embed script
// Host: cal.rene-koch.com
})(window, "https://cal.rene-koch.com", "init");
</script>
Das Embed-Script lädt von meinem eigenen Server, nicht von cal.com. Es fügt sich in das bestehende Design ein und öffnet sich entweder als Popup oder als eingebettetes Element – je nachdem, wie du es konfigurierst.
Funktioniert auf jeder Website: Egal ob Astro (wie bei mir), WordPress, Shopify, eine statische HTML-Seite oder ein Baukasten – das Embed ist ein simples JavaScript-Snippet. Einfügen, Domain anpassen, fertig.
Was der Besucher sieht:
- Verfügbare Zeitfenster basierend auf deinem echten Kalender
- Verschiedene Termintypen (Erstgespräch 30 Min., Workshop 60 Min., etc.)
- Ein sauberes Buchungsformular ohne Calendly-Branding
- Die Bestätigung per E-Mail mit Kalendereinladung
Kein “Powered by Calendly”-Badge, kein fremdes Logo. Deine Domain, dein Design, dein Branding.
Integration mit Jitsi und n8n
Hier wird es spannend. Cal.com steht bei mir nicht allein – es ist Teil eines größeren Systems.
Jitsi-Integration:
Cal.com hat eine eingebaute Jitsi-Integration. Ich habe meet.rene-koch.com als Jitsi-Host hinterlegt. Wenn jemand einen Video-Termin bucht, generiert Cal.com automatisch einen Jitsi-Meeting-Link. Der Link landet in der Bestätigungs-E-Mail und in der Kalendereinladung. Kein manuelles Erstellen von Meeting-Räumen, kein Kopieren von Links. Mehr dazu im Artikel über Videokonferenzen mit Jitsi.
n8n-Webhook:
Über Webhooks kann Cal.com bei jeder Buchung ein Signal an n8n senden. Was dann passiert, bestimmst du:
- CRM-Eintrag erstellen: Neuer Kontakt oder Aktivität in Twenty (mein CRM), automatisch mit Name, E-Mail und Termindetails
- Benachrichtigung: Push-Nachricht auf mein Handy über Ntfy, wenn ein Termin gebucht wird
- Vorbereitung: n8n kann automatisch eine Notiz mit Kontext zum Kunden erstellen – bisherige Kommunikation, offene Angebote, letzter Kontakt
- Follow-up: Nach dem Termin automatisch eine Danke-Mail oder eine Zusammenfassung senden
Das Zusammenspiel sieht so aus:
- Kunde bucht Termin auf rene-koch.com
- Cal.com erstellt den Termin + Jitsi-Link
- Cal.com sendet Webhook an n8n
- n8n erstellt Kontakt in Twenty (CRM)
- n8n schickt mir eine Benachrichtigung
- Kunde bekommt Bestätigung mit Meeting-Link
Alles automatisch. Alles auf meinem Server. Kein Zapier, kein Make.com, keine dritte Partei.
Häufige Fragen
Kann ich mehrere Kalender verbinden?
Ja. Cal.com unterstützt die gleichzeitige Verbindung mit Google Calendar, Outlook/Office 365, Apple Calendar und jedem CalDAV-kompatiblen Kalender. Das System prüft alle verbundenen Kalender auf Konflikte – wenn du in einem Kalender einen Termin hast, wird der Slot automatisch als belegt angezeigt. Du kannst auch festlegen, in welchen Kalender neue Buchungen eingetragen werden sollen.
Funktioniert das mit Google Calendar?
Ja, das ist eine der häufigsten Integrationen. Du verbindest deinen Google Account einmalig, und Cal.com synchronisiert sich in beide Richtungen: Bestehende Termine werden als belegt erkannt, neue Buchungen werden in deinen Google Calendar eingetragen. Die Verbindung läuft über OAuth – Cal.com speichert kein Google-Passwort, sondern nur ein Zugangstoken, das du jederzeit widerrufen kannst.
Kann ich verschiedene Termintypen anlegen?
Ja, unbegrenzt viele. Bei mir gibt es zum Beispiel:
- Erstgespräch (30 Minuten, kostenlos)
- Technische Beratung (60 Minuten)
- Workshop (90 Minuten)
Für jeden Termintyp kannst du eigene Einstellungen festlegen: Dauer, Vorlaufzeit, Pufferzeit zwischen Terminen, maximale Buchungen pro Tag, verfügbare Zeiten und welche Fragen im Buchungsformular gestellt werden. Du kannst auch Gruppen-Events erstellen, bei denen sich mehrere Personen für den gleichen Slot anmelden.
Was kostet Cal.com self-hosted?
Die Software selbst kostet nichts – Open Source, keine Lizenzgebühren, keine Nutzer-Limits, keine Feature-Einschränkungen. Was du brauchst, ist ein Server. Cal.com läuft als Docker-Container und braucht eine PostgreSQL-Datenbank und Redis. Das passt problemlos auf einen VPS, den du vielleicht schon hast. Wenn du Cal.com als einzige Anwendung betreibst, reicht ein kleiner Server für ca. 5-10 Euro pro Monat. Wenn du bereits einen Server mit Docker hast, kostet es dich nur die Einrichtungszeit – bei mir läuft Cal.com neben 60+ anderen Containern, ohne dass ich dafür extra zahle.
Du willst wissen, welche anderen Prozesse du automatisieren kannst? Lies weiter bei Workflows automatisieren ohne Code. Wenn dich interessiert, wie ein CRM ohne Salesforce aussieht, findest du das bei CRM für kleine Unternehmen. Und wenn du deine eigene Terminbuchung aufsetzen willst, ohne dich selbst durch die Technik zu kämpfen – lass uns reden.