Workaround to include data actions in scheduled bot that is not associated with a table

Hi,

on a monthly basis, I run a bot that generates a xml file from a template. Because “For Each Row in Table” is unchecked, Appsheet considers that it is not associated to any table in particular and automatically puts that bot in the “Other” category in the list of bots on the left pannel.

I then need to complete the process by running a data action on a couple of rows (i.e. marking those rows that have been exported in the xml file as such). But when you add a step to that bot (or any other bot in the “Other” category), you are denied the possibility of selecting “Run a data action”. It is peculiar because clicking on “Run actions on rows” would give you the ability to select a specific table, but Appsheet doesn’t allow that for some reason.

So in order to complete that process, I have to setup another both, timed to start 5 minutes after my initial bot (and hoping that it is completed by then) to do that data action.

I would really appreciate the opinion of our specialists on this: is that the only way possible? Or is there a more elegant and better way to do that?

Thank you very much.

G

Are you able to evaluate the possibility of checking for each row option and then selecting specific rows using the row filter option in the bot from that table. So filter the rows that impact your scheduled bot and the data actions?

1 Like

No. Unless I “artificially” check for every row and simply add the condition “True”?
G

Could you mention how you select these rows in the data action?

Could you also mention what you mean by “artificially checking?”

1 Like

Currently, in the second bot scheduled 5 minutes after the first one, I select "For Each Row in Table” and have a condition which matches the START/SELECT expression of my template. The only step in the Process is then to “Set row values” where I mark my export boolean column to TRUE.

Sorry I wasn’t clear: I meant checking for each row for a condition which is just TRUE all the time. Is that a valid workaround? Because it would actually make the process run multiple times and I only need it to run once…

Or maybe I check for each row but then create a condition that macthes just one row? Is that what you had in mind?

Thank you for the details.

It will depend on your configuration, so there may be solution or not but are you able to set say any one row from the START expression of the template as filter condition in the scheduled bot, so that the scheduled bot runs only once. You could possibly use MAXROW() or MINROW() from that template start expression as the scheduled bot’s filter expression.

Thereafter in the data action step in the same bot, you could possibly use that entire START expression again to set the values of related rows in a reference action.

However the feasibility will depend on your exact configuration.

1 Like

I think I see your idea. I am going to try: thanks!

It remains puzzling to me why the data action steps are not allowed in these cases…

G

1 Like

You are welcome.

Please post back how it goes.

If there is any small tweak required for final lap, we could help.

1 Like