
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-03-2025 01:23 AM
Hi All,
Usecase: On clicking the button a notification should be triggered to caller of the incident.
For this I developed below, however it is not working
Event:
Notification:
Widget:
HTML:
<h2>Button triggering notification</h2>
<div>
<button class="btn btn-primary" ng-click="c.sendEmail()">Send Email</button>
</div>
Client Controller:
api.controller = function($http) {
var c = this;
c.sendEmail = function() {
c.server.get({
action: 'triggerEmail'
}).then(function(response) {
if (response.data.success) {
alert('Email sent successfully');
} else {
alert('Failed to send email');
}
});
};
};
Server:
(function() {
if (input && input.action === 'triggerEmail') {
gs.eventQueue('trigger_email_event', null, gs.getUserID(), 'Email sent successfully');
data.success = true;
} else {
data.success = false;
}
return data;
})();
I am not sure why it isn't working. Can someone help with correction and execution ?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-06-2025 11:03 PM
some corrections in server side
gs.eventQueue() should be within the IF and it should include inc object
Hope event parm1 contains Recipient=true in your notification
(function() {
gs.log('1. DeeT Server script started');
if (input && input.action === 'triggerEmail') {
var obj;
var inc = new GlideRecord('incident');
inc.addQuery('sys_id', '57af7aec73d423002728660c4cf6a71c');
inc.query();
if (inc.next()) {
gs.eventQueue('trigger_email_event', inc, gs.getUserID(), 'Email sent successfully');
data.success = true;
gs.log('3. DeeT Event triggered: true');
}
} else {
data.success = false;
gs.log('3. DeeT Event triggered: false');
}
gs.log('4. DeeT Server script completed');
return data;
})();
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-06-2025 11:03 PM
some corrections in server side
gs.eventQueue() should be within the IF and it should include inc object
Hope event parm1 contains Recipient=true in your notification
(function() {
gs.log('1. DeeT Server script started');
if (input && input.action === 'triggerEmail') {
var obj;
var inc = new GlideRecord('incident');
inc.addQuery('sys_id', '57af7aec73d423002728660c4cf6a71c');
inc.query();
if (inc.next()) {
gs.eventQueue('trigger_email_event', inc, gs.getUserID(), 'Email sent successfully');
data.success = true;
gs.log('3. DeeT Event triggered: true');
}
} else {
data.success = false;
gs.log('3. DeeT Event triggered: false');
}
gs.log('4. DeeT Server script completed');
return data;
})();
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader