Schedule workflows

Options

Hi all

I am an experienced Bubble user, considering using Xano as the backend for a new app.

I am still learning, and here is something I don't know how to do.

I'd like to proceed pre-scheduled workflows, with multiple action happening at different date & time, with conditions to proceed.

Real life example (not my use case) :

When a user sign up -> Schedule different actions : Send email#1 at day +1, send email#2 at day +7, send email#3 at day +30, where each email is different, and each action action has conditions (for example, if the user has a value of 9or + in field X, stop the process and don't send email #2 and #3).

It is very easy to do it in Bubble with "scheduled workflows".

From my understanding, the only way to it in Xano would be to have "background tasks", which is not the best to me :

  • It would require to save value like date and time for each email in the data tabs, and maybe other value like the status. That's potentially a lot of "useless" data to store.
  • Background tasks would have to check let's say, every 10 to 30min, if there is an action to proceed. It is counter intuitive to me and I feel like it would need to check and proceed a lot of datas very frequently for a few actions to take. Like having the engine on the all day to do a 5 min ride. Am i wrong ?
  • # of background tasks are limited for each plans and in my case it would be expensive at the beginning to have 10 background tasks for an early stage app..

A way to work it around would be to send info to Bubble and proceed backend workflows there but it would be a non-sense to me...


Is there something I am missing ? An other way to do it ?

Many thanks

Comments

  • Lou
    Lou Member
    Options

    @Michael Udinski any thoughts ?

  • Michael Udinski
    Michael Udinski Administrator

    ADMIN

    Options

    Hey @Lou this is 100% possible with background tasks. I'm not sure what you mean by "useless" data if the data you want to use is vital for different user touchpoints. It's pretty normal to collect a wide range of information on the user object - we do this at Xano ourselves to learn more about our users, who they are, and how to serve them best.

    That being said, in your particular example, every record in your user table has a created_at timestamp - You can use this to check against when the user record was created (sign up). Theoretically, you could build a lot of this in the same task (I'd recommend implementing custom functions if you went this route) but sure it can be easier to manage in separate tasks.

    To me, emails at +1 day, +7 day, +30 day, etc. might not have to be at exactly the second that the mark happened. So you could even space the recurring trigger out, maybe every couple of hours or every hour?

  • gianluca
    gianluca Member
    Options

    Hi, I built quite a complex app in Bubble and I started studying Xano as I want to migrate the backend.

    I was quite disapponted to learn that you can't schedule and API at a future date. This requires creating timestamps in the DB so that the "background task" knows when to trigger an action.

    What's worse is that Xano allows very few background task in their affordable plans (5 in the 59$ plan , 15$/mo in the 356$/mo plan). Unfortunately this is a no-go for my app. I will need to find a different solution and I'm now starting to check Supabase.

    I hope this comment is useful for people at Xano.

  • Michael Udinski
    Michael Udinski Administrator

    ADMIN

    Options

    Hi @gianluca — there are a number of ways to trigger a background task depending on your logic.

    We've seen that the background task allotment for each plan is more than enough for the majority of users. That being said, you can always add more and there might be optimization options if your initial thought is you need many background tasks. Supabase is a great database choice! You will be required to roll your own API however.