did not create or update sn_customerservice_case using current
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-24-2020 09:53 AM
Hello everyone,
I am totally not clear what is happening to my inbound email actions. All code are clear and perfect. I tried putting logs everywhere and it is returning values as expected. But still I am getting this below error with target empty. Can anybody help me on this issue. Recently system has upgraded to Orlando.
org.mozilla.javascript.EcmaError: The undefined value has no properties.
Caused by error in <refname> at line 1
==> 1: current.short_description = email.subject;
2: //current.description = email.subject +' Type: '+email.body_text;
3: //var instanceM = email.instance;

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-24-2020 10:16 AM
try this way. i pasted inside anonymous function.
(function runAction(/*GlideRecord*/ current, /*GlideRecord*/ event, /*EmailWrapper*/ email, /*ScopedEmailLogger*/ logger, /*EmailClassifier*/ classifier) {
// Implement email action here
current.short_description = email.subject;
var contactID2;
current.description = email.subject;
var senderEmail = email.from;
var contact = new GlideRecord("customer_contact");
var contactID = new CSEMailUtil().getUserIDFromEmail(email.from); //get User from Customer Contact Table list
if (contactID == ''){
contactID2 = new CSEMailUtil().getUserIDFromEmail2(email.from); //get User from User Table list
}
//gs.info('Contacty - '+contactID2.getUniqueValue());
//gs.info('Contacty1 - '+contactID2.getValue('company'));
var emailDomain = '';
var emailLng = senderEmail.length;
var startpt = senderEmail.indexOf('@');
if (startpt > 0) {
emailDomain = senderEmail.substring(startpt + 1,emailLng);
}
if (contactID2 !== ''){
current.contact = contactID2.getUniqueValue();
current.account = contactID2.getValue('company');
}else{ //If contant is not present in Contact Table
if (gs.getProperty('gogo.glide.pop3readerjob.create_contact') == 'true')
{
var emailLength = senderEmail.length;
var emailPosition = senderEmail.indexOf('@');
emailDomain = senderEmail.substring(emailPosition+1,emailLength);
var acct = new GlideRecord('customer_account');
acct.addQuery('u_company_domain', emailDomain);
acct.query();
if (acct.next()) //If domain gotten from the email of the email sender is present in the Account Table
{
var cont = new GlideRecord('customer_contact');
cont.initialize();
cont.email = senderEmail;
cont.account = acct.sys_id;
var emailFrom = '\nFrom:';
var emailStr = ' <' + senderEmail + '>';
var len = email.headers.length;
var pos1 = email.headers.indexOf(emailFrom);
var pos2 = email.headers.indexOf(emailStr);
var fullName = email.headers.substring(pos1+6,pos2);
var fnLength = fullName.length;
var fnSpacePos = fullName.indexOf(' ');
if (fnSpacePos > 0) {
var firstName = fullName.substring(0,fnSpacePos);
var lastName = fullName.substring(fnSpacePos+1,fnLength);
cont.first_name = firstName;
cont.last_name = lastName;
}
else {
cont.last_name = fullName;
}
cont.user_name = cont.email;
contactID = cont.insert();
}
}
}
var contact2 = new GlideRecord("customer_contact");
if(contact2.get(contactID))
{
var accountID = contact2.account.getValue();
var account = new GlideRecord("customer_account");
if(account.get(accountID)){
if(account.customer){
current.contact = contact2.sys_id;
current.account = account.sys_id;
}
}
}
/*if(contact.get(contactID))
{
var accountID2 = contact.account;
var account2 = new GlideRecord("customer_account");
if(account2.get(accountID2)){
if(account2.customer){
current.contact = contact.sys_id;
current.account = account2.sys_id;
}
}
}*/
current.u_originating_email = email.from;
var instanceEmail = gs.getProperty('glide.email.user');
var rarray = email.recipients.toLowerCase().split(",");
var rarray2 = rarray;
var toarray = email.direct.toLowerCase().split(",");
var k = '';
current.assignment_group = 'b2ec8acd3c21f00010706276de4006de'; //Default Assignment Group as AMCC - b2ec8acd3c21f00010706276de4006de
for (var i = 0; i<rarray.length; i++)
{
if ( k !== 'STOP' ){//
if ((rarray2[i].indexOf('amcc@ccc.com') > -1) || (rarray2[i].indexOf('amcc@a.cc.com') > -1)){
current.assignment_group = 'b2ec8acd3c21f00010706276de4006de'; //AMCC assignment group b2ec8acd3c21f00010706276de4006de
k = 'STOP';
}else if ((rarray2[i].indexOf('noc@ccc.com') > -1) || (rarray2[i].indexOf('noc@a.ccc.com') > -1)){
current.assignment_group = '7aec8acd3c21f00010706276de4006ad'; //NOC assignment group
k = 'STOP';
}else if (rarray2[i].indexOf('IT-CORP-APPS@ccc.com') > -1){
current.assignment_group = '344e6044e56e1d00120bac1df1012fdb'; //IT-CORP-App assignment group
k = 'STOP';
}else if ((rarray2[i].indexOf('aog@ccc.com') > -1) || (rarray2[i].indexOf('aog@a.ccc.com') > -1)){
current.assignment_group = '6de0b8a2db1ca200ed54785e0f96196d'; //AOG assignment group
k = 'STOP';
}else if ((rarray2[i].indexOf('supplychainoperations@ccc.com') > -1) || (rarray2[i].indexOf('supplychainoperations@a.ccc.com') > -1)){
var domainAssignment = new GlideRecord('u_domain_assignment');
domainAssignment.addQuery('u_domain', emailDomain);
domainAssignment.query();
if (domainAssignment.next()) {
current.assignment_group = domainAssignment.u_assignment_group;
k = 'STOP';
}
else {
current.assignment_group = 'b51349b2dbbc5344352ff969af96190c'; //Supply Chain Operations assignment group
k = 'STOP';
}
}
}
if (rarray[i] === instanceEmail || current.watch_list.toString().indexOf(rarray[i]) > -1 || rarray[i].indexOf('amcc@ccc.com') > -1 || rarray[i].indexOf('aog@ccc.com') > -1 || rarray[i].indexOf('supplychainoperations@ccc.com') > -1 || rarray[i].indexOf('noc@ccc.com') > -1 || rarray[i].indexOf('amcc@a.ccc.com') > -1 || rarray[i].indexOf('aog@a.ccc.com') > -1 || rarray[i].indexOf('supplychainoperations@a.ccc.com') > -1 || rarray[i].indexOf('noc@a.ccc.com') > -1) {
rarray.splice(i, 1);
}
}
current.watch_list = current.watch_list.toString() + "," + rarray.toString();
gs.info('xWatchLister: '+ current.watch_list.toString()); //Testing Output
gs.info('xWatchLister Recipients: '+rarray.toString());
//Function to Remove Duplicate contacts on Watchlist with Sys_id instead of emails
function getSID(rar,wahl){
var mySID;
var sID = new GlideRecord('sys_user');
sID.addQuery('email',rar);
sID.query();
var counter = sID.getRowCount();
// gs.info('Count: '+ sID.getRowCount());
if (sID.getRowCount() > 1){
while (sID.next()){
mySID = sID.getUniqueValue();
// gs.info('sID: '+ mySID);
if (wahl.toString().indexOf(mySID) > -1){
return true;
}
}
}else{
sID.next();
mySID = sID.getUniqueValue();
if (wahl.toString().indexOf(mySID) > -1){
return true;
}
}
return false;
}
current.contact_type = "email";
current.insert();
})(current, event, email, logger, classifier);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-24-2020 10:19 AM
Nope. It didn't work. Still getting same error.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-24-2020 10:26 AM
just for testing , can you make your code short, eg: 1 or 2 line of code.
run this code and let me know what are you getting in logs.
(function runAction(/*GlideRecord*/ current, /*GlideRecord*/ event, /*EmailWrapper*/ email, /*ScopedEmailLogger*/ logger, /*EmailClassifier*/ classifier) {
// write your script here
gs.info('inbound action is running ' + email.subject);
current.description = email.subject;
current.insert();
})(current, event, email, logger, classifier);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-24-2020 11:04 AM
Yep it works. Records are getting created.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-25-2020 12:54 AM
so the issue is not with inbound action, you have to dig into your script and try to set part by part so this way you can identify which line of your script is not working here.
If my answer helped you, kindly mark my answer as correct and helpful.