Creating "add to calendar" link

I’m looking at putting some stuff together to do more automatic event promotion. I’d like to be able to create calendar links for common platforms (Google, O365, Apple) and optionally a .ics file for everyone else. I don’t think there’s a direct way to do this at the moment - though correct me if I’m wrong - but the following should do what I need.

Is there a way I can build up a URL from variables in a nice straightforward way in n8n? For example https://calendar/google.com/{eventname}/foo/{eventdate} etc… That I can then put into the body of any email or blog post?

Similarly, is there a way I can construct a text file from variables and a template?

I’m looking at putting some stuff together to do more automatic event promotion. I’d like to be able to create calendar links for common platforms (Google, O365, Apple) and optionally a .ics file for everyone else. I don’t think there’s a direct way to do this at the moment - though correct me if I’m wrong - but the following should do what I need.

Currently, you can do that just with the Google Calendar node. I think (not completely sure) what you are looking for it’s the htmlLink. You can find it in the event:create response.

Is there a way I can build up a URL from variables in a nice straightforward way in n8n? For example https://calendar/google.com/{eventname}/foo/{eventdate} etc… That I can then put into the body of any email or blog post?

Yes, you can build this URL dynamically using expressions.

But agree with having a node that builds the ICS file. It can be convenient. We can use a library like the one below. If you are self-hosting, you can set up n8n to let you import the library in a function node. However, use the library in the function node can be tricky if you do not know how binary data works in n8n.

2 Likes

Now you can create .ics files with the iCalendar node. We will let you know when is released.

1 Like

Amazing stuff, thanks again! :grinning:

Got released with [email protected]

1 Like