Apologies for the brief description. I now have 3 separate app all with the same issue, though weirdly it seems they didn't all start doing this on the same day...
Each app has a bot that sends emails on daily schedule, say 1000. The 1000 email goes fine. But then the recipient gets an email at 1007, 1020, 1042, 1053 etc. Sometimes 7 or more times. All identical, all quite spaced out in terms of time. This first started about 3 weeks ago with one client. Then another 8 days ago, then a 3rd today.
Anyone any ideas? Neither of the 3 apps has been touched in weeks, so it's nothing to do with a change at my end.
Solved! Go to Solution.
this sounds like an issue with the appsheet automation engine retrying the email step due to a backend timeout or failure to confirm delivery — even though the email is actually sent
if the bot thinks it failed (e.g. due to a delay in acknowledgment from the email service), it may retry multiple times, causing duplicates
things to check:
go to Monitor > Automation Monitor and look at the execution logs for the bot — see if the same process shows multiple attempts with “retry” or “error” status
check if the task step (send email) has long delays or partial failures
verify your target email service (especially if using a custom domain) isn’t causing delay or timeout responses
as a workaround, add a "flag" column or timestamp to track if the email was already sent for that row, and exit the bot early if it was
since you haven’t changed anything, this may be due to an internal update on appsheet’s side or email queue behavior — worth reporting to support with bot log screenshots
this sounds like an issue with the appsheet automation engine retrying the email step due to a backend timeout or failure to confirm delivery — even though the email is actually sent
if the bot thinks it failed (e.g. due to a delay in acknowledgment from the email service), it may retry multiple times, causing duplicates
things to check:
go to Monitor > Automation Monitor and look at the execution logs for the bot — see if the same process shows multiple attempts with “retry” or “error” status
check if the task step (send email) has long delays or partial failures
verify your target email service (especially if using a custom domain) isn’t causing delay or timeout responses
as a workaround, add a "flag" column or timestamp to track if the email was already sent for that row, and exit the bot early if it was
since you haven’t changed anything, this may be due to an internal update on appsheet’s side or email queue behavior — worth reporting to support with bot log screenshots
Thanks for the clearer context — this is very important and suggests something deeper than just a temporary sync issue.
🔁 Your Issue in Summary:
You have 3 different AppSheet apps, each with a scheduled bot that sends emails at 10:00 AM.
All apps worked fine before.
Now, they send the email multiple times (e.g., at 10:07, 10:20, 10:42, etc.).
Nothing has changed in the apps or bots for weeks.
This behavior started:
~3 weeks ago with App A,
~8 days ago with App B,
Today with App C.
🧠 Likely Cause
This is not an app logic error on your part — it's most likely due to a bug or delay on AppSheet’s backend, specifically in how scheduled bots are triggered and how retry logic is being handled.
The key evidence:
No app edits
Staggered onset across different apps
Multiple identical emails sent gradually over time
No user-triggered events — only bots/schedules involved
🧪 Possible Technical Explanation
AppSheet bots run on Google Cloud infrastructure and use internal task queues. If for any reason:
AppSheet’s task processor doesn't acknowledge the task as complete,
Or if the email delivery callback times out, AppSheet may think the task failed and retry it, leading to duplicate emails sent hours later.
This retry logic should not happen with successfully completed tasks — but if the confirmation system is broken or delayed, you’ll see these "ghost" resends.
✅ Steps to Diagnose & Mitigate
1. Check the Automation Monitor
Go to:
> AppSheet Editor > Monitor > Automation Monitor
Here you’ll see the timestamp of each execution — this confirms if the Bot is being re-triggered or simply resending the same action.
Look for:
Whether the automation was triggered once, but task was retried multiple times.
Or whether the entire Bot is being retriggered (which would be a bigger issue).
2. Check Audit History
> Manage > Monitor > Audit History
Filter by the Bot’s name or scheduled time.
See whether the same bot is being executed multiple times.
You’ll be able to download logs and match against user/device/IP or automation sources.
3. Add Logging to Prevent Resends
As a temporary fix, modify your bot:
Create a simple “Status” or “EmailSentTimestamp” column in the table.
Before sending the email, check if it was already sent today ([EmailSentDate] = TODAY()).
If yes, exit the process via a condition (IF expression) or filter.
4. Report to AppSheet Support
This is critical. You’re not the only one seeing this:
Go to support.appsheet.com
Include:
App names
Automation Monitor logs
Audit logs
Time and date of issue
Reference that other users are reporting the same multi-send behavior (see AppSheet Community threads — some users are reporting bot retries without cause).
🔒 Safety Advice
In the meantime:
Consider disabling the bot temporarily if it’s causing user confusion.
Or limit it with a guard column like [EmailAlreadySent] = FALSE.
🧭 Final Thought
This issue seems to be part of a recent change or failure in AppSheet's task scheduling or retry system. You’ve done everything right by not touching the apps. The pattern (staggered onset, consistent behavior, identical bots) suggests it’s platform-wide, not isolated.
Managed to work out what this was. I had a bot which sent an email then an SMS via a Webhook. I've been trying to sort out a new SMS but presumed leaving it in the app wouldn't cause any issues. The problem was the bot would sent the email, then the SMS task would timeout meaning the bot never completed. So it just kept re-running...
User | Count |
---|---|
16 | |
8 | |
7 | |
3 | |
2 |