Help

Avoid triggering a "send email" automation if the email is invalid

Topic Labels: Automations
Solved
Jump to Solution
466 1
cancel
Showing results for 
Search instead for 
Did you mean: 
EcoEd_Latam
5 - Automation Enthusiast
5 - Automation Enthusiast

Hi Community!

I'm setting up an automation to remind users to update their records. So the idea is to send email reminders in 3, 6, 9 and 12 months since the last update.

I'm using an automation triggering by a formula field that simply calculates the number of months since the last update was made.

All good there!

However, some emails are invalid (user likely entered wrongly), so I'd like to avoid trigerring the 6-, 9- and 12-months reminders if the email is invalid.

My logic right now works like this:

  1. Triggers if months passed = 3 AND email is not checked as invalid
  2. Checks email as invalid
  3. Sends email
  4. Uncheck email as invalid

The idea is that if the email fails to send (step 3) then the process stops, step 4 never occurs, and the email invalid is left checked. This works nicely.

What doesn't work is if the email is sent! Because step 4 updates the "Invalid email" field, which is also in the trigger, it triggers the automation again and again and again. I had instances of sending 1000s of emails to the same recipient. So I want to avoid breaking someone else's inbox again 🙄

So, my questions are:

  1. Is there a way to flag an email as invalid while avoiding the logic entering a loop?
  2. Should I be concerned at flagging invalid emails at all? Or should I just don't care to receive errors at the 6-, 9-, 12-months marks?

Any help or insight would be greatly appreciated!

 

1 Solution

Accepted Solutions
EcoEd_Latam
5 - Automation Enthusiast
5 - Automation Enthusiast

I found an answer!

I realized I was approaching this wrongly. Basically, I was thinking of each automation individually, whereas I should think of all automations as an aggregate.

That's to say, I don't have to do the invalid email check for the first email of the series (I would never know). And I don't need to change the "invalid email" flag in the subsequent emails (because I already know if it's valid or not from the first email). In other words:

3-month email:

  1. Triggers if months passed = 3
  2. Checks email as invalid
  3. Sends email
  4. Uncheck email as invalid

6-9-12 month emails

  1. Triggers if months passed = 3 AND email is not checked as invalid
  2. Sends email

Therefore, I can avoid changing a variable and filtering it at the same time.

With this problem, I learnt how to be more strategic with automations (using the information from one indirectly on others). So I hope this helps someone!

Still, it would be lovely to know how to change a field that's being used in the automation trigger without triggering again and again and again. But for now, the issue is solved!

See Solution in Thread

1 Reply 1
EcoEd_Latam
5 - Automation Enthusiast
5 - Automation Enthusiast

I found an answer!

I realized I was approaching this wrongly. Basically, I was thinking of each automation individually, whereas I should think of all automations as an aggregate.

That's to say, I don't have to do the invalid email check for the first email of the series (I would never know). And I don't need to change the "invalid email" flag in the subsequent emails (because I already know if it's valid or not from the first email). In other words:

3-month email:

  1. Triggers if months passed = 3
  2. Checks email as invalid
  3. Sends email
  4. Uncheck email as invalid

6-9-12 month emails

  1. Triggers if months passed = 3 AND email is not checked as invalid
  2. Sends email

Therefore, I can avoid changing a variable and filtering it at the same time.

With this problem, I learnt how to be more strategic with automations (using the information from one indirectly on others). So I hope this helps someone!

Still, it would be lovely to know how to change a field that's being used in the automation trigger without triggering again and again and again. But for now, the issue is solved!