current.operation() is giving null value in mail script


current.operation() from the email notification script is giving the null value and the same method is working fine in business rule.

Sample mail script:

if (current.operation() == "update") {

gs.log("operation=" +current.operation());

} else
gs.log("operation2=" +current.operation());


script log:


Following are the sequence of events that occur in GlideRecord when insert/update happens
Example: Insert operation is performed on an incident record
1. insert() API in GlideRecord is called
2. current.operation is set to "insert"
3. The script engines and business rules are run ---> This is the reason why current.operation() returns valid value in Business rules
4. At the end of insert() API, current.operation is set to "null"

So, current.operation() is applicable for the engines or processes that run only synchronously.

Due to it's asynchronous processing nature of Notification engine (as per design), current.operation() in an email script is not expected to return the actual DB operation being performed.