Email notifications: Getting multiple emails for every record auto-updated in a table, just want 1 email

cathytyner
Kilo Expert

Hi all!

I have a custom table u_classroom_codes with 86 records. Every 3 months I replace data in the table with a scheduled data import. I have an email notification set up so that I receive an email letting me know that the table has been updated with current data. I get 86 emails. I assume I'm getting one email for every record that has been updated. I just want to get one single email so that I know the table has been updated. Can someone suggest how to setup my email notification correctly? Below is a screen shot of how it is currently set. Please note I'm a newbie with no scripting experience.

I think the problem is that the table I selected within 'Email Notifications' is my table with 86 records. The notification is doing as it's told and alerting me every time a record is updated. Maybe I can select a different table such as one that that will only have one records which updates upon my successful data load or maybe when my scheduled job has been completed...?

Components:

  • Table: u_classroom_codes (always 86 records)
  • Data Source: auto_load_classroom_codes
  • Table Transform Map: Auto Classroom Code load
  • Scheduled Data Import: Classroom Codes
  • Registry: classroom_codes_update.completed
  • System Policy > Notifications: "Notify that Classroom Codes table data updated"

Screen Shot 2015-03-11 at 11.08.45 AM.png

Much thanks!!

Cathy

1 ACCEPTED SOLUTION

edwin_munoz
Mega Guru

Hello Cathy,



You can follow these steps to get the notification you want.



1. Create event in System Policy -> Events -> Registry


      Name: classroom.import.completed


      Table: Import Set


2. Go to the Auto Classroom Code load transform map and select the Transform scripts tab. Create a new transform map script:


      When: onComplete


      Script:


gs.eventQueue("classroom.import.completed", import_set);



3. Edit your notification to be sent when an event is triggered and select the classroom.import.completed event.




EDIT: Maybe you don't have to create a new event and you can use the one you already have.classroom_codes_update.completed.



Who should receive this email? is it always going to be you? or the person who runs the import?




View solution in original post

36 REPLIES 36

Thanks Jamie. I just made the change you suggested and tested again - I saw the event appear in the event log, but still no email.



Screen Shot 2015-03-11 at 3.42.04 PM.png


Brad Tilton
ServiceNow Employee
ServiceNow Employee

Hi Cathy,



The way you have that set up the email will get generated for every record that gets updated and since the updates happen independent of each other there's no way to suppress them through the notification functionality. I would try to generate the notification through the scheduled import. You could add an oncomplete transform script that will generate an event that can fire a notification.


Thanks Brad, I'll try this and let you know.


cathytyner
Kilo Expert

I see that *one* entry is made is table Event [sysevent], so I tried setting up my email notification to trigger when the associated record is inserted into that table. To test, I then ran the data import (success), but I never received an email. It is set up as pictured below.



When I go back into table Event [sysevent], I can see my one record which added my event name: "classroom_codes_update.completed" with the correct timestamp.



The new record was inserted, seems that should have triggered my (one and only one) email?


Screen Shot 2015-03-11 at 1.11.13 PM.png


Not sure if I'm on the right track or why I didn't get an email. Timing issue?


In order to fire from an event, you would have to switch to the advanced view and select send from event instead of when a record is inserted or updated. You'll then get a field to select the event.