ICS-Datei für den Kalender erstellen
Machen Sie aus einem Termin eine Kalenderdatei: Revision de contrato am 21. Juli 2026 von 09:00 bis 10:00 UTC in Madrid wird zu einer .ics-Einladung, die gängige Kalender-Apps auf Anhieb korrekt öffnen. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Diese Funktion erzeugt aus Titel, Datum, Uhrzeit und Ort eines Termins eine ICS-Kalenderdatei, die sich mit einem Klick in Outlook, Google Kalender oder jede andere gängige Kalender-App importieren lässt, ohne dass der Termin von Hand nachgetragen werden muss. Eine Erinnerung lässt sich direkt mit einbauen.
Warum Kalendereinladungen oft scheitern
Eine Einladung, die in einem Kalender perfekt aussieht und in einem anderen die Zeitzone verdreht, ist kein seltener Fehler, sondern das übliche Ergebnis einer von Hand gebauten .ics-Datei. Das iCalendar-Format nach RFC 5545 ist die gemeinsame Sprache der Kalenderprogramme, hat aber strenge Regeln für Zeitzonenkennungen, das Umbrechen langer Zeilen bei 75 Oktetten und das Maskieren von Kommas und Semikolons im Text. Genau diese Stellen lassen eine Datei bei einem strengen Programm durchfallen.
Wo erzeugte Einladungen helfen
Buchungsbestätigungen können die Einladung in dem Moment anhängen, in dem ein Kunde einen Termin bestätigt, sodass er sofort im Kalender steht. Ein Webinar kann jedem Teilnehmer eine eigene Einladung mit der richtigen Zeitzone schicken, ein Onlinekurs einen einzigen wöchentlich wiederkehrenden Termin statt einer Einladung für jede Stunde, und ein Hinweis auf eine Verlängerung erscheint neben den übrigen Terminen. Das Ergebnis ist schlicht eine Datei, die Sie anhängen oder zum Herunterladen anbieten.
Was eine ICS-Datei enthält
Eine ICS-Datei bündelt alle Angaben eines Termins in einem standardisierten Format: Titel, Start- und Endzeit, Ort, Beschreibung und optional eine Erinnerung eine bestimmte Zeit vorher. Öffnet eine Empfängerin die Datei, bietet ihre Kalender-App automatisch an, den Termin zu übernehmen, ohne dass ein einziges Feld von Hand ausgefüllt werden muss.
Einzelner Termin oder wiederkehrende Reihe
Neben einem einmaligen Termin lässt sich auch eine wiederkehrende Reihe abbilden, etwa ein wöchentlicher Jour fixe jeden Montag über ein Quartal. Die Wiederholungsregel wird in derselben ICS-Datei mitgeliefert, sodass die empfangende Kalender-App die gesamte Serie auf einmal einträgt, statt jeden einzelnen Termin separat zu importieren.
Kompatibilität mit gängigen Kalendern
Das ICS-Format ist ein offener Standard und wird von Outlook, Google Kalender, Apple Kalender und den meisten anderen Kalender-Apps gleichermaßen gelesen, unabhängig vom verwendeten Betriebssystem. Eine per E-Mail versendete ICS-Datei wird von vielen Mailprogrammen sogar automatisch als Terminvorschlag erkannt, noch bevor die Datei geöffnet wird.
Anwendungsfälle
Einladung zu einem Webinar
Eine Marketingagentur versendet zusammen mit der Bestätigungs-E-Mail eine ICS-Datei, damit Teilnehmende den Webinar-Termin mit einem Klick in ihren eigenen Kalender übernehmen können.
Wiederkehrender Jour fixe
Thomas Müller erstellt eine ICS-Datei für den wöchentlichen Teammeeting-Termin über ein ganzes Quartal, statt jeden einzelnen Termin von Hand in den Kalender einzutragen.
Terminbestätigung einer Praxis
Eine Zahnarztpraxis hängt jeder Terminbestätigungs-E-Mail eine ICS-Datei mit dem gebuchten Termin und einer Erinnerung einen Tag vorher an.
Häufige Fragen
Welche Kalender-Apps öffnen eine ICS-Datei?
Praktisch alle gängigen, darunter Outlook, Google Kalender und Apple Kalender, da ICS ein offener Standard ist.
Lassen sich auch wiederkehrende Termine abbilden?
Ja, etwa ein wöchentlicher oder monatlicher Termin über einen festgelegten Zeitraum.
Kann ich eine Erinnerung einbauen?
Ja, mit einer wählbaren Vorlaufzeit, etwa 15 Minuten oder einen Tag vor dem Termin.
Verlassen meine Termindaten den Browser?
Nein, die ICS-Datei wird lokal in Ihrem Browser erzeugt, ohne Übertragung an einen Server.
Wie verschicke ich die Einladung?
Hängen Sie die .ics-Datei an eine E-Mail an oder bieten Sie sie über einen Download-Link an. Die Kalender-App der Empfänger trägt den Termin dann selbst ein, ohne dass jemand ihn abtippen muss.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev/ical \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Reunión de equipo","start":"2026-07-20T09:00:00Z"}'const res = await fetch("https://api.kit.forhosting.com/dev/ical", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"title": "Reunión de equipo",
"start": "2026-07-20T09:00:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ical",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"title": "Reunión de equipo",
"start": "2026-07-20T09:00:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ical", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"title":"Reunión de equipo","start":"2026-07-20T09:00:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"title":"Reunión de equipo","start":"2026-07-20T09:00:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ical", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"title": "Reunión de equipo",
"start": "2026-07-20T09:00:00Z"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ical",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Kostenlos im Browser, mit API für viele Termine
Die Erstellung im Browser ist kostenlos und ohne Anmeldung, geeignet für einzelne Termine. Für die automatisierte Erstellung vieler Termine auf einmal, etwa aus einer Buchungsliste, steht zusätzlich ein programmierbarer Aufruf über die API zur Verfügung, für $0.002 pro Anfrage.
Technische Fragen
Ist die Erstellung kostenlos?
Im Browser uneingeschränkt, ja. Nur wer die Erstellung über die API in ein eigenes System einbindet, zahlt $0.002 pro Anfrage.