Create iCal feed from a calendar made in Bubble

Is it possible to create an iCal feed from a calendar made within Bubble? I gather it is like a creating an RSS feed, but with .ics file. Has anyone implemented this?

2 Likes

I’ve not, but I need to. There are several JS libraries for converting ICS to JSON (what’s called “JCAL”) and vice-versa.

@keith: have you found a way to do this? If so: are you willing to share your findings? Would be of immense help!

I did actually successfully do this and it works-ish. It has many dependencies and is very hacky. Trying to do this hits several technical limitations of Bubble.

ATM, you can’t really parse/output custom files in Bubble, so I had to build the iCal maker as a microservice/API on webtask.io. That microservice returns to us an iCal file. Cool.

However, now you have the problem of having a persistent URL from which to serve up that file. We don’t control the web server part of our stack in Bubble. And we don’t natively have GET methods for our own API that can return custom responses. Dang. Whenever we get a new/updated file, it is stored in a different location in AWS.

So I ended up using Rebrandly API to set up a URL to that file thing. A convoluted workflow updates the Rebrandly link to the new file when it changes.

Basically, it’s really hacky and it’s pretty tough to do this. It may get possible to do this in Bubble when we can load NPM libraries server side. (If we had this, we could at least do the ics file generation on the Bubble servers. The other challenges would remain.

I’m not happy with how this works, so its not at present a production feature of my app.

4 Likes

Thanks for your super quick reply!

Wow! That seems like the mother of all work-arounds!

I’ve been trying to have the API spit out plain text - containing all necessary VCalendar ‘headers’ and of course a list of events, but this would require the output of the things (events) as text to be customizable - now all events would just be ‘poured’ immediately after each other.

Another way I’ve been trying is to output a list of my events as JSON and then build an external tool (in php, symfony, rails, javascript or whatever) to aggregate all data and convert this to ical, but I can’t seem to get Bubble to output ‘nested data’ (eg. an associated user for an event is output as a unique id. Of course not very useful to the external tool).
My events have several associated ‘things’, like a list of Items (which in turn have their own associated things).

I really think that if I can generate a list of all (requested) events with all nested data as one JSON output I should be able to make an external tool that will create an ical file from it (as it would contain all necessary data).

Maybe I’m missing something though?

1 Like

I found a fairly easy hack, save your data to a google sheet, than run a appscript in google.

1 Like

Did this method allow you to create an .ics file that you could store in the bubble database?

I’m trying to find a way to create an .ics file that could then be sent in an email through a bubble workflow action.

Hey @boston85719,

I have an ICS maker plugin and recently added server side/backend workflow action capability. Check it out. [New Plugin] ICS Maker - iCalendar file (.ics) maker

2 Likes

should be easily doable with zapier or integromat

  • trigger event from bubble
  • create new calendar event in zapier (for a generic email address)
  • invite people to the event in zapier

it’s a bit of a workaround as you ‘invite’ people instead of sending them a file, but on the other hand this makes it platform independent as it does not matter what OS / calendar tool the user has