O que é um arquivo ICS? O convite de calendário, por dentro

Docs Nov 1, 2026 5 min read

Um arquivo ICS é um evento de calendário escrito em texto puro. Chega como anexo de e-mail, está por trás de todo botão «adicionar ao calendário» e é a razão de um convite conseguir aparecer no seu calendário mesmo quando quem envia usa um software completamente diferente do seu.

Renomeie um para .txt e abra — o conteúdo é legível, e quase todo problema de calendário que as pessoas enfrentam está visível ali.

Como é por dentro

BEGIN:VCALENDAR
METHOD:REQUEST
BEGIN:VEVENT
UID:[email protected]
DTSTART;TZID=America/Sao_Paulo:20261110T140000
DTEND;TZID=America/Sao_Paulo:20261110T150000
SUMMARY:Revisão do projeto
LOCATION:Sala 3
END:VEVENT
END:VCALENDAR

UID: por que remarcar não cria duplicata

Todo evento carrega um UID — um identificador único que permanece o mesmo durante toda a vida daquele evento.

Quando uma reunião muda, o software do organizador envia um novo ICS com o mesmo UID e um número de sequência maior. Seu calendário reconhece que é o mesmo evento e atualiza a entrada existente em vez de acrescentar outra.

É exatamente por isso que aparecem eventos duplicados. Se uma ferramenta gera um UID novo a cada exportação — alguns sistemas de agendamento e links de newsletter fazem isso — cada atualização chega como um evento novo em folha, e você acaba com três cópias de uma reunião. As duplicatas não são bug do seu calendário; disseram a ele que eram eventos diferentes.

METHOD: por que alguns convites têm botões

Então quando um convite chega como anexo simples sem botões de resposta, normalmente é um arquivo PUBLISH, ou um REQUEST encaminhado de um jeito que perdeu a condição de convite. Aceitá-lo adiciona o evento ao seu calendário mas não diz nada ao organizador — e é assim que alguém aparece como «não respondeu» a uma reunião que pretende ir.

Fusos horários: a causa de quase todo horário errado

Quando uma reunião cai no calendário com horas de diferença, quase sempre é isso. A segunda variante comum é um evento exportado de um sistema cujo próprio fuso estava errado — aí o arquivo é internamente coerente e uniformemente incorreto.

Eventos de dia inteiro têm a própria versão disso. Um evento de dia inteiro correto é escrito como uma data sem hora nenhuma (DTSTART;VALUE=DATE:20261110). Escrito como hora — meia-noite em algum fuso — ele escorrega para o dia anterior ou seguinte para quem estiver longe o bastante a leste ou oeste. É por isso que um aniversário às vezes cai na data errada.

Eventos recorrentes e mudar só um

Uma reunião semanal não é guardada como cinquenta e dois eventos. É um evento mais uma regra:

RRULE:FREQ=WEEKLY;BYDAY=MO;COUNT=52

O calendário gera as ocorrências a partir dessa regra. Mais duas linhas tratam as exceções que toda agenda real produz: EXDATE apaga uma ocorrência, e um evento separado com RECURRENCE-ID substitui uma — o mecanismo por trás de «a reunião desta semana passou para terça» sem mexer no resto da série.

O suporte a essas exceções varia entre programas, por isso uma ocorrência modificada às vezes volta atrás, ou aparece duas vezes, quando uma série atravessa sistemas.

Importar vs assinar: a distinção que mais importa

Importar um ICS copia os eventos para o seu calendário uma vez. Passam a ser seus, você pode editá-los, e estão congelados. Se a origem mudar, nada acontece — sua cópia fica como estava.

Assinar uma URL ICS mantém um vínculo. Seu calendário rebusca o arquivo periodicamente, e mudanças na origem aparecem. Você não pode editar os eventos porque eles não são realmente seus.

Quase todo mundo cai nisso pelo menos uma vez: uma grade de aulas, uma tabela de jogos ou a agenda compartilhada de um time é importada, a organização então muda várias datas, e o calendário segue mostrando em silêncio as antigas. Nada avisa, porque do ponto de vista do calendário nada deu errado.

A regra é simples. Se a origem vai continuar mudando, assine. Se é um evento único, importe. Links de assinatura normalmente são uma URL terminada em .ics, às vezes começando com webcal://, que é a mesma coisa endereçada a um app de calendário.

Uma ressalva: calendários assinados atualizam no ritmo do próprio aplicativo, que pode ser de várias horas ou até um dia.

Consulta rápida

Resolva seu problema de arquivo: Conversor de PDF Experimente grátis — Conversor de PDF →