File ICS per il calendario
Trasformi un appuntamento in un file di calendario: Revision de contrato il 21 luglio 2026, dalle 09:00 alle 10:00 UTC, a Madrid, diventa un invito .ics che le principali app di calendario aprono correttamente al primo colpo. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Un file ICS descrive un evento — titolo, data, orario, luogo, promemoria — in un formato che qualunque calendario digitale riconosce e importa con un tap. Questo strumento del KIT lo compone a partire dai dati che inserisci, pronto da allegare a un’email o incorporare in un invito.
Perché un invito di calendario può rompersi
Un invito che si vede perfetto in un calendario e sbaglia il fuso orario in un altro non è un caso raro: è il risultato abituale di un file .ics scritto a mano. Il formato iCalendar, definito nella RFC 5545, è la lingua comune dei programmi di calendario, ma ha regole precise sugli identificatori di fuso orario, sulla divisione delle righe lunghe a 75 ottetti e sulla protezione di virgole e punti e virgola nel testo. Sono proprio i punti che fanno rifiutare un file da un programma severo.
Dove serve un invito generato
Le conferme di prenotazione possono allegare l'invito nel momento in cui il cliente sceglie l'orario, così l'appuntamento finisce subito nel suo calendario. Un webinar può creare un invito per ogni iscritto con il fuso orario corretto, un corso online può generare un solo evento che si ripete ogni settimana invece di un invito per lezione, e un avviso di rinnovo può comparire accanto agli altri impegni. Il risultato è un semplice file: lo alleghi a un'e-mail o lo offra da un link di download.
Perché non basta scrivere la data in un’email
Chi riceve una data scritta in un testo deve aprire il proprio calendario, creare l’evento a mano e ricopiare orario e luogo, con il rischio di sbagliare un dettaglio o di dimenticarsene del tutto. Un file ICS allegato, invece, si apre e propone di aggiungerlo direttamente: stesso titolo, stesso orario, stesso luogo, senza margine di errore per chi lo riceve.
Casi d'uso
Invito a un webinar
Un formatore invia via email il file ICS del prossimo webinar insieme al link di accesso: chi si iscrive lo aggiunge al calendario con un tap, promemoria incluso.
Scadenze fiscali per i clienti
Studio Commercialista Bianchi allega alle comunicazioni periodiche un file ICS con le principali scadenze fiscali del trimestre, così i clienti le vedono direttamente nel proprio calendario.
Appuntamento confermato dal negozio
Un centro estetico di Rimini invia il file ICS dell’appuntamento appena confermato, con promemoria un’ora prima, per ridurre le mancate presentazioni.
Domande frequenti
Funziona con Google Calendar e Apple Calendar?
Sì, il formato ICS è uno standard riconosciuto da Google Calendar, Apple Calendar, Outlook e dalla maggior parte delle app di calendario.
Posso impostare un promemoria?
Sì, puoi definire quanto tempo prima dell’evento far comparire la notifica.
Quanto costa generare un file ICS?
Nel browser è gratis e senza limiti, senza registrazione.
I dettagli dell’evento restano privati?
Sì, il file viene composto nel browser: i dettagli dell’evento non vengono inviati a nessun server durante la creazione.
Posso includere un evento ricorrente?
Puoi generare più eventi separati per una ricorrenza semplice; per regole di ripetizione complesse valuta di generarli uno per uno con questo strumento.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"title": "Reunión de equipo",
"start": "2026-07-20T09:00:00Z"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ical",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Cosa può contenere un evento
Titolo, data e orario di inizio e fine, luogo, una descrizione e un promemoria da far comparire un tempo prima dell’evento: tutto quello che normalmente imposteresti a mano dentro il tuo calendario, generato in un unico file da allegare o condividere, pronto per essere importato senza dover ricopiare nulla campo per campo su ogni dispositivo che lo riceve, computer o telefono.
Un webinar, spedito già pronto da salvare
Chi organizza un webinar allega alla mail di conferma il file ICS dell’evento: chi si iscrive apre l’allegato e lo aggiunge al proprio calendario in un tap, con il promemoria già impostato, invece di doverlo ricreare da zero leggendo la data nel testo dell’email e rischiando di segnarla nel giorno sbagliato per una lettura distratta o veloce fatta di fretta.
Gratis nel browser
La composizione avviene nel browser, gratis e senza limiti: compili i campi, scarichi il file .ics, fatto. Per generarne in blocco — un intero calendario di scadenze, ad esempio — la stessa funzione è disponibile via API, a $0.002 a richiesta, utile quando gli eventi da creare sono molti insieme e non uno alla volta, come nel caso di un intero corso.
Domande tecniche
Posso generare tanti file insieme per un intero calendario?
Nel browser uno alla volta; per generarne in blocco, usa la stessa funzione via API, a $0.002 a richiesta.