Put an event straight into the phone's own calendar — Apple Calendar, Google Calendar or Outlook — with repeats, a reminder, location and notes. No account to connect, no API key, nothing uploaded.
▶ Live demo: https://emrejsx.bubbleapps.io/version-test/api/1.1/mobile/preview?debug_mode=true&preview_view=calendar✎ Open in the editor: https://bubble.io/page?id=emrejsx&app_type=mobile&tab=Design&name=calendar&type=page&elements=bTGSS⚡ Main Functions•
Writes to the calendar the user already has. The event opens in Apple Calendar, Google Calendar or Outlook — whichever the phone uses. Nothing to connect.
•
Timed and all-day events. A one-hour meeting or a three-day trip, from the same element.
•
Repeats and reminders. Every weekday, every other Tuesday, the 1st of each month — plus an alert any number of minutes ahead.
•
Driven by your own buttons. Use the built-in button, or hide it and fire the action from any workflow, including inside a repeating group.
⚡ Key Features📅 Real calendar entries, not reminders The event lands in the user's calendar with its title, time, location, notes and link intact. It syncs to their laptop and watch like any other event, because it is one.
🔁 Repeat rules that calendars understand Daily, weekly on chosen days, every N weeks, monthly on a date, yearly — or stop after N times or on a given date. Standard rules, so every calendar app reads them the same way.
⏰ A reminder that actually fires Set an alert 10 minutes, an hour or a day ahead. The phone handles it — no push notification service, no server, no scheduled workflow burning workload units.
🌍 Time zones handled for you Times are written in UTC and shown in the user's local time. A booking made in Istanbul shows correctly for a user in Berlin.
📍 Location that opens a map Phones turn the location into a tappable map link, so the user gets directions from the event itself.
🔗 A link that travels with the event Attach the meeting URL, the booking page or the ticket. It sits in the event, ready when they need it.
🧩 One element for a whole list Hide the button and every field can be passed on the action instead. A single invisible element serves an entire repeating group — one "Add to calendar" button per row, no duplicated elements.
🎨 Your button, your design Label, background colour, text colour and corner radius are all yours. Or turn the button off entirely and use your own.
🛟 Errors you can see If something is missing, the button says so on screen and the reason is published to a state you can read in a workflow. No silent failures.
📱 What you can build with itBookings and appointments. The single cheapest way to cut no-shows: the appointment sits in the customer's own calendar with a reminder attached.
Classes and courses. A weekly repeat rule puts the whole term in one tap.
Delivery and pickup windows. The customer knows when to be home, and their phone reminds them.
Events and tickets. The same "Add to calendar" flow people already know from ticketing sites.
Shift rotas. Staff add their week from a list, each shift with its own reminder.
Renewals and deadlines. Subscriptions, insurance, inspections — a reminder a day ahead.
🧩 What is includedFields. Title · Start date · End date · Start and end date as text · All day · Location · Notes · Link · Repeat rule · Reminder minutes before · Show button · Button label · Button colour · Text colour · Corner radius
State. Last error
Events. The event is handed to the calendar · An error occurs
Action. Add to calendar — every field can be set per call, so one element serves a whole list
🔒 No accounts, no keys, no serverNothing is uploaded and nothing is stored. The event is built on the device and handed to the operating system, the same way airlines and ticket sites do it. There is no Google or Microsoft sign-in to configure, no API key to buy, no per-event cost, and no calendar permission prompt to explain to your users.
⚠️ Good to knowThe user confirms the event in their calendar app — that final tap belongs to them, which is exactly why no calendar permission is needed. Dates you pass carry their own time zone, so pass a real date rather than a text field where you can. Native mobile only; for web apps use a web calendar plugin.