I believe with the advent of the API for collections this should now be possible via setting up an external cron-like process in a tool like Zapier or Integromat that periodically hits the API for a collection called “Reminders” with fields “DueDateTime, user, subject, message, status.” It basically queries that table for SELECT * FROM Reminders WHERE DueDateTime < Now() AND Status NEQ "Sent"
Anytime it finds a reminder that’s overdue, it executes a custom action which sends the message to the user via whatever medium he/she has opted for and marks status as Sent.
Does that seem like a sensible approach? Just want to sanity check this before going down this rabbit hole in the event someone else has already solved this another way and packaged it up elegantly… TIA
@anon78309838 that’s very helpful thanks for sharing. So I should have chosen a better title because I’m actually just seeking to send an email reminder 24hr before the event (so the push notification piece of this is actually irrelevant to me).
I could use the “delay until” feature in Zapier as the tutorial proposes but that seems dangerous because it violates DRY (ie. that date now lives in two places - Adalo and Zapier- once the task/event is created). I think a more resilient way to accomplish this is to have the date live in only one place (Adalo) and have a process hit that table at a regular interval to check whether it’s time to send a notification. That way if the date of the task/event ever changes it will be inherently handled properly. Under the proposed solution there needs to be a way to find every attendee affected by a date change and somehow kill the Zapier date reminder and recreate it upon date change… I’m going to make a run at setting up what I proposed above as I believe it’s the right way to handle this. If it works I’ll see if I can package it up in a sharable component. Good to know about the Zapier delay until capability though…