Recurring Dates or Recurring Events in Bubble

I have an app that creates events. I am running into trouble trying to create repeating events. Ideally I need something like the attached screenshot where when a user selects a day they can select how the event will repeat. They need to be able to select a specific time and then I need to be able to create events with each of those new time frames. Does anyone have suggestions on where to start?

1 Like

Ok I am in the process of solving this and wanted to document the answer for anyone else. Thanks to @J805 for your help and @romanmg and @keith for your previous forum posts related to the topic.

To solve scheduling a date for any series of repeating dates following an initial date I had to start by finding the days to repeat of the following week. To do this I used the below formula.

NewRepeatingDate = StartDate + 7 - DAYOFWEEK(StartDate + 7 - DayOfFollowingDayofWeek)

*It’s helpful to know that bubble counts days of weeks from 0-6 so Sunday is 0 and Saturday is 6.

If this all looks confusing … it is.

NewRepeatingDate is the day you are trying to find.
StartDate is the current date you are starting with to find the following week. I force my users to repeat on the Start Date. So for example if a user wants their event to repeat on Thursdays and Tuesdays, but their event starts on a Friday, it would automatically repeat on Fridays, Thursdays, and Tuesdays since the event starts on a Friday. In order for an event to only repeat on Tuesday and Thursday their event would have to start on either a Tuesday or Thursday.
DAYOFWEEK is a an extraction for the day we will need to perform on (StartDate + 7 - DayOfFollowingDayofWeek)
DayOfFollowingDayofWeek is the extracted (non StartDate) you are trying to find.

***FYI the answer to this is to schedule Workflows that schedule themselves.

3 Likes

Hey Zach! We just released a plugin for this that has a bit of a faster solution. If you’d like to try it out, let us know and we can give one of your apps free access:

Would love to try it out! what do I need to do?

Just send us a name (the id from the url) of an app you’d like to try it out with, we can give you access!

Hi Mike - I’d love to try this out too! Have the same use case and seems too complex, a plugin would be great!

Thanks,
Rebecca

Hi Rebecca,

Sure :slight_smile: what’s the id of the app you’d like to use it for?

Hello @mike7 ! I’m also interested !

Hey @mike7 I’d love to try this too if possible. Happy to pay if it works.

Hey @martin9, I’ve got a plugin published that may help depending on your exact use case. Here is a page showing it’s functionality, but you can also access the Editor in there to see the various elements and other features it can do

https://topshelf-elements.bubbleapps.io/topcal2

2 Likes

Hey Martin!

We’ve stopped giving out free licenses, but we’ve already incorporated quite some feedback & did some bugfixing, so I’m confident it’ll work out for you :slight_smile: If you don’t feel like it was worth it, happy to refund you the plugin cost.

Let us know if you need help with setup!

1 Like

To further expand on my comment. When I say Workflows that schedule (or trigger) themselves I mean to loop backend workflows. For instance in Workflow A make the last action of Workflow A to immediately trigger or schedule Workflow B. Then in Workflow B make its last action to immediately trigger or schedule Workflow A.

@zachenson any screenshots you can share of workflows would be super helpful? do you put the formula in the visual editor or workflow? thanks so much :wink: -jenny

I havent touched this topic in a while. Here is a screenshot of the app I was building that needed it. I believe the their I was alluding too was you can build a loop with a workflow by calling that workflow at the end of its own workflow. You then put a conditional on the end of that workflow so it does not end in an infinite loop. As long as the condition is true it will continue looping.

This will be how I register a repeating event that I have created.
The ListShifter plugin is used to enable repetitive processing.
I hope this will be helpful.