A “scheduled backend workflow” is 2 parts in Wappler: an API call + it being scheduled. The first part is ubiquitous in Wappler, and is called “Server Connect”. Assuming a NODE backend, every action taken will end up being an API call from the client front-end to your server backend: every data read, write, etc.
To make this scheduled, one has to do a bit more work and create an internal scheduler. Essentially two things: a scheduling agent and a scheduling table. To schedule an API call, you’d do what Bubble secretely does behind the scenes: insert a row into a scheduling table with an API name, the desired run date, and all input variables needed for that run. Then a 2nd job that simply runs on a loop every second reading that table (such a looping job is built in to Wappler known as a “Schedule”). If it finds a row that is now due to run, it executes a hard-wired API based on a known API name being found in the table.
Security is managed via user authentication in inserting a row into your scheduling table.
(P.S. any “schedulable” api in Wappler is actually best built as a “library” function, as it will almost always be called from within the Schedule process.)