Multi-Cycle Approval Workflow with Unreliable Email Triggers in AppSheet
I have an AppSheet application with multiple email notification workflows that are triggered based on approval and rejection actions by different user roles (Implementor, 1st Level Approver, and 2nd Level Approver).
Current Notification Flow
The intended email behavior is as follows:
-
When a new entry is created by Implementor, an email is sent to 1st Level Approver (working as intended).
-
When 1st Level Approver approves, an email is sent to:
-
Implementor
-
2nd Level Approver (different script)
-
-
When 2nd Level Approver approves, an email is sent to (same script and recipient logic):
-
Implementor
-
1st Level Approver
-
-
When 1st Level Approver rejects, an email is sent to Implementor.
-
When 2nd Level Approver rejects, an email is sent to Implementor (using the same script as 1st Level rejection).
-
When Implementor updates an entry that was previously rejected, an email is sent to 1st Level Approver to restart the approval process.
Current Implementation
-
Approval and rejection states are stored in multiple TRUE/FALSE columns.
-
Each email automation has its own TRUE/FALSE “Email Sent” flag to prevent duplicate notifications.
-
Once an email is sent, the corresponding “Email Sent” column is set to TRUE.
The Problem
Only the first notification (new entry → 1st Level Approver) works reliably.
All subsequent approval and rejection notifications behave inconsistently.
The core issue occurs when Implementor updates an entry after it has been approved or rejected:
-
To restart the approval process, I reset the approval-related TRUE/FALSE columns back to blank.
-
However, the email automation triggers depend on these approval columns to fire.
-
Resetting these columns causes the email triggers to fail or behave unpredictably.
At the same time:
-
If I do not reset the “Email Sent” columns, approval and rejection emails do not send again on the 2nd, 3rd, or later approval cycles.
-
If I do reset the “Email Sent” columns, they conflict with the approval reset logic and break other email triggers.
Summary of the Challenge
I need a solution that can:
-
Allow approvals and rejections to repeat across multiple cycles
-
Ensure each email notification fires only once per action (no duplicates)
-
Avoid breaking automation triggers when approval states are reset
-
Maintain a clean and predictable approval workflow when an Implementor updates a previously approved or rejected entry
Any recommended design patterns, best practices, or real-world examples for handling multi-cycle approvals with reliable automations would be greatly appreciated.
Thank you.