- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-04-2016 08:36 PM
Hi
I have a requirement where I have a table having ACL where user with no role can't write on any field in the table. I have "update inbound email action" on the table which will add comments on record from reply email.
Issue here is I want that outside user (which are not in service now) can also update the record. Since this uses guest user for update of record and guest user do not satisfy the ACL requirement, so the inbound action fails.
Is there any way of achieving this without giving any role to guest. Maybe using other users to update the record instead of guest, but only for this table. For other table guest user should only be used.
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-04-2016 11:19 PM
Hi Harshvardhan,
There are a couple of ways you could approach it...
You can create an ACL allowing the Guest account to write to this table even without a role.
- Select "Advanced" on the ACL so you can use a script
- In the script field, enter:
answer = !gs.isInterActive() && gs.getUserID() == (enter the sys_id of your Guest user);
Or, you could impersonate a user with an appropriate role in your Inbound Email Action by using the following:
gs.getSession().impersonate(sys_id of roled user);
Either one of those should work for your scenario.
Thanks,
-Brian

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-04-2016 08:43 PM
Hi Harshvardhan,
Administrators can prevent users from untrusted domains from triggering inbound actions. For example, you can prevent email from users outside your company domain from creating incidents.
Please check section 13 for more info.
http://wiki.servicenow.com/?title=Inbound_Email_Actions#gsc.tab=0
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-04-2016 09:22 PM
Hi Pradeep,
I actually want the users(third party users) to trigger inbound action and update the record. I read in the wiki that
"If the sender does not match an existing user, the instance impersonates the Guest user to complete any inbound email actions."
Its working fine, impersonating the guest user, but since guest user do not have access so it ignores inbound action, and doesn't update the record.
I want the way to achieve this without giving any access to guest user.
I saw some business rule through which we can use other user to update sys_email record, but they kind of work globally, I want to do it only for this table. For other table guest user can only be used to update records

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-04-2016 11:19 PM
Hi Harshvardhan,
There are a couple of ways you could approach it...
You can create an ACL allowing the Guest account to write to this table even without a role.
- Select "Advanced" on the ACL so you can use a script
- In the script field, enter:
answer = !gs.isInterActive() && gs.getUserID() == (enter the sys_id of your Guest user);
Or, you could impersonate a user with an appropriate role in your Inbound Email Action by using the following:
gs.getSession().impersonate(sys_id of roled user);
Either one of those should work for your scenario.
Thanks,
-Brian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-09-2016 03:15 AM
Thanks Brian,
This helped a lot.