System generated push notification

Hi everyone, Adalo newbie here with no programming background.

I have a list of notifications that I’d like to be able to push out to users at random intervals - basically it’s a reminder app.

The flow

  1. Randomly select a number between 1-30 (eg 12)
  2. Use that number to signal how many days to wait since the last notification
  3. When it reaches 12 days the app then sends a push notification to the user
  4. The push notification is to be selected at random from the database

My questions

  1. My understanding is that Adalo can’t do randomisation, although I found a semi-workaround here - is there anyway I can do it using a 3rd party such as Airtable or Zapier? I’ve done a search of the forums and not come up with anything other than this and I’m not sure it would work (and would require some code.)

  2. How do I use the number generated (eg 12) to then push a notification to the user after that number of days?

It may be that none of the above is currently possible in Adalo. I think I can work around point 1 for the time being unitl Adalo introduce randomisation (I saw it’s on the roadmap); but point 2 is pretty important.

Many thanks!

1 Like

Hey there!

At the moment there is no way of sending out scheduled notifications, they need to be triggered by a action… This is something coming in not a long time I belive :slight_smile:

1 Like

Great, thanks for confirming for me @alexid95, and so fast too!

1 Like

This has a lot of support in the feature requests here: https://ideas.adalo.com/feature-requests/p/scheduled-push-notifications

But is not currently ‘planned’ - do vote if you think it would be useful!

1 Like

@dosandco thank you, I’ve added my vote there :slight_smile:

@nugn I was thinking about your situation in light of a video @pfordmedia just shared here and I may have an idea for you on how you could potentially accomplish this now. It would be hackish but it might work.

You could take a page from the playbook of how wp-cron solves this problem for WordPress.

WP (like Adalo) has no concept of time-delayed actions so the creative way they solve it with wp-cron is to have a work queue that is checked on every page request. Now that I understand Patrick’s method for posting data to a webhook with the webview component on a page that can just be an “interstitial” in a chain you should be able to do something where you have a collection called “Messages” with the send date, recipient, message contents and send status. You would just need to identify some action in your app that occurs at least once per day (like a signup or login) and put the interstitial page between that and the Home screen (that becomes your wp-cron equivalent). Then on that page you have a conditional action that runs if there is a message with today as the send date and sent = false. When that runs it sends the push notification and sets sent status to True so it only sends it once. Or if you don’t need a log just delete the record to keep it clean…

Anyways it’s very jhankey but something like that might work. I don’t actually have a mobile app to try this with but if you test it out please report back here if that does the trick.

2 Likes

@grid7 thank you so much for this.

I have to admit that it’s a little beyond my current level but it seems like something I could figure out with the help of the video and Google :grinning:

If I manage to get it to work I’ll let you know.

Thanks again!

@nugn I tried to make a proof of concept for you but it’s unfortunately currently blocked by this bug: https://ideas.adalo.com/bugs/p/available-data-manually-added-disapear
I’ve asked @Ben to chime in. Once they acknowledge and resolve that I think the method I’m proposing of emulating wp-cron for this will likely solve the need.

I’ve been posting tutorials on stuff like this lately on my blog grid7.com. It’ll be there once that bug is resolved.
For the randomization piece of it, Adalo doesn’t have the Rand() function that I’m aware of but you could do it via Zapier. I guess my first question though would be, why randomize the followup interval for each person? That’s the type of thing I would think you want to key off their signup date and have a set schedule of checkins… I’ve done some fairly logic within ActiveCampign previously for doing “smart” checkins that may be useful.

The direct response marketers I’ve worked with in the past swear by something called “fibonacci email sequences” where you start with a high frequency of checkins and decay over time but then accelerate the followup if the user reactivates after going dark. We used that at Pagely and then I made some logic that would restart the Fibonacci interval if they became active again after going dark. I can write something up and show you how this works if it’s of interest.

Assuming you do want the interval randomized, you could use a webview to post a webhook to Zapier and use the Rand() function of it’s Formatter action to accomplish this.

1 Like

Thanks again @grid7 - I’m reading up on webhooks now!

The reason for the randomisation of the follow-up interval is because it’s supposed to act as a bit of a surprise for the user. The notifications are a reminder for them to do something a little bit spontaneous.

For example they want to receive the notification once a month, then we want to be able to send it at a random time during the month rather than on the 15th of every month.

Other users may choose a weekly interval so we want to be able to randomise between the days of the week rather than every Tuesday.

Thanks again :slight_smile: !

Hi all.

I’ve added a feature request to fully support Firebase (iOS and Android). That way we will be able to send schedule push notifications for free and at scale

Upvote it here Full Firebase support | Voters | Adalo

Thank you

1 Like