Restrict/Control the attachment deletionSummary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } How to restrict/control the attachment deletion from a record Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Any release Instructions<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } This can be achieved by applying either Business Rule or ACL on "sys_attachment" table to prevent the removal of the attachment based on the condition(s) customers define. Below is a sample example using Business Rule which prevents the deletion of attachment when Incident record belongs to a certain 'group':=============================================================================================- run on Table = Attachment [sys_attachment] - Advanced = checked (true) - When = before - Delete (checkbox) = checked (true) - Filter conditions = table name | is | (example = incident) - Sample script: (function executeRule(current, previous /*null when async*/) { var tableName = new GlideRecord(current.table_name); //incident tableName.addQuery('sys_id', current.table_sys_id); //incident record sys_id tableName.query(); if ( tableName.next() ) { if ( tableName.assignment_group == 'SYS_ID_OF_THE_GROUP' ) { current.setAbortAction(true); // if condition matches, abort deletion } }})(current, previous); Below is an alternate method using 'delete' operation ACL which controls the deletion when Incident record belongs to a certain 'group': ==========================================================================================- Type = record - Operation = delete - Name = Attachment [sys_attachment] - Advanced = checked (true) - Condition = table name | is | (example = incident) - Sample script: answer = getAnswer();function getAnswer() { var tableName = new GlideRecord(current.table_name); tableName.addQuery('sys_id', current.table_sys_id); tableName.query(); if (tableName.next()) { if ( tableName.assignment_group == 'SYS_ID_OF_THE_GROUP' ) { return false; // condition matches, don't allow deletion } else { return true; //condition doesn't match, allow deletion } }} Please note, if you apply the above ACL, you may need to add the below additional condition in the OOB ACL with sys-id = "0c66472a0a0a0b82017c1f3df66a3fe7" >> - include additional Condition = table name | is not | <the_table_name_used_in_the_above_ACL> - direct url: https://instance_name.service-now.com/nav_to.do?uri=sys_security_acl.do?sys_id=0c66472a0a0a0b82017c1f3df66a3fe7 Related Links<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } The above options are sample guidance only. Please review them and thoroughly test in your sub-prod instance(s) before you apply in your Production based on your requirements. Furthermore, customisations made to the out-of-the-box (OOB) product are not covered by Technical Support, so customers will need to ensure compatibility with future ServiceNow releases and patches.Sample reference links >> - "Check if current record has attachments": https://www.servicenow.com/docs/r/application-development?topicPivot=cadev-client-script-best-practices- "Attachment scripts": https://www.servicenow.com/docs/r/platform-administration/ai-platform-administration/r_UsefulAttachmentScripts.html