Die Calendly API ermöglicht es dir, Terminplanungsfunktionen direkt in deine Software zu integrieren. Ob du eine CRM-Datenbank verbindest, automatisierte Berichte erstellst oder einfach Termine in deiner App verwaltest - die API gibt dir die nötigen Tools. Dieser Guide zeigt, wie du die Calendly API richtig nutzt und wo ihre Grenzen liegen. Wir schauen uns auch an, warum Zeeg für Entwickler oft die bessere Wahl ist.
Was die Calendly API kann
Die Calendly API ist eine REST-Schnittstelle, die dir Zugang zu Terminplanungsdaten verschafft. Mit Version 2 (der aktuellen Version) erhältst du Zugriff auf:
- Nutzerdaten und Organisationsinformationen
- Event-Typen und Buchungslinks
- Geplante Events und Teilnehmerdaten
- Verfügbarkeitszeiten
- Echtzeit-Updates über Webhooks
Die API funktioniert mit verschiedenen Authentifizierungsmethoden und lässt sich in die meisten Entwicklungsumgebungen integrieren.
Authentifizierung: Zugang erhalten
Personal Access Token (einfach)
Für deine eigenen Projekte oder interne Tools:
- Gehe zu deinen Calendly-Einstellungen
- Klicke auf "API & Webhooks"
- Erstelle einen neuen Token
- Nutze den Token in deinen API-Aufrufen
curl -H "Authorization: Bearer your_token_here" \
https://api.calendly.com/users/meOAuth 2.0 (für Multi-User-Apps)
Falls andere Personen deine App nutzen werden:
- Registriere deine App bei Calendly
- Implementiere den OAuth-Ablauf
- Tausche Autorisierungscodes gegen Zugangs-Token
OAuth ist komplexer, aber notwendig für öffentliche Anwendungen.
Wichtige API-Endpunkte
Nutzerinformationen abrufen
# Deine eigenen Infos abrufen
GET /users/me
# Alle Mitglieder einer Organisation
GET /organization_memberships?organization={org_uri}Event-Typen und Buchungslinks
# Alle Event-Typen für einen Nutzer
GET /event_types?user={user_uri}
# Alle Event-Typen für eine Organisation
GET /event_types?organization={org_uri}Geplante Events verwalten
# Events auflisten
GET /scheduled_events
# Event absagen
POST /scheduled_events/{event_uuid}/cancellationVerfügbarkeit prüfen
# Verfügbare Zeiten für einen Event-Typ
GET /event_type_available_times?event_type={uri}&start_time=2024-01-20T00:00:00Z
# Belegte Zeiten eines Nutzers
GET /user_busy_times?user={user_uri}&start_time=2024-01-20T00:00:00ZWebhooks: Echtzeit-Updates erhalten
Webhooks senden dir automatisch Benachrichtigungen, wenn etwas passiert. Das ist praktisch, um deine eigenen Systeme auf dem neuesten Stand zu halten.
Webhooks einrichten
POST /webhook_subscriptions
{
"url": "https://your-app.com/webhook",
"events": ["invitee.created", "invitee.canceled"],
"organization": "{organization_uri}",
"scope": "organization"
}Was wann passiert
- invitee.created: Jemand bucht einen Termin
- invitee.canceled: Termin wird abgesagt
- Terminverschiebung: Sendet sowohl "canceled" als auch "created" Events
Webhook-Daten verarbeiten
app.post('/webhook', (req, res) => {
const { event, payload } = req.body;
switch(event) {
case 'invitee.created':
console.log('Neuer Termin:', payload.event.name);
// Termin in deiner Datenbank speichern
saveAppointment(payload);
break;
case 'invitee.canceled':
console.log('Termin abgesagt:', payload.event.name);
// Termin als abgesagt markieren
cancelAppointment(payload);
break;
}
res.status(200).send('OK');
});Was die API NICHT kann
Hier wird es frustrierend. Wie bei allen guten Dingen hat auch die Calendly API ihre Nachteile:
- Keine Events erstellen: Du kannst keine Termine direkt über die API buchen. Dafür musst du Calendly-Widgets verwenden.
- Keine Verfügbarkeit setzen: Arbeitszeiten und verfügbare Slots können nur über die Calendly-Oberfläche festgelegt werden.
- Keine Event-Typen erstellen: Neue Event-Typen müssen manuell in Calendly erstellt werden.
Das macht die API hauptsächlich zu einem "Read-Only"-Tool mit eingeschränkten Schreibfunktionen.
API v1 wird eingestellt - Zeit für v2
‼️ Wichtig: Calendly stellt API v1 ab August 2025 ein. Falls du noch v1 nutzt, musst du migrieren.
Was v2 besser macht
- OAuth 2.0 statt API-Keys
- Mehr Endpunkte und Features
- Bessere Sicherheit
- Admin-Funktionen für Organisationen
Migrations-Checkliste
- Prüfe, welche API-Version du verwendest
- Erstelle neue OAuth-Zugangsdaten oder Personal Access Tokens
- Teste alle deine API-Aufrufe mit v2
- Achtung: v2 ist NICHT kompatibel mit v1 - Datenstrukturen sind anders
Praktische Beispiele
UTM-Parameter für Tracking
Du kannst benutzerdefinierte Parameter an Buchungslinks anhängen:
https://calendly.com/your-link?utm_source=newsletter&utm_campaign=decemberDiese Daten erscheinen dann in Webhook-Payloads und helfen beim Tracking.
Verfügbare Zeiten anzeigen
GET /event_type_available_times?event_type={uri}&start_time=2024-01-20T00:00:00Z&end_time=2024-01-27T00:00:00ZSo kannst du freie Slots in deiner eigenen App anzeigen, auch wenn die eigentliche Buchung über Calendly läuft.
Häufige Probleme und Lösungen
"Ich kann keine Events erstellen"
Das ist normal. Nutze stattdessen Calendly-Widgets oder Inline-Embeds in deiner App.
"Webhooks funktionieren nicht"
Prüfe:
- Hast du einen kostenpflichtigen Plan? (Webhooks gibt's nicht im kostenlosen Plan)
- Ist deine Webhook-URL erreichbar?
- Gibst du HTTP 200 zurück?
"Rate Limits erreicht"
Calendly dokumentiert keine spezifischen Limits, aber implementiere trotzdem Retry-Logik und gehe sparsam mit Anfragen um.
Zeeg: Eine bessere Alternative

Während die Calendly API frustrierende Einschränkungen hat, bietet Zeeg eine vollständigere Lösung für Entwickler.
Was Zeeg besser macht
Vollständige API: Du kannst Events direkt erstellen, bearbeiten und löschen - nicht nur lesen wie bei Calendly.
DSGVO-konform: Daten bleiben in Europa mit Ende-zu-Ende-Verschlüsselung.
Mehr Flexibilität: Event-Typen und Verfügbarkeit lassen sich programmatisch verwalten.
Zeeg API Beispiel
// Event erstellen (mit Calendly nicht möglich!)
POST /api/v1/events
{
"title": "Kundentermin",
"start_time": "2024-01-20T14:00:00Z",
"duration": 30,
"attendees": ["kunde@example.com"]
}Für deutsche Unternehmen, die echte API-Kontrolle und DSGVO-Konformität brauchen, ist Zeeg die moderne Alternative zu Calendlys eingeschränkter API.
Fazit
Die Calendly API ist okay für einfache Integrationen, hat aber frustrierende Einschränkungen. Du kannst Daten lesen und Webhooks nutzen, aber echte Automatisierung ist schwierig.
Für Unternehmen, die Datenschutz schätzen und mehr API-Kontrolle brauchen, ist Zeeg die bessere Wahl. Die API ist moderner, flexibler und DSGVO-konform.
Falls du bei Calendly bleibst: Vergiss nicht, vor August 2025 auf v2 zu migrieren!
Häufig gestellte Fragen (FAQ)
Ist die Calendly API kostenlos?
Ja und nein. Du kannst die meisten Calendly API-Endpunkte mit einem kostenlosen Calendly-Account nutzen, einschließlich grundlegender GET- und POST-Anfragen. Aber manche Features erfordern kostenpflichtige Pläne:
- Webhooks benötigen mindestens einen Standard-Plan (10€/Nutzer/Monat)
- Enterprise-spezifische Endpunkte erfordern Enterprise-Pläne
- Erweiterte Features wie Admin-Level-Organisationsverwaltung benötigen kostenpflichtige Abonnements
Ist Calendly wirklich kostenlos?
Calendly bietet einen kostenlosen Plan mit grundlegenden Features, aber er ist ziemlich eingeschränkt:
- Nur 1 Event-Typ
- Nur grundlegende Integrationen
- Keine Webhooks
- Calendly-Branding auf Buchungsseiten
Für jeden ernsthaften geschäftlichen Einsatz brauchst du wahrscheinlich einen kostenpflichtigen Plan ab 10€/Nutzer/Monat.
Sind Calendly Webhooks kostenlos?
Nein, Webhooks sind nicht im kostenlosen Plan von Calendly verfügbar. Du brauchst mindestens:
- Standard-Plan (10€/Nutzer/Monat)
- Teams-Plan (16€/Nutzer/Monat)
- Enterprise-Plan (individuelle Preise)
Das ist eine der größten Einschränkungen, wenn du Integrationen baust, die Echtzeit-Updates benötigen.
Kann ich Calendly in meine Website integrieren?
Ja, es gibt mehrere Wege, Calendly zu integrieren:
Embed-Optionen (am einfachsten):
- Inline-Embed: Zeigt die Buchungsseite direkt auf deiner Site
- Popup-Widget: Öffnet Buchung in einem Modal
- Text-/Button-Widget: Schwebender Button, der Popup öffnet
API-Integration (mehr Kontrolle):
- Scheduling-URLs aus der API nutzen
- Verfügbare Zeiten in deiner Oberfläche anzeigen
- Buchungsdaten über Webhooks verarbeiten
Beispiel Inline-Embed:
<div class="calendly-inline-widget"
data-url="https://calendly.com/your-link"
style="min-width:320px;height:630px;"></div>
<script type="text/javascript"
src="https://assets.calendly.com/assets/external/widget.js"></script>Der Embed-Ansatz ist viel einfacher als die direkte API-Nutzung, besonders da du sowieso keine Buchungen über die API erstellen kannst.





