We use transactional emails to send out calendar invites. Currently this is working as expected however there is a good UX improvement for the customer that involves setting custom headers so that the email client can be informed that the attachment is an ICS file and to automatically added it to the user’s calendar.
In order to get the email client to parse correctly the attached .ics file, you should add the scheduling method and MIME information to the email headers. This is specified by the iCalendar Message-Based Interoperability Protocol (RFC 2447).
For this reason, the email header should include Content-Type, Content-Transfer-Encoding and Content-Disposition as specified in the following example:
Content-Type: text/calendar; charset=utf-8; method=REQUEST; name=invite.ics'
Content-Transfer-Encoding: Base64
Content-Disposition: attachment; filename=invite.ics
Why does customer.io not support this? This limitation with customer.io means that we would need to look at another email provider for these transactional emails which just adds another layer of complexity to our tech stack which should be avoided.