Skip to main content

OK. I’m trying to find a way to generate an .ics file to add to an outgoing email to clients who book an appointment.  I suspect this is going to involve code (which essentially puts me out of the loop).

The little bit of research that I have done says it can be done from uploading a csv file, but I’m not using a spreadsheet to create the appointment.

Anyone have any commentary, ideas, solutions that I can look at?

I’m using Acuity Scheduling, Airtable, and Postmark for these integrations.

Cheers, 

 

I don’t think you don’t need an ics file, perhaps you want to adjust settings in Acuity. It should have the ability to send a link (via email or on the thank you page) to the user who can click that to add it to their calendar. 

 

If not, you could create an event in your calendar (automatically with a Zapier integration) that then has the user listed as a guest and the calendar should send an email to the user for them to accept/add it to their calendar. 

 

Is there someone specifically asking for an ICS file? Most people click the yes or add to calendar buttons in those emails and it adds the event to their calendar.


I don’t think you don’t need an ics file, perhaps you want to adjust settings in Acuity. It should have the ability to send a link (via email or on the thank you page) to the user who can click that to add it to their calendar. 

My ultimate aim is to figure out how to not use Acuity Scheduling, or Calendly or any of the others. I stopped Acuity automatically sending emails for me a while ago.

 

If not, you could create an event in your calendar (automatically with a Zapier integration) that then has the user listed as a guest and the calendar should send an email to the user for them to accept/add it to their calendar. 

This might be an alternative to have a look at - not quite there yet as I’m also exploring integration with my Zoom account.

 

Is there someone specifically asking for an ICS file? Most people click the yes or add to calendar buttons in those emails and it adds the event to their calendar.

That someone would be me! :thinking:

I’ll look at the other options first before I go after the .ics file though!

Cheers


What calendar do you use? (Google, Outlook etc) 

 

No matter how you get people to book you by creating an event in your calendar and having that invite the user as a guest to the event it would accomplish what you are looking for, correct? 

 

If you are the one who want’s the ICS file, what do you want it for? If it’s to subscribe to all your bookings you can get the ICS file for a specific Google or Outlook calendar (where the appointments are set). You can have an ICS file for a whole calendar, or for just a single event. 


As it happens I’m mostly at the point of being curious about options, rather than having a plan.

I don’t use Google - and since I only carry very few clients at a time, I don’t need some of the more sophisticated solutions available, so I’m out exploring options.

You’ve given me more than enough to think about as I look around.

Cheers


Hey @jolomero jolomero, I'm interested in sending my booking clients an .ics file by email as well. I love receiving those when I book an appointment!

Have you figured anything out? :)


@xuan-minh what are you using to make the booking? 

 

ICS is a human readable file format, aka a text file. So you could make a text file with the following content, just change dates/title/description/times/timezone to match:

 

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ical.marudot.com//iCal Event Maker
X-WR-CALNAME:testing
NAME:testing
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Honolulu
TZURL:http://tzurl.org/zoneinfo-outlook/Pacific/Honolulu
X-LIC-LOCATION:Pacific/Honolulu
BEGIN:STANDARD
TZOFFSETFROM:-1000
TZOFFSETTO:-1000
TZNAME:HST
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20200823T184454Z
UID:20200823T184454Z-1464037548@marudot.com
DTSTART;TZID=Pacific/Honolulu:20201225T120000
DTEND;TZID=Pacific/Honolulu:20201225T130000
SUMMARY:Lunch
DESCRIPTION:Everyone gets hungry
END:VEVENT
END:VCALENDAR

FYI I used this tool to generate that ics file you can go there, set times and time zones, dates, names etc to get the ICS file you want, and then just dynamically replace the values via a Zapier step. 

 

Note: I walk through a couple of options using Dropbox and Drive, then I have to convert those from .txt files to .ics files adding extra steps. You can skip all this and go down to the next note to see how to create an .ics file with one step using cloudconvert.

Dropbox

Here’s that sample using a dropbox create a text file:

Note the filename ends in .txt everytime dropbox creates a text file.

You would then need to “convert” this using a cloudconvert or other method from a .txt file to a .ics file.

 

Google Docs

Google Docs can also do this

You can download this file with many different extensions but ics is not one of them, it will be .ics.html if you use this format for the URL: https://docs.google.com/feeds/download/documents/export/Export?id=DOCUMENTID Replacing DOCUMENTID with the actual ID of the file.

You need to change the permissions on the file to be able to download it.

Change sharing preference on the file to public like so.

But again, you would then have a .html or a .txt file. neither are .ics so you would have to convert it as well.

 

NOTE you can skil Dropbox and Drive and go straight to cloudconvert to create your .ics file. 

 

You will need to use two different formats, one for input and one for output, I chose HTML to TXT because cloudconvert doesn’t do anything for these except remove HTML tags, but there are no HTML tags in the file we’re wanting to create

The output of that is a true .ics file that you can attach to an email and viola you’ve got your faux calendering system set up.


Thanks mate - that did the trick the easiest way possible! Greatly appreciated!! :)


@xuan-minh what are you using to make the booking? 

 

ICS is a human readable file format, aka a text file. So you could make a text file with the following content, just change dates/title/description/times/timezone to match:

 

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ical.marudot.com//iCal Event Maker
X-WR-CALNAME:testing
NAME:testing
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Pacific/Honolulu
TZURL:http://tzurl.org/zoneinfo-outlook/Pacific/Honolulu
X-LIC-LOCATION:Pacific/Honolulu
BEGIN:STANDARD
TZOFFSETFROM:-1000
TZOFFSETTO:-1000
TZNAME:HST
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20200823T184454Z
UID:20200823T184454Z-1464037548@marudot.com
DTSTART;TZID=Pacific/Honolulu:20201225T120000
DTEND;TZID=Pacific/Honolulu:20201225T130000
SUMMARY:Lunch
DESCRIPTION:Everyone gets hungry
END:VEVENT
END:VCALENDAR

FYI I used this tool to generate that ics file you can go there, set times and time zones, dates, names etc to get the ICS file you want, and then just dynamically replace the values via a Zapier step. 

 

Note: I walk through a couple of options using Dropbox and Drive, then I have to convert those from .txt files to .ics files adding extra steps. You can skip all this and go down to the next note to see how to create an .ics file with one step using cloudconvert.

Dropbox

Here’s that sample using a dropbox create a text file:

Note the filename ends in .txt everytime dropbox creates a text file.

You would then need to “convert” this using a cloudconvert or other method from a .txt file to a .ics file.

 

Google Docs

Google Docs can also do this

You can download this file with many different extensions but ics is not one of them, it will be .ics.html if you use this format for the URL: https://docs.google.com/feeds/download/documents/export/Export?id=DOCUMENTID Replacing DOCUMENTID with the actual ID of the file.

You need to change the permissions on the file to be able to download it.

Change sharing preference on the file to public like so.

But again, you would then have a .html or a .txt file. neither are .ics so you would have to convert it as well.

 

NOTE you can skil Dropbox and Drive and go straight to cloudconvert to create your .ics file. 

 

You will need to use two different formats, one for input and one for output, I chose HTML to TXT because cloudconvert doesn’t do anything for these except remove HTML tags, but there are no HTML tags in the file we’re wanting to create

The output of that is a true .ics file that you can attach to an email and viola you’ve got your faux calendering system set up.



This is brilliant. For a long time, I’ve been looking for a way to dynamically pass a personalised webinar url into the ICS. I think this will do the trick, alas, create a lot of ICS files. ;)