iCal (iCalendar)
iCal es la abreviatura de iCalendar, el formato estándar abierto (RFC 5545) que usan las apps de calendario para intercambiar eventos. Un archivo iCal es un archivo de texto con extensión .ics, y un enlace iCal es una URL que apunta a uno: Google Calendar, Outlook, Apple Calendar y casi cualquier otro calendario pueden importar esos eventos una sola vez o suscribirse para que se actualicen solos. iCal también fue el nombre de la app de calendario de Apple para Mac hasta 2012, cuando pasó a llamarse Calendario, y por eso la palabra tiene los dos significados.
Comprendiendo iCal (iCalendar)
El estándar iCalendar se publicó en 1998 y se ha convertido en el lenguaje universal para los datos de calendario. Un archivo .ics (o feed iCal) contiene texto estructurado que describe eventos de calendario, incluyendo su título, horarios de inicio y finalización, reglas de recurrencia, asistentes, ubicación y descripción. Cualquier aplicación de calendario que admita iCalendar puede leer, importar y suscribirse a estos archivos, sin importar en qué plataforma se hayan creado.
El estándar soporta dos casos de uso principales. Primero, la exportación/importación de archivos .ics estáticos: descargas un archivo desde un calendario y lo importas en otro. Segundo, las suscripciones a calendarios en tiempo real: tu aplicación de calendario se suscribe a una URL que devuelve un archivo .ics actualizado, que se refresca periódicamente para que los cambios realizados en la fuente se propaguen a los suscriptores.
Para la productividad personal, iCal es el mecanismo que permite el intercambio de calendarios entre plataformas. Añadir un programa de conferencias, partidos de un equipo deportivo o el calendario de días festivos a tu agenda personal casi siempre utiliza una URL de suscripción iCal. Para los desarrolladores, el formato iCalendar es esencial para construir cualquier herramienta que cree, lea o sincronice eventos de calendario en distintas plataformas.
Los campos comunes de iCalendar incluyen DTSTART y DTEND para los horarios de los eventos, RRULE para los patrones de recurrencia (por ejemplo, 'todos los lunes a las 9am'), ATTENDEE para las direcciones de correo de los participantes y ORGANIZER para el creador del evento. Los componentes VTIMEZONE gestionan las conversiones horarias, que suelen ser una fuente frecuente de errores en integraciones de calendario.
Qué hay dentro de un archivo .ics: es texto plano que puedes abrir con cualquier editor. Empieza con BEGIN:VCALENDAR, seguido de VERSION:2.0 y una línea PRODID con el nombre de la app que lo generó. Cada evento va en su propio bloque, de BEGIN:VEVENT a END:VEVENT, con un UID (un identificador estable para que una actualización reemplace el evento correcto), DTSTAMP, DTSTART, DTEND y SUMMARY, y de forma opcional LOCATION, DESCRIPTION, RRULE y ATTENDEE. END:VCALENDAR cierra el archivo. Cada propiedad ocupa una línea NOMBRE:valor, y las líneas de más de 75 octetos continúan en la siguiente, que empieza con un espacio. Una hora que termina en Z está en UTC; cualquier otra lleva un parámetro TZID que remite a un bloque VTIMEZONE.
Cómo usar iCal en Google Calendar, Outlook y Apple Calendar: en Google Calendar añades un feed desde Otros calendarios con la opción de URL, y cargas un archivo desde Importar y exportar en la configuración. Outlook llama calendario de Internet a un feed suscrito, y las invitaciones a reuniones que envía y recibe son adjuntos .ics: eso es lo que Outlook llama archivo iCalendar. En Mac, la app Calendario se suscribe desde Archivo, Nueva suscripción a calendario. Un enlace webcal:// es el mismo feed servido por HTTP; el prefijo webcal solo le indica a tu dispositivo que lo abra en la app de calendario.
Conexión iCal frente a conexión por API: herramientas de reservas, gestores de proyectos y portales escolares suelen ofrecer una conexión iCal, que es una URL privada que tu calendario lee. Va en un solo sentido y es de solo lectura. Tu app de calendario decide cada cuánto vuelve a consultarla, así que los cambios pueden tardar horas en aparecer, no puedes editar ni responder a esos eventos, y cualquiera que tenga la URL puede leer el feed, así que trátala como una contraseña. Una conexión por API (directa) inicia sesión en el proveedor del calendario con OAuth, por ejemplo la API de Google Calendar o Microsoft Graph para Outlook. Funciona en ambos sentidos: la app puede crear, mover y borrar eventos, y los cambios aparecen en minutos. Usa un feed iCal para publicar o seguir un calendario; usa una conexión por API cuando una herramienta tenga que gestionar tu agenda.
iCal no es CalDAV: iCalendar es el formato de los datos, mientras que CalDAV (RFC 4791) es el protocolo que usan servidores como iCloud o Fastmail para sincronizar calendarios en ambos sentidos, transportando datos iCalendar por debajo. El antiguo iCal Server de Apple era un servidor CalDAV, no otro formato de archivo.
Cómo GAIA usa iCal (iCalendar)
GAIA usa conexiones directas por API, no feeds iCal. Conecta Google Calendar u Outlook y GAIA podrá leer, crear, mover y borrar eventos en esos calendarios. Un feed al que te suscribiste dentro de Google Calendar (días festivos, el calendario de tu equipo deportivo, un calendario compartido del trabajo) es uno más de tus calendarios allí, así que GAIA también ve esos eventos y los tiene en cuenta al planificar tu día o avisarte de un conflicto. GAIA no importa archivos .ics ni se suscribe a URLs iCal por sí mismo: primero añade el feed a tu app de calendario.
Conceptos relacionados
Gestión de calendario con IA
La gestión de calendarios con inteligencia artificial consiste en usar IA para programar, organizar y optimizar tu calendario: encuentra los momentos ideales para reuniones, protege bloques de concentración, prepara resúmenes de reuniones y coordina eventos con tus tareas y comunicaciones.
Automatización de calendario
La automatización de calendario utiliza IA para gestionar de manera inteligente tu agenda, buscando los mejores horarios para reuniones, preparando resúmenes, reservando tiempo para concentrarte y coordinando eventos del calendario con tus tareas y comunicaciones.
Programación de reuniones
Programar reuniones es elegir hora, duración y lugar de una reunión que sirva a cada asistente requerido, incluyendo mandar la invitación y manejar cambios.
Bloqueo de tiempo
El bloqueo de tiempo es un método de organización en el que divides tu día en bloques dedicados, cada uno asignado a una tarea o tipo de trabajo concreto, transformando tu calendario en un plan detallado para el día.
Programación inteligente
La programación inteligente elige sola el horario de reunión según disponibilidad, zonas horarias, prioridades y ritmos de trabajo, sin idas y vueltas por correo.
