Email BOT not sending an email at all. It sends an email when i press RUN

I set up a scheduled email so that it would look at each row and if the [Next Inspection Date] =TODAY()+30 it should send an email with the contractors name as a reminder. I now there is a few rows which it should flag but it is doing nothing. If i click on RUN it sends an email for every row. There seems to be know errors when i check the audit and test monitor and i am at a loss. If some one could help me it would be very much appreciated.

The calculation i used slash filter is ( [Next Date of Inspection] = TODAY() + 30) i also tried

AND(ISNOTBLANK([Next Date of Inspection]),[Next Date of Inspection]=TODAY())+30)

I do have another email Bot but its not on a schedule works by a change.

1 Like

Please confirm if your app is deployed. Scheduled bots run only for the deployed apps.

2 Likes

Yes the whole thing is deployed this is an add on i came up with. thanks

1 Like

Thank you.

One thing you could try is , please create a slice called say “One_Month_Reminder” on the table with a slice filter expression of

[Next Date of Inspection] = TODAY() + 30

Now please base your scheduled bot on this slice “One_Month_Reminder” and not on the table.

The bot filter expression can be simply TRUE for this slice based bot.

1 Like

Thank you i will try it later as soon as i can get five minutes.

Much appreciated for your help. Jase

2 Likes

You are welcome.

Also please ensure " Bypass security filter" setting is properly set, meaning please ensure , if there is a security filter in place, it is not filtering out the records intended to be used in the bot.

In that case, please set the " Bypass security filter" setting to “on”

2 Likes

[Next Date of Inspection] = TODAY() + 30

today() is a formula that changes every day. How about doing it like this?

[Inspection Reminder] = TODAY()

By adding 25 days to the [Next Date of Inspection], you can have [Inspection Reminder]. This way, it will serve as a friendly reminder just 5 days before the scheduled date. Its good with a virtual column.

Hi Surutt_Gurjar, I created the slice but nothing happens no email so i am still at a lose. Jase

1 Like

Make sure there are rows expected to be generating the email. Your filter condition is checking that the [Next Date of Inspection] contains a date 30 days from TODAY(). In your example above, it appears it was run on Sept 17. 30 days from that date would be Oct 17, so your Bot will send emails ONLY for rows that would have had the [Next Date of Inspection] = “17/10/2025”. If no rows in the table have that date, then no emails are generated!

I hope this helps!

3 Likes

Hi WillowMS,

By what you are saying now makes so much sense and i never thought about it like that.

Does that mean i wont need the slice and i could go back to how i originally set it up.

cheers - Jase

No, you don’t need a slice. The filter condition in the Bot will do the same thing as a Slice. But do pay attention to @Suvrutt_Gurjar ‘s comment on Security Filters. If you haven’t set up Security Filters on that table then you don’t need to worry about it!

3 Likes

Yes strictly speaking, a slice is not required, as @WillowMobileSys guided.

Just sharing a thought behind suggesting slice.

Of late, there are many automation failures without automation monitor or audit log showing any error.

So thought was , let filtering of rows happen outside the automation infrastructure. In case table is large, the row by row filtering in the automation engine can be avoided.

Of course, we do no have quantitative data or probably means of insight into how much exact difference a filter in automation and one in slice will make.

2 Likes

On this, the Slice filtering will definitely need to occur on every data update to the device. In my opinion, it is an unnecessary hit to device-side performance.

A Scheduled Bot running once daily will only need to apply the filter once per day. The performance hit on the background Bot process is less critical.

There is still a concern should the table become VERY large - like tens of thousands of rows. The bot could hit a timeout due to long processing time. It is at that point I would look to other filtering means. Also by that time the app will have matured to the point that there are other table structures possibly requiring a completely different filtering method anyway.

2 Likes

Each table has about 150 rows by 20 columns very much doubt it will get any bigger as the data that changes is the reports linked to the contractor everything else stays the same.

thank you both for your help very much appreciated Jase

3 Likes

Where i have +30 could i put say commas after the 30 could i put 20 and 10 so it checks at 20 days and 10 or do i need to create a sperate BOT ?

thank you Jase

A single Bot would suffice. You would use an OR expression…something like this:

OR([Next Date of Inspection] = TODAY() + 10,
[Next Date of Inspection] = TODAY() + 20,
[Next Date of Inspection] = TODAY() + 30)

1 Like

thank you much appreciated - Jase

Hi WillowMobileSys,

The BOT still wont run i know i have two which are due in ten days from today. But still cant work out why it wont run the email ?

Hi again WillowMobileSys,

Would you believe it i set it to schedule for 4:05pm and it ran 1hr later and selected all the ones which are due at the end of Sept 10 days from now. Thank you for your help

You should be able to test a Scheduled Bot immediately by tapping the “Run” button at the top of the Bot.

It should NOT take an hour for the Bot to trigger. It can take a few minutes if there are many other processes kicking off at that same time. That’s why it is best to set the run time at some odd time. You used 4:05 and that is good but even better is something like 4:17 or 4:23.

If you see consistently that Bots are taking an hour before they run, then that needs to be raised with AppSheet Support.

2 Likes