Email notification when record updated is not getting triggered

Nisar2
Mega Guru

Hi experts,

I've run into a weird problem. I've a notification setup as follows:

When to run:

find_real_file.png

 

Who will receive:

find_real_file.png

 

What will it contain:

find_real_file.png

 

 

Then I use a background script to update the record's substatus (which is happening as I check it in the form view)

But when I open the sys_email table and try to find any record of this email, I fail to see any rows. What could be causing it to fail?

Additionally, even the gs.info statement in the "Advanced condition" isn't showing up logs.

My initial assumption is that perhaps this notification is being run before the substatus is even updated/commited and hence the Substatus CHANGESTO condition is failing.

Interestingly, if I remove the CHANGESTO condition and keep only Case Type = Fault condition and then run the background script, the email is being triggered.

 

EDIT: NEW FINDINGS

It appears that the "When to run" condition isn't being honoured for "Updated" checkbox in some cases. Here's what I tried:

(a) Used only "Case Type = Fault" under conditions

(b) Kept the gs.info statement inside "Advanced condition"

(c) Ran the background script and put the substatus to empty

(d) Boom! The log statement was visible and the email was sent out

(e) Then I ran the background script and put the substatus to SIIAM interface failure

(f) No log statement got printed indicating that some condition failed

(g) Then I ran the background script and put the substatus to empty

(h) Boom! The log statement was visible again and the email was sent out

(i) Ran the background script and put the substatus to Processing (which is valid value)

(j) No log statement got printed indicating that some condition failed

(k) Ran the background script but did nothing on the substatus value and put a work note

(l) Boom! The log statement was visible and the email was sent out

 

So for some reason it seems the "when record gets updated" condition isn't working whenever I try to put the substatus to any other value except empty. Any thoughts as to why this might be happening?

1 ACCEPTED SOLUTION

Nisar2
Mega Guru

Caught the culprit. It was an "after" Business Rule that ran whenever substatus changes. In the script part, there was a setWorkflow(false) statement which was disabling the Notification engine.

To resolve it, I changed the order of the BR to 1001 as per https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0858407 and it started working now.

Thank you everyone for your suggestions. Turns out it was the dreaded setWorkflow statement that causing the issue.

View solution in original post

12 REPLIES 12

Voona Rohila
Kilo Patron
Kilo Patron

Hi Nisar

Can you try adding "substatus || is || siamm.." filter and check.


Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP

Voona Rohila
Kilo Patron
Kilo Patron

Hi Nisar

If you are using changes to - can you keep your substatus to some other choice and update your record to 'siamm' choice 

 

Also,Can you try adding "substatus || is || siamm.." filter and check if notification is triggering.

 


Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP

Sorry, didn't get you. You mean to say in the notification keep the condition to "Substatus CHANGESTO <some other value other than SIIAM>" and then via background script update the value as Siiam interface failure?

 

But then that shouldn't work at all right?

No No your notification looks good.

But when you are testing- make sure the record sub state value has some other choice and set the value to 'siiam' using your script.


Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP