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, Outlook, CalDAV und ICS-Feeds sind Kalender für die integrierte Buchungs-Engine, keine Buchungsanbieter für mitten im Anruf. Ihre Verbindung macht Belegungszeiten — und bei Google, Outlook und CalDAV auch das Zurückschreiben von Terminen — für einen nativen Event-Typ verfügbar. Assistenten können sie während eines Gesprächs nicht direkt aufrufen. Um mitten im Anruf auf diesen Kalendern zu buchen, weise Mein Buchungskalender (diesen Event-Typ) dem Assistenten zu, oder stelle einen Cal.com-, Calendly-, Acuity- oder HighLevel-Kalender davor.
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:
Verfügbare Buchungsintegrationen

Buchungsintegrationen — Kalender oder Terminplanungsdienst auswählen

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. Optionale Zeitzonen-Überschreibung – achte darauf, dass sie zum Cal.com-Event-Typ passt.Die Buchungsfragen und Pflichtfelder des ausgewählten Event-Typs werden automatisch geladen. Sprach- und Messaging-Assistenten erfassen die Telefonnummer und benutzerdefinierte Antworten, wenn der Event-Typ sie verlangt. Um eine bestehende Verbindung zu aktualisieren, öffne sie unter Booking → Integrations zur Bearbeitung, prüfe Booking questions (oder nutze Refresh fields nach Änderungen in Cal.com) und wähle Save changes.Aktiviere oder deaktiviere Book, Cancel und Reschedule für jede Integration. Sind Cancel oder Reschedule aktiv, brauchen Anrufer keine Buchungsnummer: Der Assistent findet ihren kommenden Termin über die Telefonnummer, von der sie anrufen, oder über die bei der Buchung verwendete E-Mail-Adresse und den vollständigen Namen.
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

Tools-Einstellungen mit Calendar integrations und Connect a calendar

Assistenten-Settings → Tools → Calendar integrations: Wähle Connect a calendar, um diesem Assistenten eine Buchungsintegration zuzuweisen.

Ö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 und Cal.com (finden, stornieren und umbuchen, entsprechend den von dir gesetzten Umschaltern) sowie die integrierte Engine, die ein workspace-weites Set hinzufügt. Cal.com und die integrierte Engine identifizieren den Anrufer zuerst anhand der Telefonnummer und fallen auf E-Mail plus vollständigen Namen zurück; bei Cal.com-Events mit mehreren Plätzen wird nur der eigene Platz des Anrufers storniert oder verschoben. 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. Ihre Einstellungen bieten deshalb kein Cancel und kein Reschedule an. Dieselben Tools funktionieren auch in Chat- und E-Mail-Gesprächen. Dort gelten Telefonnummer, E-Mail-Adresse und Name des Kontakts nur dann als Identitätsnachweis, wenn der Kanal genau einen Absender bestätigt, zum Beispiel WhatsApp oder eine authentifizierte E-Mail. In E-Mail-Threads, Tickets und Gruppenchats fragt der Assistent nach der Buchungs-E-Mail und dem vollständigen Namen, bevor er einen Termin nachschlägt. Ist mehr als eine Integration zugewiesen, bekommen die Tool-Namen den Integrationsnamen als Suffix (zum Beispiel check_availability_sales). Externe Kalender verwenden ihre konfigurierte Zeitzone; ohne Kalender-Override gilt die Assistenten-Zeitzone. Die integrierte Engine verwendet für Verfügbarkeit, Buchungsbestätigungen und gefundene Termine die Zeitzone des Event-Typs. Weicht sie von der Assistenten-Zeitzone ab, nennen die Voice-Tools den Ort, beispielsweise „Buenos Aires time“.

Welche Zeitzone gilt?

Die Workspace-Zeitzone bestimmt die Dashboard-Anzeige. Die Assistenten-Zeitzone bestimmt die aktuelle Uhrzeit, Zeitvariablen und relative Angaben wie „morgen“; Kampagnen können die Uhr des Anrufs überschreiben. Die Event-Typ-Zeitzone bestimmt wöchentliche Verfügbarkeit und die lokalen Zeiten der Voice-Booking-Tools. Jeder gefundene Termin behält seine Event-Typ-Zeitzone. Die Gast-Zeitzone stammt von der öffentlichen Buchungsseite und gilt für Gast-E-Mails; Neue Voice-Buchungen verwenden die Event-Typ-Zeitzone für Gast-E-Mails. Bei Umbuchungen bleibt die bereits gespeicherte Gast-Zeitzone erhalten. Am 16. Oktober 2026 entspricht 12:00Z 09:00 in Buenos Aires und 14:00 in Madrid: derselbe Zeitpunkt. Übergib dem Buchungstool immer den exakten Startwert aus der Verfügbarkeitsprüfung. Die Buchungssuche per API liefert die Event-Typ-Zeitzone getrennt von der Gast-Zeitzone. Der CLI-Befehl lautet famulor lookup-bookings --phone "+5491100000000".
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.”

Cal.com-Termine verschieben oder stornieren

Was der Workspace benötigt

  1. Verbinde Cal.com unter Buchungen → Integrationen, wähle die Terminart und prüfe die Zeitzone.
  2. Aktiviere Stornieren, Umbuchen oder beides an dieser Verbindung. Die Buchungserlaubnis ist davon unabhängig.
  3. Weise die Verbindung unter Assistenten-Einstellungen → Tools → Kalenderintegrationen zu.
  4. Lege die Hauptsprache und gewünschte Sekundärsprachen fest. Fragen und Bestätigungen folgen der unterstützten Gesprächssprache. Kunden müssen weder Tool-Namen noch Termin-IDs kennen.

Was der Anrufer benötigt

Für den automatischen Telefonnummernabgleich ist keine Prompt-Variable nötig. Aktiviere dafür die Telefonfrage an der Cal.com-Terminart und erfasse die Kundennummer mit Ländervorwahl. Mache sie zum Pflichtfeld, wenn dein Ablauf darauf angewiesen ist, Termine per Telefonnummer zu finden. Eine nur im CRM bekannte Nummer kann nicht mit einem Cal.com-Termin abgeglichen werden, solange sie nicht auch dort hinterlegt ist.

So läuft das Gespräch ab

Der Kunde kann einfach sagen: „Ich möchte meinen Termin verschieben.“ Der Assistent sucht kommende Termine der verbundenen Terminart, nennt Datum und Uhrzeit und fragt bei mehreren Treffern, welcher Termin gemeint ist. Zum Verschieben prüft er freie Zeiten und lässt den Kunden die neue Zeit bestätigen. Zum Stornieren holt er eine ausdrückliche Bestätigung für den konkreten Termin ein. Der Kunde muss keine Termin-ID angeben. Erst wenn Cal.com die Änderung angenommen hat, bestätigt der Assistent den Erfolg. Bei keinem Treffer fragt er nach Buchungs-E-Mail und vollständigem Namen und behauptet keine Änderung. Eine Stornierung lässt sich nicht rückgängig machen. Bei Gruppenterminen mit einzelnen Plätzen wird nur der Platz des zugeordneten Teilnehmers geändert.
Empfehlung für den Prompt: „Hilf Kunden, bestehende Termine zu ändern oder zu stornieren. Suche den Termin, wiederhole Datum und Uhrzeit und hole eine Bestätigung ein. Biete vor dem Verschieben eine aktuell verfügbare Zeit an und bestätige die neue Zeit mit dem Kunden. Halte technische Kennungen aus dem Gespräch heraus.“

Buchungsfragen

Event-Typen der integrierten Engine können mehr abfragen als Name und E-Mail-Adresse. Im Event-Typ-Editor gibt es unter der Beschreibung den Bereich Buchungsfragen, in dem du eigene Fragen hinzufügst — Kurztext, Langtext, E-Mail, Telefon, Adresse, URL, Zahl, eine einzelne Checkbox, Checkbox-Gruppe, Radio-Gruppe, Auswahl, Mehrfachauswahl oder mehrere E-Mail-Adressen — jeweils mit eigenem Label, optionalem Platzhaltertext und einem Pflichtfeld-Schalter. Name ist immer erforderlich. Unter Buchungsfragen stellst du E-Mail und Telefon auf erforderlich oder optional. Für Google Meet und Microsoft Teams bleibt die E-Mail für die Einladung erforderlich. Buchungsseite und Telefonassistent berücksichtigen dieselben Anforderungen. Jede Frage bekommt eine Kennung (aus dem Label abgeleitet, editierbar), die zugleich als URL-Parameter zum Vorausfüllen der öffentlichen Buchungsseite dient, z. B. ?name=Jane+Doe&email=jane@example.com&company=Acme — bei mehrwertigen Feldern den Parameter wiederholen oder eine kommagetrennte Liste verwenden. Eine Frage lässt sich zusätzlich mit Eingabe sperren, wenn über die URL-Kennung vorausgefüllt markieren, sodass sie schreibgeschützt wird, sobald dieser Parameter gesetzt ist — praktisch, wenn eine einbettende Seite die Antwort bereits kennt. Assistenten lesen diese Anforderungen automatisch, ohne zusätzlichen Prompt: Bei der integrierten Engine nennt check_availability in einfachen Worten, was vor der Buchung erfasst werden muss — zum Beispiel „To book, collect: full name; email address (user@domain.tld); phone number in E.164 format (e.g. +4915123456789); Company (required, short text)…” (die Meldung endet mit dem Hinweis, nie eine Buchung zu bestätigen, bevor das Buchungs-Tool nicht erfolgreich war) — und book_appointment verlangt genau diese Felder, ein Parameter pro Frage. Er meldet nie eine erfolgreiche Buchung, wenn die zugrunde liegende Anfrage nicht wirklich erfolgreich war. Cal.com verlangt immer den vollständigen Namen; der ausgewählte Event-Typ legt fest, ob E-Mail, Telefonnummer und benutzerdefinierte Antworten Pflicht sind. Andere externe Anbieter fragen nach vollständigem Namen und E-Mail-Adresse. Eigene Antworten erscheinen auf dem Buchungsdatensatz — im Dashboard, unter answers in GET /api/v1/bookings/{id} und den MCP-Tools get_booking/list_bookings, in der Bestätigungs-E-Mail an Gast und Gastgeber, in der ICS-Einladung und in jedem Buchungs-Webhook (Erstellung, Stornierung und Umbuchung).

Plan-Gating

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

Abgelaufene Verbindung erneut verbinden

Verbindungen zu Google Calendar, Outlook Calendar, Calendly, Acuity Scheduling und HighLevel können ablaufen — das Passwort des Kontos hat sich geändert, der Zugriff wurde widerrufen, oder der gespeicherte Refresh-Token ist ungültig geworden. Famulor erkennt das in dem Moment, in dem ein Refresh fehlschlägt, und markiert die Verbindung sofort, statt auf eine fehlgeschlagene Buchung zu warten.
  • Die betroffene Zeile unter Booking → Integrations zeigt ein bernsteinfarbenes Badge Reconnect required mit einem kurzen Grund, und ein Banner am Anfang des Tabs zählt, wie viele Verbindungen Aufmerksamkeit brauchen.
  • Klicke auf Reconnect (↻) in der Zeile, um dich erneut anzumelden. Bei Google, Outlook, Calendly und Acuity landest du wieder auf demselben Tab Booking → Integrations; bei HighLevel führt der Anmeldevorgang stattdessen zurück zu Automations → Connections — wähle dort denselben Sub-Account, den du ursprünglich verbunden hast, sonst entsteht eine separate Verbindung.
  • CalDAV/ICS-Kalender haben keinen OAuth-Reconnect: Klicke in der Zeile auf Edit, um App-Passwort oder Feed-URL zu aktualisieren.
Workspace-Owner und -Admins erhalten eine E-Mail in dem Moment, in dem eine Verbindung ausfällt, und danach alle 7 Tage eine Erinnerung, solange sie defekt bleibt. Über die API oder MCP zeigt das Integrations-Objekt connection_status und needs_reauth, sodass sich der Verbindungsstatus auch programmatisch überwachen lässt.

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, wenn der ausgewählte Cal.com-Event-Typ sie als Pflichtfeld vorgibt. 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. Wenn die E-Mail-Adresse erforderlich ist, weise ihn im Prompt an, sie 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.

Vorlagen für Buchungs-E-Mails

Header, Footer, Logo und Farben stammen aus dem E-Mail-Design deines Workspaces bzw. Whitelabels. Die Vorschau zeigt nur den bearbeitbaren Betreff und Nachrichtentext. Öffne Booking → Termintypen, lege einen Termintyp an oder bearbeite ihn und wähle Buchungs-E-Mails. Der kompakte Editor trennt E-Mails an Gäste (Bestätigung, Absage, Verschiebung, Erinnerung) und Gastgeber-Benachrichtigungen (neue Buchung, Absage, Verschiebung). Betreff und Nachricht zeigen die tatsächliche Standardvorlage. Du kannst die Standards auf Englisch, Deutsch, Französisch und Spanisch ansehen, direkt bearbeiten, Buchungsvariablen an der Cursorposition einfügen oder die Vorschau mit Beispieldaten öffnen. Auf Standard zurücksetzen stellt den gewählten Nachrichtentyp zurück. Standards verwenden die Sprache des Empfängers; eigene Texte werden unverändert versendet. Leere Felder verwenden den jeweiligen Standard. Wähle eine verifizierte Absenderadresse oder den automatischen Absender. Änderungen übernehmen führt zum Termintyp zurück; erst Termintyp erstellen oder Änderungen speichern speichert die Konfiguration. Abbrechen im E-Mail-Editor verwirft dessen Entwurf. Erinnerungen werden nur mit eingestelltem Erinnerungszeitpunkt versendet. Kalendereinladungen und Anhänge bleiben unabhängig vom bearbeitbaren Nachrichtentext. Die öffentliche API und das MCP-Tool get_booking_email_templates liefern Standards und verfügbare Variablen, ohne E-Mails zu versenden. Eigene Texte lassen sich auch über die API und MCP-Werkzeuge zum Anlegen und Ändern von Termintypen speichern.

Zeitformat

Wähle 12h oder 24h neben Weekly availability. Diese Einstellung gilt auch für Zeitvariablen in Host-E-Mails und die E-Mail-Vorschau. Gäste behalten das auf der öffentlichen oder eingebetteten Buchungsseite gewählte Format für Bestätigungen, Absagen, Verschiebungen und Erinnerungen. Ältere Buchungen ohne gespeicherte Gästeauswahl verwenden das Format des Termintyps. Der Wechsel verändert weder Verfügbarkeiten noch Zeitzonen oder gebuchte Zeitpunkte.

API & MCP

Alles oben Beschriebene steht über die öffentliche REST-API und als MCP-Tools unter https://<your-domain>/mcp zur Verfügung: Integrations-Objekte enthalten connection_status / needs_reauth. Das Auflisten von Calendly- und Acuity-Konten, Event-Typen, Terminarten und Kalendern, das Laden von meetergo-Meeting-Typen und die meetergo-Verfügbarkeitsprüfung lesen verbundene Konten: Ein Workspace-API-Key braucht nur integrations:read, ein nutzergebundener Zugang zusätzlich die Rolle Inhaber oder Admin im Workspace. Kalender-Integrationen anlegen, ändern, löschen oder zuweisen, Calendly oder Acuity verbinden und mit meetergo buchen erfordert einen nutzergebundenen Zugang mit der Rolle Inhaber oder Admin im Workspace; ein Workspace-API-Key erhält dafür 403. Event-Typen, Verbindungen und Buchungsdatensätze der integrierten Engine sind auf Integrierter Kalender beschrieben.

meetergo

Wähle im App Store auf der Karte meetergo die Aktion Verbindung hinzufügen, um eine weitere Verbindung anzulegen, oder Verbindungen verwalten, um eine gespeicherte Verbindung zu bearbeiten. Wähle unter Buchung → Integrationen den Anbieter meetergo. Erstelle in meetergo unter Integrationen → API einen persönlichen Token mit Terminplanungszugriff. Gib ihn ein, lade die Terminarten und wähle Terminart und Zeitzone. Nur ein Plattform-API-Schlüssel benötigt zusätzlich eine Benutzer-ID für die Ausführung; bei persönlichen Tokens bleibt dieses Feld leer. Speichere die Verbindung und weise sie einem Assistenten zu. Mit Buchung erlauben legst du fest, ob der Assistent buchen oder nur Verfügbarkeiten prüfen darf. Die native Verbindung funktioniert in Telefonaten und Textgesprächen. Sie liefert konkrete buchbare Startzeiten unter Berücksichtigung von Dauer und Pufferzeiten. Vor der Buchung erfragt der Assistent vollständigen Namen und E-Mail-Adresse und prüft die gewählte Zeit erneut. Eine noch erforderliche Bestätigung durch Gast oder Gastgeber wird als ausstehend gemeldet. Bei unklarem Buchungsausgang zuerst im Kalender prüfen, bevor du erneut buchst. Für weitere Aktionen wie Umbuchung und Stornierung verbinde meetergo MCP unter Apps mit deinem persönlichen Token und wähle die benötigten Tools. Beide Verbindungen können parallel genutzt werden. Der Terminplanungs-Endpunkt lautet https://mcp.meetergo.com/mcp; der separate Dokumentations-MCP durchsucht nur die Dokumentation. Siehe offizielle MCP-Anleitung. Öffentliche API: POST /api/v1/integrations/meetergo/meeting-types für Terminarten und POST /api/v1/integrations/meetergo/action für Verfügbarkeit und Buchung. Die MCP-Tools heißen list_meetergo_meeting_types, get_meetergo_availability und book_meetergo_appointment. Speichern und Zuweisen erfolgen über die regulären Integrations- und Assistenten-Endpunkte.