Is there an out-of-box way on how to check if an attachment has been added or not for a catalog item/order guide in Service Portal?Issue When a user tries to submit a catalog item or order guide in Service Portal there is no verification mechanism to determine if an attachment has been added to it or not.SymptomsIt has been observed that catalog items are being submitted without proper verification of whether an attachment is being added or not. Release All releasesCauseUnfortunately, there is currently no out-of-box supported method to check if an attachment has been added or not for a catalog item/order guide in Service Portal. ResolutionNo resolution at this time but one may consider writing an onSubmit client script to go into the sys_attachment table to check if an attachment is present or not for a particular catalog item / order guide. Some code snippet relating to it: Create a Client Script (onSubmit) function onSubmit() { var sys_id = g_form.getUniqueValue(); // Get the current record's sys_id var ga = new GlideAjax('CheckAttachment'); ga.addParam('sysparm_name', 'hasAttachment'); ga.addParam('sysparm_table', g_form.getTableName()); // Gets the form's table name dynamically ga.addParam('sysparm_sys_id', sys_id); ga.getXMLAnswer(function(response) { if (response === 'false') { alert("Please attach something before submitting this request."); return false; } }); return true; // Allow submission if attachment exists} Create a Script Include (Server-Side) var CheckAttachment = Class.create(); CheckAttachment.prototype = Object.extendsObject(AbstractAjaxProcessor, { hasAttachment: function() { var tableName = this.getParameter('sysparm_table'); var sysId = this.getParameter('sysparm_sys_id'); var gr = new GlideRecord('sys_attachment'); gr.addQuery('table_name', tableName); gr.addQuery('table_sys_id', sysId); gr.query(); return gr.hasNext().toString(); // Returns 'true' or 'false' } }); (Please note the above script is NOT the solution but just a starting point on how to achieve the desired behavior)Related LinksThe following community post has some hints on how to achieve the behavior through using an UI Script and a client script: Check for Attachments on Service Portal