MARKETPLACE
PLUGINS
ADVANCED ICS FILE GENERATOR (.ICS)
Advanced ICS File Generator (.ics) logo

Advanced ICS File Generator (.ics)

Published March 2026
   •    Updated this week

Plugin details

Generate RFC-compliant ICS calendar files from your Bubble data. Supports multiple events, recurring rules, attendees, organizers, reminders, and timezones. Download directly to the browser or save to Bubble's CDN - client-side and server-side ready.
Demo URL: https://stein-plugins.bubbleapps.io/version-test/advanced-ics-file/1774444075738x171974113722674460?debug_mode=true

Editor URL: https://bubble.io/page?id=stein-plugins&tab=Design&name=advanced-ics-file&type=page&ai_generated=true&elements=bTHQv1

ICS File Generator
· Generate RFC 5545-compliant ICS calendar files directly from Bubble data, with no external services or APIs required
· Single Event mode for straightforward use cases and Multi Event mode to export an entire list of Bubble records into one calendar file
· All-day event support using the DATE format, fully compatible with Apple Calendar, Google Calendar, and Outlook
· Per-event timezone support using IANA timezone identifiers - events render at the correct local time in any calendar app

Multiple Events
· Multi Event mode accepts a JSON array so you can pack any number of events into a single ICS file from one action call
· Each event in the array is fully independent - different dates, timezones, titles, recurrence rules, and attendees per event
· Ideal for exporting a user's full schedule, a course calendar, or an event series as a single downloadable file

Organizer & Attendees
· Organizer field embeds a named sender with display name and email address in every event
· Attendees field accepts a JSON array of guests, each with their own email and optional display name
· Each attendee is written as a required participant with NEEDS-ACTION status, which triggers accept/decline prompts in most calendar clients
· Attendees can be set independently per event in Multi Event mode

Recurring Events
· Built-in Recurrence Preset field accepts any RRULE frequency string - daily, weekly, monthly, yearly, or any combination with day and interval modifiers
· Recurrence Until field caps the series at a specific end date; Recurrence Count caps it after a set number of occurrences
· Full RRULE Override field for complex patterns that the preset fields cannot express - bypasses the preset entirely and writes the rule as-is
· Recurrence rules can be set independently per event in Multi Event mode

Reminders
· Alarm block embeds a DISPLAY reminder a configurable number of minutes before the event start
· Compatible with all major calendar clients that support VALARM

Client-Side Delivery
· Download mode triggers a direct browser file download - no server round-trip, no storage costs
· Save to Bubble mode uploads the generated file to Bubble's CDN via the built-in upload mechanism and exposes the resulting URL as a state
· Both modes can run together in a single action call

Backend Support
· Dedicated server-side action generates ICS files in backend workflows with no user interaction required
· Returns the raw ICS text, a base64-encoded copy, and the filename - ready to pass to the companion upload action or any API
· Companion upload action posts the file directly to Bubble's CDN using the app's file upload endpoint and returns a usable https URL
· Upload action automatically handles live and test mode URLs by accepting the Website Home URL dynamic value

$24

One time  •  Or  $4/mo

stars   •   0 ratings
3 installs  
This plugin does not collect or track your personal data.

Platform

Web

Contributor details

Stein & Company logo
Stein & Company
Joined 2020   •   6 Plugins
View contributor profile

Instructions

Step 1 - Add the Element Drop the ICS File Generator element onto your page. It is invisible at runtime - size and position do not matter.

Step 2 - Configure the Generate Action
Add a "Generate ICS File" element action to any workflow. Fill in the event fields:
· Mode - choose Single Event to fill in fields individually, or Multi Event to pass a JSON array via the Events JSON field
· Start Datetime - required. End Datetime defaults to Start if left blank
· Timezone - an IANA string such as America/New_York. Defaults to the user's browser timezone if left blank
· All Day - set yes to emit a DATE-only event with no time component
· Attendees - a JSON array of objects with email and optional name keys (see Attendees JSON Format below)
· Recurrence Preset - a partial RRULE string. Add Recurrence Until or Recurrence Count to cap the series (see RRULE Reference below)
· RRULE Override - paste a complete RRULE string here to bypass the preset entirely
· Alarm Minutes - number of minutes before the event to fire a reminder

Step 3 - Choose Delivery Mode
· Set Download to yes to push the file to the user's browser immediately
· Set Save to Bubble to yes to upload the file to Bubble's CDN - the URL is then available via the file_url state

Step 4 - Handle Events
· Listen for file_generated or file_saved to run follow-up steps (e.g. show a confirmation, send an email with the link)
· Listen for generation_failed and display the error_message state to surface errors to the user

Step 5 - Server-Side Usage (optional)
To generate ICS files in a backend workflow, use the Generate ICS (Server) action. It accepts the same event fields and returns ICS Content, ICS Base64, and Filename. Pass the Base64 and Filename outputs directly into the Upload ICS to CDN action along with the Website Home URL dynamic value. The upload action returns a file_url you can store on a Thing or attach to an email.

See here for more documentation: https://stein-plugins.bubbleapps.io/version-test/plugin/1774444075738x171974113722674460

Types

This plugin can be found under the following types:
Element   •   Event   •   Action

Categories

This plugin can be found under the following categories:
Calendar   •   Data (things)   •   Social Network   •   Technical   •   Visual Elements

Resources

Support contact
Documentation
Tutorial

Rating and reviews

No reviews yet

This plugin has not received any reviews.
Bubble
Your app is live — but who’s spreading the word?
Promote it via Launch Lab