- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2024 01:54 AM - edited 08-12-2024 02:21 AM
Hello,
Could anyone please help me on this as i need to set the assignment group based on the subject line of incident.
I have created one table and there i stored subject and assignment group.I have created the inbound action for 'Create Incident'.
Below is the code.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2024 07:17 AM
Hi @Mansi roy
Try bellow refined script once and test:
// Set the caller and basic details from the email
current.caller_id = gs.getUserID();
current.comments = "received from: " + email.origemail + "\n\n" + email.body_text;
current.short_description = email.subject;
// Set incident state, notify and contact type
current.incident_state = IncidentState.NEW;
current.notify = 2;
current.contact_type = "email";
// Assign incident if specified in the email body
if (email.body.assign != undefined) {
current.assigned_to = email.body.assign;
}
// Set priority based on email importance
if (email.importance != undefined) {
current.priority = 1;
}
// Normalize the subject for searching
var subject = email.subject.toLowerCase();
// Query the subject group mapping table
var mapping = new GlideRecord('u_subject_group_mapping');
mapping.addQuery('u_subject', subject);
mapping.query();
if (mapping.next()) {
// If a mapping is found, set the assignment group
var assignmentGroup = mapping.u_assignment_group;
if (assignmentGroup) {
current.assignment_group = assignmentGroup;
} else {
gs.info('No assignment group found for the subject: ' + subject);
}
} else {
gs.info('No mapping found for the subject: ' + subject);
}
// Insert the new incident record
current.insert();
Also keep consider the point mentioned by Ankur, here I am assuming 'assignment group' field is reference field in your custom table.
I hope my answer helps you to resolve your issue, if yes mark my answer correct & helpful.
thank you
rajesh.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2024 06:58 AM
Hello @Rajesh Chopade1.
I am not getitng the value.Could you please chekc once the script and let me know where i am doing wrong.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2024 07:05 AM
is that custom table field which holds group a reference or string type?
if it holds group name and is of type string then try this line
current.setDisplayValue('assignment_group',assignmentGroup);
if it's reference to group table this line should work fine.
current.assignment_group = assignmentGroup;
What debugging have you done so far? Is the GlideRecord working fine?
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
08-12-2024 11:40 AM
Hello @Ankur Bawiskar,@Rajesh Chopade1
I tried the below script but it is not working.in my table both are string type field(assignment group and keyword).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2024 08:23 PM
is it getting inside this IF?
if (mapping.next()) {
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2024 09:34 PM
Hello @Ankur Bawiskar,
It is not going inside if statement. What wrong i am doing could you please help me.