Just published a plugin called the ICS Parser. This plugin will let you parse an iCalendar file (.ics) url to view in a repeating group and save to your database.
NOTE: There are subtle variants of ICS files and so if your ics file link is not returning a date in the plugin, reach out to me via DM with a link to your file and I will update the plugin to accommodate your ics file variant.
If there is an update to the calendar, how will the plugin update?
Do you need to setup recurring backend workflows? How does it prevent duplicate database entries being created?
If you are using the parser just to display events in a repeating group, then that’s easy as every time your page loads it’ll show updated events from that ics link.
It can get tricky if you are saving events to your database. You could use a lot of capacity if you are updating each time a user logs in. You could prompt the user to initiate an “update/sync” button and then when you are running your save to bubble database workflow, add an “Only When” condition that searches your event database in bubble (using event, name/start date/end date) and only adds the new item if the search results in :count of 0.
Can you tell me more about your use-case, as I can then give better suggestions. Feel free to PM me.
Plugin updated with an ICal to JSON Server Side action!
Getting a JSON output will give you more flexibility working with different Ical variants for your use-case. Reach out to me on how you can use the JSON output in the back-end Workflow API to save events to your database etc.
If I go back a version on the plugin it still seems to pull some data but it’s all misaligned and not coming through as separate entries on the repeating group.
There are many variants to ics files which adds complications, hence why the plugin offers many avenues with preset api calls but more useful is the ical-json parser, which gives you full control of how to read ics urls.
There are usually issues with bubble interpreting dates in date format too. If you look at the date format that is coming from the ics airbnb, it is YYYYMMDD and for that api call in the plugin, it is relying on bubble interpreting that as a date format. This is likely why the date is misinterpreted.
So, your options are either using the “Data AirBnB TEXT variant” (See screenshot below) and then parse those texts dates out in your bubble app yourself using say, regex. Or you can use the Ical to JSON function included in the plugin (bottom of the page in the demo link), which gives you even more control and flexibility to build your own workflows.
Thank you, Muneer, for your explanations.
I am currently focusing on other funcionalities and on sales development and I will not have much time to implement your ics parser plugin. Would you be interested in a freelance service to adapt your plugin to my product goal?
Here what I need:
I have got a data type Listing (short tem home rentals) and one of its fields is a list of dates, which actually represents the dates the property is unavailable.
Today the property owners can manually block dates selecting ranges of dates in a AirDate Picker (see image attached) visible in a popup.
As most of them already work with Airbnb, I would like to let them include the url of their airbnb ical file in the same popup.
Once per day a scheduled backend workflow would update the list of unavailable dates for all listings with an airbnb ical file url by consulting the ics file.
I would like to upload an ical file and get it into the Bubble database, but I can’t seem to get a good URL for the File uploader.
I prefixed it with “https://” as in the plugin description, but the result was the same. How can I get the URL saved in the database?
Hi @John_Cremory . I can open the file just fine. I was re reading your early post. Why are you using file uploader? You can save the file to the database directly from the workflow either to a field with file format or text field with url.
Could you provide your entire flow of ics creation and use case for saving in your database so I can understand your need for the file uploader? You are welcome to PM me.
HI @muneer.hameer
As a use case, I would like to use Fileuploader for an administrator of a booking site such as Airbnb who wants to download iCal files and import them into Bubble. In case it is not possible, I tried putting the file path directly, but it never shows up in the repeatingGroup.
There are various API calls you can use due to variants in formatting. Please test to see which one provides you with the output. You can test your ical links in playground to see which call you should use: https://d39.bubble.is/site/equina-playground/ics_parser