Is it possible to email someone a calendar invite that they can add to their Outlook calendar?
Hi Mel,
Assuming you have a form with the following fields setup:
Obviously, you can add other fields but these fields are the minimum required to generate a calendar invite.
In the screen JS you need to add the following code:
Fliplet.Hooks.on('afterFormSubmit', function(response) {
//Format the start time for the calendar event
var startTimeStamp = (
moment(response.formData['Date']).format('YYYYMMDD') +
'T' +
response.formData['Start time'] +
'00'
).replace(/:/gi, '');
//Format the end time for the calendar event
var endTimeStamp = (
moment(response.formData['Date']).format('YYYYMMDD') +
'T' +
response.formData['End time'] +
'00'
).replace(/:/gi, '');
//Add location of the event to calendar invite
var location = response.formData['Location'];
//Email subject will be the event name
var subject = response.formData['Event name'];
//Create the calendar invite
var test =
`BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN
VERSION:1.0
BEGIN:VEVENT
DTSTART:` +
startTimeStamp +
`
DTEND:` +
endTimeStamp +
`
LOCATION:` +
location +
`
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:=0D=0A
SUMMARY:` +
subject +
`
PRIORITY:3
END:VEVENT
END:VCALENDAR`;
//Send an email to the email mentioned in the "Email" form field.
var options = {
to: [{ email: response.formData.Email, type: 'to' }],
html: 'Please save the attached calendar notice for the event',
subject: subject,
attachments: [
{
type: 'text/calendar;charset=utf-8',
name: 'event.ics',
content: btoa(test)
}
]
};
return Fliplet.Communicate.sendEmail(options);
});
This code snippet will format the data from the form and send an email to the user with a calendar invite attached. Note: Once the user receives the email they will have to import the invite into the calendar, it is not automatically added.
Hope this helps,
Deb
Thanks Deb for providing some great insight and a solution our bespoke request. Also for Mel for orchestrating this on my behalf!
I have followed your instructions, and I have an error where it says Missing required Header ‘To’. I wonder if this is because I’m using the wrong email address header.
I have matched the fields you have mentioned and only added a checkbox at the option.
Any ideas on how to get around this?
best
JV
Hi Jonathan,
Can you confirm if you have a form field called “Email” in your form?