How do I use Groovy script to notify an agent that a service request has been assigned?
Here's a sample groovy script that triggers a notification to be sent to the recipient specified in the Notification Preferences page when a service request (SR) is assigned.
You can copy and paste this sample code in Application Composer > Objects > Standard Objects > Service Request > Server Scripts.
/* DISCLAIMER: This trigger is provided only as a reference.
* TRIGGER TYPE: Before Update in Database
* OBJECT: Service Request
* Use Case: Send a notification when an existing SR is reassigned.
* Note: You can override the Notification Text and Recipients using the Notification Preferences page.
*/
if (isAttributeChanged('AssigneeResourceId')) {
try {
def recipientPartyId = AssigneeResourceId
def messageText = 'An SR notification (default message).'
if (recipientPartyId) {
//Call to send notification
adf.util.sendNotification(adf, messageText, recipientPartyId)
//Log a confirmation that the notification has been sent. Logs can be viewed in 'Runtime Messages'.
//println("Notification sent to " + recipientPartyId + " because the SR was assigned to them.")
} else {
println("No Assignee associated with this SR")
}
} catch (e) {
//Log the failure in groovy logging. Logs can be viewed in 'Runtime Messages'.
println("Failure to trigger notification from Groovy Script " + e.getMessage());
// Throwing validation exception will show the message on the UI. This is not recommended for published sandboxes.
// The following code is one of many to illustrate identifying an error in trigger from the UI.
// Replace <triggerName> with the trigger name you specified when creating this trigger.
// throw new oracle.jbo.ValidationException('Failure to trigger <triggerName> Notification from Groovy Script: ' + e.getMessage())
}
}