DateTime Scheduled Notifications

Hy Everyone,

What would be the smartest way (if possible) to setup the possibility for a user to create scheduled reminders for himself?

So, the user has a Project with his name, made of Tasks for himself. And each Task has a column called Reminder. Initially that column is blank. But if he edits that Task and changes the value of the column Reminder, to a DateTime - a day and an hour (ignoring seconds), and then hits Save on that Edit Form, then that should automatically schedule a Notification on his phone (with the Title of the Task lets say) that will pop up at that specific DateTime he specified on the Reminder Column. And he should be able to setup 1 Reminder per Task, at any given date and hour.

Is this possible?

If it is, 2 extra questions for you:

  1. if you edit the DateTime in the Reminder column, will that update that notification? (or at least delete the old one and make a new one)
  2. is there a way to set up an action button to edit just the DateTime Column? (not the entire Task through the Task_Form)

It it isn’t, what would you suggest to be the closest workaround for this functionality?

Thank you,
Sorin

AppSheet currently does not have the ability to schedule events - i.e. something needs to occur at a specific day and time. The best you can do right now within AppSheet, is to simulate it with a SET of Scheduled bots, that periodically check for any rows that need a reminder.

Each bot would run at a specific time, say one at 8am, a second at 9am, etc, looks for any rows with the Reminder set within the past hour and then sends a Push Notification, Text, Email or all 3 if you wanted.

The number of bots you end up with depends on the granularity of the reminder check - every hour, every half-hour, every 15 minutes, etc.

1 Like

Aham, well that’s not that bad :smiley:
Are there any limitations to bots? Do they make the app run slower or they just work in the background with no impact on the app?
I would use a 15 min. granularity from 9am to 9pm. so that would mean 48 bots right? You think that would impact the usability of the app in any way?
Is there a way to have this granularity implemented in choosing the hour of the DateTime format as well? So to have only quarter of hours available to pick from when choosing the minutes.

Thank you :slight_smile:

Not that I’m aware of.

Bots run on the server and do not impact the app running on the device or browser (client side).

I believe there have been Feature Requests submitted. It would make sense to eventually have options in a Scheduled bot for “Every hour” or “Every X Minutes”. Especially since we can create them with several bots anyway!

Another feature needed more suited to your use case is “Run the bot once on this specific DateTime”.

The biggest roadblock for all options above is if there are hundreds of thousands of apps needing similar functionality, the AppSheet servers could get overwhelmed resulting in poor performance. But this is very similar to Google scripts capabilities so is certainly doable!!!

I think it’s just a matter of time and Community votes!!!

2 Likes

Thanks :smiley:

I set up everything for the bot to work, it works great when I run it manually.
Then I saw that scheduled triggers only work when the app is deployed and as I did the deployment check I saw that Scheduled Automation Event not allowed with the FREE plan.

So that scrubs it for this part of the app :slight_smile:

For whom may be concerned, I did find an elegant workaround for creating event notifications through the app:

Appsheet now integrates really well with Google Calendar, which is amazing. So I created a calendar, than added it as a Table to my app. Then I created a bunch of bots to automatically create Google Calendar Events whenever I create a Reminder for the Task (and when I delete it, or edit it). Then in the Google Calendar settings of that Calendar, I can setup as many notifications I want, but in this case, since I want to set a reminder, I just put one which is 0 minutes before the event.

So, when I create a Reminder for a Task at a certain hour in a certain date (DateTime) in my Appsheet app, a Google Calendar Event is automatically created with a notification set to appear both on my phone and PC. The notification will come from Google Calendar, not Appsheet, but it’s still quite perfectly what I needed for this application.

4 Likes

Very well done!

2 Likes

how did you integrate it as a table? can you explain me?

If you add Google Calendar as a Data Source (like google spreadsheets), then you can Add new Table and you will see the option to select Google Calendar and that will take you to your created Calendars.

1 Like
1 Like