Skip to main content
Terminplanung ist der klassische Anwendungsfall für einen Voice-Agenten: Der Assistent prüft während des Anrufs freie Termine, bietet ein paar Optionen an und bucht den, für den sich der Anrufer entscheidet. Die Plattform unterstützt das auf zwei Arten, die sich frei kombinieren lassen:
  1. Calendar integrations – verbinde einmal einen externen Planungsanbieter (Acuity Scheduling, Cal.com, Calendly, eTermin, HighLevel), weise ihn einem Assistenten zu, und der Assistent bekommt automatisch Buchungstools für jeden Anruf. Google Calendar und Outlook verbindest du an derselben Stelle, sie speisen aber den Kalender-Sync der integrierten Engine, statt mitten im Anruf zu buchen – siehe den Hinweis unter der Tabelle.
  2. Die integrierte Buchungs-Engine – definiere eigene Event-Typen mit wöchentlicher Verfügbarkeit und erhalte eine öffentliche, einbettbare Buchungsseite unter /book/{workspace}/{slug}, ICS-Einladungs-E-Mails und eine native-Integration, über die deine Assistenten buchen können. Kein externes Konto nötig. Mehr dazu unter Integrierter Kalender.

Anbieter im Überblick

Google Calendar und Outlook sind Sync-Ziele, keine Buchungsanbieter für mitten im Anruf. Ihre Verbindung macht ihre Belegungszeiten und Terminerstellung für die integrierte Buchungs-Engine verfügbar; Assistenten können sie während eines Gesprächs noch nicht direkt aufrufen. Um mitten im Anruf auf diesen Kalendern zu buchen, stelle entweder einen Cal.com-, Calendly-, Acuity- oder HighLevel-Event-Typ davor, oder verwende einen integrierten Event-Typ mit aktiviertem Kalender-Sync.
Calendly-Link-Modus: Die Scheduling-API von Calendly setzt einen kostenpflichtigen Calendly-Plan voraus. Wenn dein Plan nicht direkt buchen kann, setze booking_mode der Integration auf link – der Assistent einigt sich dann mit dem Anrufer auf eine ungefähre Zeit und schickt statt einer festen Buchung einen Einmal-Buchungslink per SMS oder E-Mail (link_channel). Integrationen, die während des Anrufs an diese Plan-Beschränkung stoßen, werden mit dem Status link_mode markiert.

Eine Integration verbinden

Gehe zu Booking → Integrations und wähle eine Anbieter-Karte:
Füge deinen API-Key ein (Cal.com → Settings → Developer → API Keys) und wähle den API endpoint: US (Standard), EU oder Custom für eine selbst gehostete Cal.com-Instanz. Wähle Load event types, um deine Events nach Name und Dauer abzurufen – du musst keine numerische ID aus der URL kopieren. Die Integration liest außerdem automatisch die benutzerdefinierten Buchungsfragen des Event-Typs; nutze Refresh fields, wenn du sie später in Cal.com änderst. Optionale Zeitzonen-Überschreibung – achte darauf, dass sie zum Cal.com-Event-Typ passt.
Jede Integration wird vor dem Speichern geprüft. Ungültige Zugangsdaten oder Event-Einstellungen werden mit einer klaren Fehlermeldung abgelehnt. Geheime Werte werden nach dem Speichern nie wieder angezeigt. Löschst du die letzte Integration, die ein Acuity-Konto verwendet, widerruft das den OAuth-Token über Acuitys Disconnect-Endpunkt und entfernt die lokale Verbindung. Ein ungenutztes Konto lässt sich außerdem im Acuity-Editor über Disconnect account entfernen; gemeinsam genutzte Konten lassen sich erst trennen, wenn ihre verbleibenden Integrationen entfernt wurden. Bestehende Personal-Access-Token-Integrationen funktionieren weiterhin, erscheinen aber als Legacy connection — reconnect with Calendly. Das erneute Verbinden hebt sie auf OAuth an und entfernt das PAT aus der Integration.

Einem Assistenten zuweisen

Öffne die Einstellungen des Assistenten und hake die Integrationen an, die er nutzen soll (oder rufe PUT /api/v1/assistants/{id}/integrations auf). Jede zugewiesene Integration fügt jedem Anruf ihre eigenen Buchungstools hinzu: Jede Integration erhält check_availability und book_appointment. Die Verwaltungstools kommen nur dort hinzu, wo der Anbieter sie unterstützt: Calendly (finden und stornieren), Acuity (finden, stornieren und umbuchen, entsprechend den von dir gesetzten Umschaltern) sowie die integrierte Engine, die ein workspace-weites Set hinzufügt, das den Anrufer zuerst anhand der Telefonnummer identifiziert und auf E-Mail plus vollständigen Namen zurückfällt. Cal.com-, eTermin- und HighLevel-Kalender bieten derzeit nur Verfügbarkeit und Buchung – der Assistent kann darauf Slots lesen und buchen, aber während eines Anrufs keinen bestehenden Termin nachschlagen, stornieren oder verschieben. Ist mehr als eine Integration zugewiesen, bekommen die Tool-Namen den Integrationsnamen als Suffix (zum Beispiel check_availability_sales). Slots werden immer in der Zeitzone des Assistenten angesagt – stelle sie in den Einstellungen des Assistenten ein.
Calendly-Buchungen lassen sich nicht über die API umbuchen – ein Anrufer, der eine andere Zeit möchte, bekommt stattdessen ein frisches cancel_appointment und book_appointment, oder bucht über den Link in seiner Calendly-Bestätigungs-E-Mail um.
Sag dem Assistenten in seinem Prompt, wann er buchen soll, z. B.: „Bevor du eine Zeit anbietest, rufe check_availability auf. Sobald der Anrufer einen Slot bestätigt, rufe book_appointment mit Name und E-Mail auf.”

Plan-Gating

Dein Plan muss Calendar integrations enthalten. Ist das nicht der Fall, kannst du keine Integrationen erstellen.

Fehlerbehebung

Prüfe, ob der Key in Cal.com noch aktiv ist und ob du einen Live-Key eingefügt hast (Cal.coms Live-Keys beginnen mit cal_live_), und wähle dann erneut Load event types. Bekommst du statt einer leeren Liste einen Authentifizierungsfehler, hast du wahrscheinlich den falschen API-Endpunkt gewählt – ein EU-Cal.com-Konto braucht den EU-Endpunkt (oder Custom für eine selbst gehostete Instanz), nicht den US-Standard.
book_appointment braucht eine gültige E-Mail-Adresse, weil Cal.com eine Buchung ohne diese ablehnt. Gesprochene Adressen („anna at example dot com”) und deutsche Umlaute werden automatisch umgewandelt, bevor die Anfrage rausgeht, sodass die meisten diktierten Adressen funktionieren; ist das, was der Assistent gehört hat, trotzdem nicht verwendbar, wird er angewiesen, erneut zu fragen statt zu buchen. Weise ihn im Prompt an, die E-Mail vor der Buchung zu erfassen und zu bestätigen und dabei eine bereits als Anrufvariable vorliegende Adresse wiederzuverwenden, statt zweimal zu fragen.
Der einzige Ort des Event-Typs in Calendly ist ein Videokonferenz-Link (Google Meet, Zoom, Teams), und der Voice-Agent kann keine Meeting-Links generieren. Bearbeite den Event-Typ in Calendly und füge Custom oder Phone Call → Inbound call als Ort hinzu – Custom ist die sicherste Wahl und funktioniert in jedem Fall. Hat der Event-Typ danach mehr als einen Ort, wähle den richtigen unter Meeting location in der Integration.
In einer Calendly-Organisation sehen Admin- und Owner-Konten die Event-Typen aller Mitglieder, einschließlich Round-Robin- und Collective-Events; ein reguläres Mitgliedskonto sieht nur seine eigenen.
Ein Web Call-Test läuft ohne Telefonnummer, daher kann alles, was der Buchungsablauf aus der Nummer des Anrufers ableitet (einen Buchungslink per SMS senden, einen Termin anhand der Telefonnummer nachschlagen), nicht auf dieselbe Weise funktionieren. Nutze Test → Call im Assistenten-Header für einen realistischen Testlauf: Entweder wählt der Assistent eine von dir eingegebene Nummer, oder du wählst selbst seine eingehende Nummer.
Kommst du nicht weiter? Kontaktiere den Support mit dem Namen der Integration, dem im Assistenten-Editor angezeigten Fehler und einem Transkript des Anrufs, bei dem die Buchung fehlgeschlagen ist.

API & MCP

Alles oben Beschriebene steht über die öffentliche REST-API und als MCP-Tools unter https://<your-domain>/mcp zur Verfügung: Event-Typen, Verbindungen und Buchungsdatensätze der integrierten Engine sind auf Integrierter Kalender beschrieben.