- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-12-2016 07:21 AM
Hello,
Need some help with an Inbound action. I have a catalog item that asks for an email address. A notification is sent to that email, and there's an "I Agree" link on that notification, and when they click that, it emails the instance that the user has agreed to the terms of use, etc, then a field gets updated on the RITM record. However, I noticed that if someone enters an email address (which is not the one on their user profile) that has upper-case letters, the inbound action gets skipped. Below is my inbound action. I've tried to add .toLowerCase() after the variable, but that didn't help.
function validUser() {
if (current.request.requested_for == email.from_sys_id || current.variables.u_sra_email.toLowerCase() == email.from || current.variables.u_webmail_email.toLowerCase() == email.from)
return true;
}
if (validUser()){
if (email.subject.indexOf('I Agree') >= 0)
current.u_sra_agreement = 'I Agree';
if (email.subject.indexOf('I Disagree') >= 0)
current.u_sra_agreement = 'I Disagree';
}
current.update();
Please help. Thanks!
Maria
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-21-2016 07:41 AM
Hi Maria
Assuming your code is returning false from validUser() function...
Can you please put this in your 2nd IF loop in validUser() function (assuming that is the one expected to return TRUE, otherwise update it where ever is necessary)
var r = new RegExp(current.variables.u_sra_email, "i");
return r.test(email.from);

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-12-2016 09:20 AM
Thank you Maria. Interesting. It's as if the inbound action doesn't know about the variables for that request item. I'm out of ideas at the moment. If nobody else comes up with something, reach out to support. I'll be interested to hear what they have to say.
HI Service Portal - ServiceNow
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-20-2016 09:52 AM
Hi Maria
Can you try to log current.variables.u_sra_email without toLowerCase just to make sure this contains the actual value or not..
Also, can you please add some kind of log as indication in each IF loop in your ValidUser() function so that we will come to know which IF is returning true and it helps in debugging..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-21-2016 06:34 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-21-2016 07:41 AM
Hi Maria
Assuming your code is returning false from validUser() function...
Can you please put this in your 2nd IF loop in validUser() function (assuming that is the one expected to return TRUE, otherwise update it where ever is necessary)
var r = new RegExp(current.variables.u_sra_email, "i");
return r.test(email.from);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-26-2016 07:25 AM
Hi Kumar!
This worked perfectly! Thanks so much!
Maria