Título, local, data e hora, fuso horário, repetição, convidados, alertas e notas — depois descarregue o ficheiro .ics ou abra-o diretamente no calendário. Também pode colar uma agenda ou anexar um documento ou uma fotografia para criar vários eventos de uma vez.

Como envio um convite de calendário como anexo .ics?

Coloque os endereços no evento, baixe o .ics e anexe-o a um e-mail comum: cada convidado se torna uma linha ATTENDEE carregando ROLE, PARTSTAT e RSVP, e o destinatário salva o evento com um toque. O que um arquivo baixado não pode fazer é coletar respostas, porque o rastreamento de RSVP precisa de algo que receba e-mails METHOD:REPLY. O ICS Maker não escreve METHOD:REQUEST nem ORGANIZER de propósito: ele não tem servidor de e-mail nem conta, então alegar ser o organizador seria uma mentira sobre a qual o calendário do destinatário poderia agir. Para coletar RSVPs, importe o arquivo para o seu próprio calendário e envie os convites a partir de lá.

Como é uma lista de convidados no arquivo

Cada pessoa é uma linha. ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE:mailto:ada@example.com indica quem foi convidado, que essa pessoa é esperada em vez de opcional, que ainda não respondeu, e que se deseja uma resposta. Um nome de exibição vai em um parâmetro CN se você adicionar um manualmente — ATTENDEE;CN=Ada Lovelace;… — e o próprio endereço é sempre um URI mailto:, que é a única parte com a qual os analisadores são rigorosos.

Um evento com convidados não é o mesmo que um convite

Um convite de verdade é uma mensagem de e-mail: os dados do calendário são anexados como text/calendar; method=REQUEST, o arquivo carrega uma linha METHOD:REQUEST correspondente e um ORGANIZER, e o cliente de e-mail do destinatário transforma isso em botões de aceitar e recusar que enviam de volta um METHOD:REPLY por e-mail. Toda a troca ocorre por e-mail entre dois servidores de calendário.

Este construtor deliberadamente não escreve nem o método nem o organizador. Ele não tem conta, não tem servidor de e-mail e não tem ideia de quem você é, então alegar ser o organizador de um evento seria uma mentira sobre a qual o calendário do destinatário poderia agir. O que você obtém é um evento simples com sua lista de convidados intacta — o que é exatamente o que você quer para anexar, encaminhar ou publicar.

Então, como você realmente convida pessoas?

Anexe o arquivo
Baixe-o e anexe-o a um e-mail comum. Todos recebem um evento que podem salvar com um toque, e ele sobrevive ao ser encaminhado. Ninguém pode confirmar presença, então peça respostas no corpo da mensagem.
Importe-o e depois convide pelo seu calendário
Abra o arquivo no seu próprio calendário, que preenche todos os campos e a lista de convidados, e então clique em enviar. Seu calendário é o organizador, então ele envia convites de verdade e rastreia quem aceitou. Este é o caminho quando você precisa de RSVPs.
Envie um link em vez disso
Um link de adicionar ao calendário pré-preenche o evento no próprio calendário do destinatário sem nenhum download — melhor em um boletim informativo ou em uma página, embora não carregue lista de convidados.

Perguntas

As pessoas que eu adicionar como convidadas receberão um e-mail?
Não a partir desta página. Ela não tem servidor de e-mail e nunca envia nada — os endereços são escritos no arquivo como linhas ATTENDEE e nada mais. Anexe o arquivo a um e-mail você mesmo, ou importe-o para o seu próprio calendário e deixe que ele envie os convites.
Qual é a diferença entre METHOD:REQUEST e METHOD:PUBLISH?
REQUEST significa "você está convidado, por favor responda", e pertence a uma mensagem que um sistema de calendário envia em nome de um organizador; o cliente do destinatário responde com METHOD:REPLY. PUBLISH significa "aqui está um evento, aceite ou deixe", que é o que um arquivo em um site ou um anexo representa. Um arquivo sem nenhuma linha METHOD é tratado como publish pela maioria dos leitores, que é o que este construtor produz.
Posso rastrear quem aceitou?
Não com um arquivo baixado. O rastreamento de RSVP precisa de algo que receba respostas — uma conta de calendário ou um servidor — e um arquivo estático não tem nenhum dos dois. PARTSTAT=NEEDS-ACTION em cada participante é um estado inicial, não uma caixa de entrada. Importe o evento para o seu próprio calendário e convide a partir de lá se precisar das respostas.
Como anexo um .ics a uma mensagem do Gmail ou Outlook?
Exatamente como qualquer outro arquivo: componha a mensagem e anexe o .ics baixado. Ambos os clientes reconhecem o tipo, e a maioria dos destinatários vê um aviso de adicionar ao calendário embutido em vez de um simples anexo. O Gmail também permite criar um convite diretamente na janela de composição, que é o caminho a seguir se você quiser RSVPs.