Skipping Inbound Action a suitable GlideRecord not found

Katie A
Mega Guru

I have a custom table called Loaner Request which is extended from Task.

I created a basic notification on Insert on the Loaner Request table. We want the customer to be able to reply to that notification, which will update the Additional Comments field exactly the same as when they reply to an incident or other task. The notification does have the record number in the subject line AND the watermark in the email body.

I have a very simple Inbound Email Action called "Update Loaner Request".   current.comments = email.body_text;

However this is not working, the inbound action is skipped and the linked record is unable to be found.

These errors are appearing in the System Mailbox log.

Skipping 'Update Loaner Request', a suitable GlideRecord not found

Unable to locate loaner_request dd1b91214f79020040c601b28110c720 for inbound email processing

Anyone have any suggestions on how to fix?

1 ACCEPTED SOLUTION

Generally it's about the user which gets impersonated during e-mail processing (it's not system or superuser) is missing access to subject record. Whatever reason it is, ACL or before-query Business Rule.

View solution in original post

27 REPLIES 27

Yes, you can reference the global variable from within your custom business rule. However, if the global variable is only set in an inbound email action and your business rule only runs on interactive sessions - gs.isInteractive() - then the business rule wouldn't actually apply to inbound email actions since they are not interactive. You still need some way to keep users from reading your HR cases via web services and other non-interactive interfaces. Your only option is to add ACLs to allow access if the global variable is set. Otherwise anyone can see your cases by making a non-interactive query.

Katie A
Mega Guru

I have been running into another similar error with inbound email processing for the "Update Incident" action.



The inbound email rule is executed normally, however it is unable to locate the existing incident record linked to the email reply.



I have narrowed down the issue and I am pretty sure it is a problem with the ACLs for the associated user account. When a user sends an email reply to update an existing incident, the record is not found because the user's account was disabled and their user record is no longer 'active'.



I am looking into the ACLs on the Task table to check if there is a rule preventing the record from being found when the user record is no longer an active account in the sys_user table.



Inbound Email Routing error Unable to locate incident 6903aa9f4cd10f1ac5bb909a2b10c724 for inbound email processing


Katie A
Mega Guru

I have seen this problem on and off for a while and I was finally able to come up with a standard solution that seems to work in most cases, at least for the specific error messages "Skipping {action_name} a suitable Glide Record not found" and "Unable to locate {table_name} {sys_id} for inbound email processing".

Long story short, remember that the email processor *impersonates* the user account that is sending the email.

So if the user does not have access to that record it will not be able to update.

Impersonate the user in question and try to open the record in question. Most likely a message will appear "Record not found" and if that is the case you can follow the normal troubleshooting steps to debug business rules, debug security. Investigate by looking at ACLs and on-query business rules.