From 5eff4b5dfd8e5bc21913f4c60a447ea53d32d923 Mon Sep 17 00:00:00 2001 From: admin Date: Thu, 2 Oct 2025 20:14:24 -0700 Subject: [PATCH] Adds a ServiceNow Flow Designer Action that cleans CSV file attachments by removing a specified number of header lines. The script fetches the target attachment, skips the requested number of lines, and outputs the cleaned CSV content. Optionally, it can write back the cleaned data as a new attachment. Handles missing content and errors gracefully. Inputs(attachmentSysId, linesToSkip,writeBackAsAttachment, parentTable, parentSysId, newFileName) Outputs (cleanedCSV, cleanedAttachmentSysId) --- b812ceb69337a210633378917cba10bc/README.md | 2 +- b812ceb69337a210633378917cba10bc/checksum.txt | 2 +- ...ition_b01a4d6a839cb6107ffb1630ceaad395.xml | 4387 +++++++++++++++++ 3 files changed, 4389 insertions(+), 2 deletions(-) create mode 100644 b812ceb69337a210633378917cba10bc/update/sys_hub_action_type_definition_b01a4d6a839cb6107ffb1630ceaad395.xml diff --git a/b812ceb69337a210633378917cba10bc/README.md b/b812ceb69337a210633378917cba10bc/README.md index 05cd6fa..1aa7e3e 100644 --- a/b812ceb69337a210633378917cba10bc/README.md +++ b/b812ceb69337a210633378917cba10bc/README.md @@ -24,4 +24,4 @@ If you find yourself unable to import your repository due to the presence of fil 2.2 Activate/install all required dependencies 2.3 Re-import the application from source control Currently listed dependencies: - * + * ServiceNow IntegrationHub Enterprise Pack Installer diff --git a/b812ceb69337a210633378917cba10bc/checksum.txt b/b812ceb69337a210633378917cba10bc/checksum.txt index 918923c..92dc76f 100644 --- a/b812ceb69337a210633378917cba10bc/checksum.txt +++ b/b812ceb69337a210633378917cba10bc/checksum.txt @@ -1 +1 @@ -hv7WDZwXJOgmT_fTT4pk_cxZzPBr1GmQzFQDuDbf0vfMRrq0tcM1N9AyMdobTlCJQ1jMrOw7UvCiqNXIQ_xyswjjFxH9L-G8jSN_Cv4Cb2A6bs-7BS30n5EZfCUsa3_4IkHq04BmSigCsFKdne-BnmohY3uJIHtilCI2hSzITCDPbZw_0wSgVr1pi4mcXpdrr0UHINXUxXrN6o7a2DKDSuPQZ2wduIwG6lxSXspAXEDtiVzzWYqajG6D4IsY5SPd_Xi0SUyNGksbn9IRtZCQ0DIraibc5vghlZBneg578Qn_vQJl0E594LaoMHWgdXL2D8Txfq-e40OFdHRKiTgJMdrcP6GjWGPiapT6ZBfFtXlcUQ5mQmljNbY8n4EZbFFye3ZmwiAdN_oa34aAyVJ_YCJpYspxHFzLQTeme2-Tf0-zz_XibpNZZOwh9nQMF6qAgkban8BpMmZ0w0r21ELQHok0J-kphR50v64arrhSvtXiOela73HiLN6gZTTNnKZhOSnAhTyyfz5P07XQaiZYyUgTVwUcseBhkniBRagpD6iLPQj5y2KkABPrTWuxTFEBwhboG52JzYP6rQT55DMd7mCjiXO6f-KDlTCzl_6wTLTQpcUrdsvKPqL6hvZYTm-61D6TtIxreRsmejnp2PqLGJvhgiv5AZBWJq4aXV6cqBI \ No newline at end of file +RatBKik3FOxKB_5oI2lWdYUzRHvggTAcv4oM7_ABaaEndq3qGUI429DMrJfeDHS7_Y26cLAW7QBlzSRIff6Hx1hIaNlMhRuQpAeKvyXRE5YlBg64SbBsukCusnlejGixuusrFM4Rbn03lBR-pnjc5djOz3-vkbRirTTwUDxP-Ue-e_Q6N75RIAPKvVm9VPTcRmjIHf2WxPfmmy660cgp4sLgG-A8cvtEt3vdSrzqqsKOxyX6lz6yZYzwBxolUN2THrKBHbfvgTS5z92hhOD0LAs3YnMeikeWPXYlJs6sMNuHQe6Hsf4YuoosAW9d1xE_d0EiD_gqLSqwLg397UxdkF_3i3ymXvMi1vp97iHToro8PhD1ALWKVsH3-9JLCqDXaQhpzkbPCn1FoMkVhJq7AjdfLjF5O4z5ps0mKYhdVLpfZyJzNh1yjfhVRIr9IIJq4kqr8HJDmDpljZQoTURdialBgMfdXEMJS70R7WGV8fqZuTg3L6NSBSi00DkYmsvtHdAxEed8rtDNzKEqIVOtoS2WV538YnAwkXytykxLin5VkCFzty-EBQtWzEkL19MIvufOI_yQ3S8oQx3LTah6Npouw3R69T6FvWNsQ3xVGyfwD8EMEeBfilgAab4Uf61n8WCUA7aV8_vMn3gNsgOHtbfnOUE-wXsVcf_ibxJbaIY \ No newline at end of file diff --git a/b812ceb69337a210633378917cba10bc/update/sys_hub_action_type_definition_b01a4d6a839cb6107ffb1630ceaad395.xml b/b812ceb69337a210633378917cba10bc/update/sys_hub_action_type_definition_b01a4d6a839cb6107ffb1630ceaad395.xml new file mode 100644 index 0000000..4f1e850 --- /dev/null +++ b/b812ceb69337a210633378917cba10bc/update/sys_hub_action_type_definition_b01a4d6a839cb6107ffb1630ceaad395.xml @@ -0,0 +1,4387 @@ + + + public + + + + true + Adds a ServiceNow Flow Designer Action that cleans CSV file attachments by removing a specified number of header lines. The script fetches the target attachment, skips the requested number of lines, and outputs the cleaned CSV content. Optionally, it + {labelCacheCleanUpExecuted=true} + 28000 + false + + + + Adds a ServiceNow Flow Designer Action that cleans CSV file attachments by removing a specified number of header lines. The script fetches the target attachment, skips the requested number of lines, and outputs the cleaned CSV content. Optionally, it can write back the cleaned data as a new attachment. Handles missing content and errors gracefully. + + false + strip_top_lines_from_csv_file + [{"name":"{{action.attachmentsysid}}","label":"action➛attachmentSysId","type":"action","ref":"","reference_display":"","base_type":"GUID","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.linestoskip}}","label":"action➛linesToSkip","type":"action","ref":"","reference_display":"","base_type":"integer","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.writebackasattachment}}","label":"action➛writeBackAsAttachment","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.parenttable}}","label":"action➛parentTable","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.parentsysid}}","label":"action➛parentSysId","type":"action","ref":"","reference_display":"","base_type":"GUID","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.newfilename}}","label":"action➛newFileName","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{step[eed81560-b6b4-4063-8519-f7ff7d63677e].cleanedcsv}}","label":"step➛Script step➛cleanedCSV","type":"step","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{"uiTypeLabel":"String","element_mapping_provider":"com.glide.flow_design.action.data.FlowDesignVariableMapper","uiType":"string","uiUniqueId":"96a5ab1a-11e6-491d-97a4-68b8af1d0e33"}},{"name":"{{step[eed81560-b6b4-4063-8519-f7ff7d63677e].cleanedattachmentsysid}}","label":"step➛Script step➛cleanedAttachmentSysId","type":"step","ref":"","reference_display":"","base_type":"GUID","parent_table_name":"","column_name":"","choices":null,"attributes":{"uiTypeLabel":"Sys ID (GUID)","element_mapping_provider":"com.glide.flow_design.action.data.FlowDesignVariableMapper","uiType":"GUID","uiUniqueId":"b346f821-2b38-4769-ae3d-1b44df5f2944"}}] + 66fb892e839cb6107ffb1630ceaad33c + + Strip top lines from csv file + + + + false + published + sys_hub_action_type_definition + admin + 2025-10-03 03:05:16 + global + / + b01a4d6a839cb6107ffb1630ceaad395 + 10 + Strip top lines from csv file + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + sys_hub_action_type_definition_b01a4d6a839cb6107ffb1630ceaad395 + admin + 2025-10-03 03:13:37 + false + + + + + + sys_hub_action_type_definition + b01a4d6a839cb6107ffb1630ceaad395 + 2 + sys_variable_value + admin + 2025-10-03 03:06:43 + 756ac5aa839cb6107ffb1630ceaad3a5 + 0 + admin + 2025-10-03 03:06:43 + 0 + 316ac5aa839cb6107ffb1630ceaad39c + + + sys_hub_action_type_definition + b01a4d6a839cb6107ffb1630ceaad395 + 1 + sys_variable_value + admin + 2025-10-03 03:06:43 + bd6ac5aa839cb6107ffb1630ceaad3a5 + 0 + admin + 2025-10-03 03:06:43 + {"version":"1.0","complexObject":{"code":{"$cv":{"$c":"java.lang.String","$v":""}},"message":{"$cv":{"$c":"java.lang.String","$v":""}}},"complexObjectSchema":{"FlowDesigner:FDACTIONSTATUS":{"code":"Integer","code.$field_facets":{"SimpleMapFacet":"{\"uiTypeLabel\":\"Integer\",\"read_only\":\"false\",\"hint\":\"\",\"uiType\":\"integer\",\"default_value\":\"\",\"label\":\"Code\",\"action_error_output\":\"true\",\"mandatory\":\"false\",\"order\":\"1\",\"max_length\":\"40\"}"},"message":"String","message.$field_facets":{"SimpleMapFacet":"{\"uiTypeLabel\":\"String\",\"read_only\":\"false\",\"hint\":\"\",\"uiType\":\"string\",\"default_value\":\"\",\"label\":\"Message\",\"action_error_output\":\"true\",\"mandatory\":\"false\",\"order\":\"2\",\"max_length\":\"4000\"}"}},"FlowDesigner:FDACTIONSTATUS.$type_facets":{"SimpleMapFacet":"{\"default_value\":\"\",\"label\":\"Action Status\",\"action_error_output\":\"true\",\"mandatory\":\"false\",\"uiUniqueId\":\"4adfb7bc-9d67-498d-88d0-8d6c3d584fed\",\"uiTypeLabel\":\"Object\",\"co_type_name\":\"FDACTIONSTATUS\",\"element_mapping_provider\":\"com.glide.flow_design.action.data.FlowDesignVariableMapper\",\"read_only\":\"false\",\"hint\":null,\"uiType\":\"object\",\"order\":\"1\",\"max_length\":\"65000\"}"}},"serializationFormat":"JSON"} + 756ac5aa839cb6107ffb1630ceaad397 + + + + cleanedattachmentsysid + b01a4d6a839cb6107ffb1630ceaad395 + admin + 2025-10-03 03:13:31 + 15fb492e839cb6107ffb1630ceaad385 + 0 + admin + 2025-10-03 03:13:31 + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395
+ {{step[eed81560-b6b4-4063-8519-f7ff7d63677e].cleanedattachmentsysid}} +
+ + cleanedcsv + b01a4d6a839cb6107ffb1630ceaad395 + admin + 2025-10-03 03:13:31 + d5fb492e839cb6107ffb1630ceaad385 + 0 + admin + 2025-10-03 03:13:31 + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395
+ {{step[eed81560-b6b4-4063-8519-f7ff7d63677e].cleanedcsv}} +
+ + __action_status__ + b01a4d6a839cb6107ffb1630ceaad395 + admin + 2025-10-03 03:06:43 + f16ac5aa839cb6107ffb1630ceaad3a5 + 0 + admin + 2025-10-03 03:06:43 + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395
+ +
+ + __dont_treat_as_error__ + b01a4d6a839cb6107ffb1630ceaad395 + admin + 2025-10-03 03:06:43 + 3d6ac5aa839cb6107ffb1630ceaad3a4 + 0 + admin + 2025-10-03 03:06:43 + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395
+ +
+ + + b01a4d6a839cb6107ffb1630ceaad395 + eed81560-b6b4-4063-8519-f7ff7d63677e + 1 + + + + + + + 1 + +
+ 106afb6647032200b4fad7527c9a71e7 + admin + 2025-10-03 03:08:36 + 5dda41ea839cb6107ffb1630ceaad34b + 2 + b812ceb69337a210633378917cba10bc + admin + 2025-10-03 03:12:57 + + + + sys_hub_step_instance + 5dda41ea839cb6107ffb1630ceaad34b + 100 + sys_variable_value + admin + 2025-10-03 03:08:37 + a5da41ea839cb6107ffb1630ceaad36f + 0 + admin + 2025-10-03 03:08:37 + + 65da41ea839cb6107ffb1630ceaad354 + + + sys_hub_step_instance + 5dda41ea839cb6107ffb1630ceaad34b + 600 + sys_variable_value + admin + 2025-10-03 03:08:37 + a9da41ea839cb6107ffb1630ceaad36d + 1 + admin + 2025-10-03 03:12:57 + (function execute(inputs, outputs) { +gs.info("[CSV Cleaner] Starting execution..."); + + var attachment = new GlideSysAttachment(); + + // Default to sys_email if parentTable not provided + var parentTable = inputs.parentTable || "sys_email"; + var parentSysId = inputs.parentSysId || inputs.attachmentSysId; + + // Get attachments for the record + var agr = attachment.getAttachments(parentTable, parentSysId); + + while (agr.next()) { + // Only process the specific attachment + if (agr.getUniqueValue() === inputs.attachmentSysId) { + + + // Get content as a string (safe in scoped apps) + var content = attachment.getContent(agr); + if (!content) { + gs.warn("[CSV Cleaner] Attachment is empty."); + outputs.cleanedcsv = ""; + return; // exit the script immediately + } + + gs.info("[CSV Cleaner] Original content length: " + content.length); + + // Split content into lines + var lines = content.split(/\r?\n/); + gs.info("[CSV Cleaner] Total lines in file: " + lines.length); + + // Remove first X lines + var skip = parseInt(inputs.linesToSkip, 10) || 0; + gs.info("[CSV Cleaner] Skipping first " + skip + " lines..."); + var cleanedCSV = lines.slice(skip).join("\n"); + gs.info("[CSV Cleaner] Cleaned content length: " + cleanedCSV.length); + + // Return cleaned CSV as output + outputs.cleanedcsv = cleanedCSV; + + // Optional: write back as new attachment + if (inputs.writeBackAsAttachment == "true") { + var newFileName = inputs.newFileName || "cleaned.csv"; + gs.info( + "[CSV Cleaner] Writing cleaned CSV as new attachment: " + newFileName + ); + + var gr = new GlideRecord(parentTable); + if (gr.get(parentSysId)) { + var cleanedAttachmentSysId = attachment.write( + gr, + newFileName, + "text/csv", + cleanedCSV + ); + gs.info( + "[CSV Cleaner] New attachment created with sys_id: " + + cleanedAttachmentSysId + ); + outputs.cleanedattachmentsysid = cleanedAttachmentSysId; + } else { + gs.error( + "[CSV Cleaner] Parent record not found: " + + parentTable + + " / " + + parentSysId + ); + } + } else { + gs.info( + "[CSV Cleaner] Write-back disabled. Returning only cleanedCSV output." + ); + } + + // Exit script since the target attachment is processed + gs.info("[CSV Cleaner] Attachment processed. Exiting script."); + return; + } + } + + gs.warn( + "[CSV Cleaner] Target attachment not found: " + inputs.attachmentSysId + ); +})(inputs, outputs); + + 71aa7f6647032200b4fad7527c9a719b + + + sys_hub_step_instance + 5dda41ea839cb6107ffb1630ceaad34b + 400 + sys_variable_value + admin + 2025-10-03 03:08:37 + e5da41ea839cb6107ffb1630ceaad36d + 0 + admin + 2025-10-03 03:08:37 + 35aa573fd7802200bdbaee5b5e610375 + f5e56d79b3101300176b051a16a8dce4 + + + + application + 5dda41ea839cb6107ffb1630ceaad34b + admin + 2025-10-03 03:08:37 + a1da41ea839cb6107ffb1630ceaad36d + 0 + admin + 2025-10-03 03:08:37 + var__m_sys_flow_step_definition_input_106afb6647032200b4fad7527c9a71e7
+ +
+ + attachmentSysId + 5dda41ea839cb6107ffb1630ceaad34b + admin + 2025-10-03 03:08:37 + 29da41ea839cb6107ffb1630ceaad36e + 0 + admin + 2025-10-03 03:08:37 + var__m_sys_hub_step_ext_input_5dda41ea839cb6107ffb1630ceaad34b
+ {{action.attachmentsysid}} +
+ + linesToSkip + 5dda41ea839cb6107ffb1630ceaad34b + admin + 2025-10-03 03:08:37 + e9da41ea839cb6107ffb1630ceaad36e + 0 + admin + 2025-10-03 03:08:37 + var__m_sys_hub_step_ext_input_5dda41ea839cb6107ffb1630ceaad34b
+ {{action.linestoskip}} +
+ + newFileName + 5dda41ea839cb6107ffb1630ceaad34b + admin + 2025-10-03 03:08:37 + adda41ea839cb6107ffb1630ceaad36e + 0 + admin + 2025-10-03 03:08:37 + var__m_sys_hub_step_ext_input_5dda41ea839cb6107ffb1630ceaad34b
+ {{action.newfilename}} +
+ + parentSysId + 5dda41ea839cb6107ffb1630ceaad34b + admin + 2025-10-03 03:08:37 + 65da41ea839cb6107ffb1630ceaad36e + 0 + admin + 2025-10-03 03:08:37 + var__m_sys_hub_step_ext_input_5dda41ea839cb6107ffb1630ceaad34b
+ {{action.parentsysid}} +
+ + parentTable + 5dda41ea839cb6107ffb1630ceaad34b + admin + 2025-10-03 03:08:37 + 61da41ea839cb6107ffb1630ceaad36f + 0 + admin + 2025-10-03 03:08:37 + var__m_sys_hub_step_ext_input_5dda41ea839cb6107ffb1630ceaad34b
+ {{action.parenttable}} +
+ + script + 5dda41ea839cb6107ffb1630ceaad34b + admin + 2025-10-03 03:08:37 + 65da41ea839cb6107ffb1630ceaad36d + 0 + admin + 2025-10-03 03:08:37 + var__m_sys_flow_step_definition_input_106afb6647032200b4fad7527c9a71e7
+ +
+ + writeBackAsAttachment + 5dda41ea839cb6107ffb1630ceaad34b + admin + 2025-10-03 03:08:37 + 25da41ea839cb6107ffb1630ceaad36f + 0 + admin + 2025-10-03 03:08:37 + var__m_sys_hub_step_ext_input_5dda41ea839cb6107ffb1630ceaad34b
+ {{action.writebackasattachment}} +
+ + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID) + false + + + + + + + + + + + + + false + false + + + + parentSysId + false + + + + false + + + GUID + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID) + false + + + + + + + + + + + + + false + false + + + + attachmentSysId + false + + + + false + + + GUID + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=integer,uiTypeLabel=Integer + false + + + + + + + + + + + + + false + false + + + + linesToSkip + false + + + + false + + + integer + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String + false + + + + + + + + + + + + + false + false + + + + newFileName + false + + + + false + + + string + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String + false + + + + + + + + + + + + + false + false + + + + writeBackAsAttachment + false + + + + false + + + string + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String + false + + + + + + + + + + + + + false + false + + + + parentTable + false + + + + false + + + string + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID),uiUniqueId=b346f821-2b38-4769-ae3d-1b44df5f2944 + false + + + + + + + + + + + + + false + false + + + + cleanedattachmentsysid + false + + + + false + + + GUID + + false + 32 + 5dda41ea839cb6107ffb1630ceaad34b + 5dda41ea839cb6107ffb1630ceaad34b + sys_hub_step_instance + var__m_sys_hub_step_ext_output_5dda41ea839cb6107ffb1630ceaad34b + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_output + admin + 2025-10-03 03:08:36 + 21da41ea839cb6107ffb1630ceaad363 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:08:36 + false + false + false + false + false + simple + false + script + + + false + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=96a5ab1a-11e6-491d-97a4-68b8af1d0e33 + false + + + + + + + + + + + + + false + false + + + + cleanedcsv + false + + + + false + + + string + + false + 8000 + 5dda41ea839cb6107ffb1630ceaad34b + 5dda41ea839cb6107ffb1630ceaad34b + sys_hub_step_instance + var__m_sys_hub_step_ext_output_5dda41ea839cb6107ffb1630ceaad34b + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_output + admin + 2025-10-03 03:08:36 + a1da41ea839cb6107ffb1630ceaad35f + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:08:36 + false + false + false + false + false + simple + false + script + + + false + + + + cleanedattachmentsysid + + + + en + var__m_sys_hub_step_ext_output_5dda41ea839cb6107ffb1630ceaad34b + + sys_documentation + admin + 2025-10-03 03:08:36 + 25da41ea839cb6107ffb1630ceaad365 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:08:36 + + + + + cleanedcsv + + + + en + var__m_sys_hub_step_ext_output_5dda41ea839cb6107ffb1630ceaad34b + + sys_documentation + admin + 2025-10-03 03:08:36 + 65da41ea839cb6107ffb1630ceaad362 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:08:36 + + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=db47c57d-9387-40e4-bf6d-4a6ca4834a51 + false + + + + + + + + + + + + + false + false + + + + writebackasattachment + false + + + + false + + + string + + false + 8000 + b01a4d6a839cb6107ffb1630ceaad395 + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_definition + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + 3 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:06:43 + 396ac5aa839cb6107ffb1630ceaad385 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID),uiUniqueId=07c5fab9-ec8f-44cd-a981-6d1ea795a221 + false + + + + + + + + + + + + + false + false + + + + parentsysid + false + + + + false + + + GUID + + false + 32 + b01a4d6a839cb6107ffb1630ceaad395 + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_definition + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + 5 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:06:43 + 3d6ac5aa839cb6107ffb1630ceaad38c + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID),uiUniqueId=cf416fdc-e205-417a-b5df-48605a47aacb + false + + + + + + + + + + + + + false + false + + + + attachmentsysid + false + + + + false + + + GUID + + false + 32 + b01a4d6a839cb6107ffb1630ceaad395 + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_definition + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:06:43 + 716ac5aa839cb6107ffb1630ceaad37d + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=cf2927b6-2ca8-48c8-97c1-01ed83bd686d + false + + + + + + + + + + + + + false + false + + + + parenttable + false + + + + false + + + string + + false + 8000 + b01a4d6a839cb6107ffb1630ceaad395 + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_definition + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + 4 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:06:43 + b16ac5aa839cb6107ffb1630ceaad389 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=a00ef9d7-2609-43ec-8f0b-8d7711caa65f + false + + + + + + + + + + + + + false + false + + + + newfilename + false + + + + false + + + string + + false + 8000 + b01a4d6a839cb6107ffb1630ceaad395 + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_definition + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + 6 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:06:43 + b56ac5aa839cb6107ffb1630ceaad390 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=integer,uiTypeLabel=Integer,uiUniqueId=c7012cec-466f-474b-9260-32af0bc6041e + false + + + + + + + + + + + + + false + false + + + + linestoskip + false + + + + false + + + integer + + false + 40 + b01a4d6a839cb6107ffb1630ceaad395 + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_definition + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:06:43 + bd6ac5aa839cb6107ffb1630ceaad381 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + false + false + false + false + false + simple + false + script + + + false + + + + + true + false + false + action_error_output=true,element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=boolean,uiTypeLabel=True/False,uiUniqueId=dc83ff1e-1ac9-4aa4-a11a-76af83816c4a,visible_in_ui=false + false + + + + + + + + true + + + + + false + false + + + + __dont_treat_as_error__ + + false + + + + false + + + + boolean + + false + 40 + b01a4d6a839cb6107ffb1630ceaad395 + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_definition + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395 + + 4 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-03 03:06:43 + 316ac5aa839cb6107ffb1630ceaad39c + 11 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + false + false + false + false + simple + false + script + + + false + + + + + true + false + false + action_error_output=true,co_type_name=FDACTIONSTATUS,element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=object,uiTypeLabel=Object,uiUniqueId=3baac66e-ebe9-4fad-9ba2-cc2b9948a862 + false + + + + + + + + + + + + + false + false + + + + __action_status__ + + false + + + + false + + + + string + + false + 65000 + b01a4d6a839cb6107ffb1630ceaad395 + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_definition + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395 + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-03 03:06:43 + 756ac5aa839cb6107ffb1630ceaad397 + 1 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:07:06 + false + false + false + false + false + simple + false + script + + + false + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,pwd2droppable=true,uiType=string,uiTypeLabel=String,uiUniqueId=3cc0165d-ec5e-4aa2-a2bb-24a661709299 + false + + + + + + + + + + + + + false + false + + + + cleanedcsv + + false + + + + false + + + + string + + false + 8000 + b01a4d6a839cb6107ffb1630ceaad395 + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_definition + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395 + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-03 03:07:06 + 9b7a49aa839cb6107ffb1630ceaad374 + 1 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:31 + false + false + false + false + false + simple + false + script + + + false + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID),uiUniqueId=0f8667d6-420a-44a6-b5bc-85a3706fc1c1 + false + + + + + + + + + + + + + false + false + + + + cleanedattachmentsysid + + false + + + + false + + + + GUID + + false + 32 + b01a4d6a839cb6107ffb1630ceaad395 + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_definition + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395 + + 3 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-03 03:07:06 + a77a49aa839cb6107ffb1630ceaad394 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:07:06 + false + false + false + false + false + simple + false + script + + + false + + + + + + + b01a4d6a839cb6107ffb1630ceaad395 + admin + 2025-10-03 03:06:43 + f16ac5aa839cb6107ffb1630ceaad3a7 + 0 + admin + 2025-10-03 03:06:43 + + + + parenttable + + + + en + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + sys_documentation + admin + 2025-10-03 03:06:43 + 716ac5aa839cb6107ffb1630ceaad38c + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + + + + + newfilename + + + + en + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + sys_documentation + admin + 2025-10-03 03:06:43 + 756ac5aa839cb6107ffb1630ceaad393 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + + + + + linestoskip + + + + en + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + sys_documentation + admin + 2025-10-03 03:06:43 + 7d6ac5aa839cb6107ffb1630ceaad384 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + + + + + attachmentsysid + + + + en + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + sys_documentation + admin + 2025-10-03 03:06:43 + f16ac5aa839cb6107ffb1630ceaad381 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + + + + + writebackasattachment + + + + en + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + sys_documentation + admin + 2025-10-03 03:06:43 + f56ac5aa839cb6107ffb1630ceaad388 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + + + + + parentsysid + + + + en + var__m_sys_hub_action_input_b01a4d6a839cb6107ffb1630ceaad395 + + sys_documentation + admin + 2025-10-03 03:06:43 + f96ac5aa839cb6107ffb1630ceaad38f + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + + + + + + __dont_treat_as_error__ + + + + en + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395 + + sys_documentation + admin + 2025-10-03 03:06:43 + 356ac5aa839cb6107ffb1630ceaad3a1 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + + + + + cleanedcsv + + + + en + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395 + + sys_documentation + admin + 2025-10-03 03:07:06 + 637a49aa839cb6107ffb1630ceaad391 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:07:06 + + + + + cleanedattachmentsysid + + + + en + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395 + + sys_documentation + admin + 2025-10-03 03:07:06 + 677a49aa839cb6107ffb1630ceaad397 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:07:06 + + + + + __action_status__ + + + + en + var__m_sys_hub_action_output_b01a4d6a839cb6107ffb1630ceaad395 + + sys_documentation + admin + 2025-10-03 03:06:43 + 756ac5aa839cb6107ffb1630ceaad39b + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:06:43 + + + + + + + b01a4d6a839cb6107ffb1630ceaad395 + {"type":"PlanProxy","persistor":{"@class":".ChunkingPlanPersistor","table":"sys_hub_action_plan","id":"cbfb892e839cb6107ffb1630ceaad3ec","name":"plan","plan_signature":null}} + 87fb892e839cb6107ffb1630ceaad3a5 + admin + 2025-10-03 03:13:38 + global + / + cbfb892e839cb6107ffb1630ceaad3ec + 0 + + + admin + 2025-10-03 03:13:38 + + + public + + + + Adds a ServiceNow Flow Designer Action that cleans CSV file attachments by removing a specified number of header lines. The script fetches the target attachment, skips the requested number of lines, and outputs the cleaned CSV content. Optionally, it + {labelCacheCleanUpExecuted=true} + 28000 + false + + + + Adds a ServiceNow Flow Designer Action that cleans CSV file attachments by removing a specified number of header lines. The script fetches the target attachment, skips the requested number of lines, and outputs the cleaned CSV content. Optionally, it can write back the cleaned data as a new attachment. Handles missing content and errors gracefully. + + strip_top_lines_from_csv_file + [{"name":"{{action.attachmentsysid}}","label":"action➛attachmentSysId","type":"action","ref":"","reference_display":"","base_type":"GUID","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.linestoskip}}","label":"action➛linesToSkip","type":"action","ref":"","reference_display":"","base_type":"integer","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.writebackasattachment}}","label":"action➛writeBackAsAttachment","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.parenttable}}","label":"action➛parentTable","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.parentsysid}}","label":"action➛parentSysId","type":"action","ref":"","reference_display":"","base_type":"GUID","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.newfilename}}","label":"action➛newFileName","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{step[eed81560-b6b4-4063-8519-f7ff7d63677e].cleanedcsv}}","label":"step➛Script step➛cleanedCSV","type":"step","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{"uiTypeLabel":"String","element_mapping_provider":"com.glide.flow_design.action.data.FlowDesignVariableMapper","uiType":"string","uiUniqueId":"96a5ab1a-11e6-491d-97a4-68b8af1d0e33"}},{"name":"{{step[eed81560-b6b4-4063-8519-f7ff7d63677e].cleanedattachmentsysid}}","label":"step➛Script step➛cleanedAttachmentSysId","type":"step","ref":"","reference_display":"","base_type":"GUID","parent_table_name":"","column_name":"","choices":null,"attributes":{"uiTypeLabel":"Sys ID (GUID)","element_mapping_provider":"com.glide.flow_design.action.data.FlowDesignVariableMapper","uiType":"GUID","uiUniqueId":"b346f821-2b38-4769-ae3d-1b44df5f2944"}}] + true + Strip top lines from csv file + + + + b01a4d6a839cb6107ffb1630ceaad395 + sys_hub_action_type_snapshot + admin + 2025-10-03 03:13:36 + global + / + 66fb892e839cb6107ffb1630ceaad33c + 0 + + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + + + + + + sys_hub_action_type_snapshot + 66fb892e839cb6107ffb1630ceaad33c + 2 + sys_variable_value + admin + 2025-10-03 03:13:37 + 0bfb892e839cb6107ffb1630ceaad3a3 + 0 + admin + 2025-10-03 03:13:37 + {"version":"1.0","complexObject":{"code":{"$cv":{"$c":"java.lang.String","$v":""}},"message":{"$cv":{"$c":"java.lang.String","$v":""}}},"complexObjectSchema":{"FlowDesigner:FDACTIONSTATUS":{"code":"Integer","code.$field_facets":{"SimpleMapFacet":"{\"uiTypeLabel\":\"Integer\",\"read_only\":\"false\",\"hint\":\"\",\"uiType\":\"integer\",\"default_value\":\"\",\"label\":\"Code\",\"action_error_output\":\"true\",\"mandatory\":\"false\",\"order\":\"1\",\"max_length\":\"40\"}"},"message":"String","message.$field_facets":{"SimpleMapFacet":"{\"uiTypeLabel\":\"String\",\"read_only\":\"false\",\"hint\":\"\",\"uiType\":\"string\",\"default_value\":\"\",\"label\":\"Message\",\"action_error_output\":\"true\",\"mandatory\":\"false\",\"order\":\"2\",\"max_length\":\"4000\"}"}},"FlowDesigner:FDACTIONSTATUS.$type_facets":{"SimpleMapFacet":"{\"default_value\":\"\",\"label\":\"Action Status\",\"action_error_output\":\"true\",\"mandatory\":\"false\",\"uiUniqueId\":\"4adfb7bc-9d67-498d-88d0-8d6c3d584fed\",\"uiTypeLabel\":\"Object\",\"co_type_name\":\"FDACTIONSTATUS\",\"element_mapping_provider\":\"com.glide.flow_design.action.data.FlowDesignVariableMapper\",\"read_only\":\"false\",\"hint\":null,\"uiType\":\"object\",\"order\":\"1\",\"max_length\":\"65000\"}"}},"serializationFormat":"JSON"} + 72fb892e839cb6107ffb1630ceaad392 + + + sys_hub_action_type_snapshot + 66fb892e839cb6107ffb1630ceaad33c + 4 + sys_variable_value + admin + 2025-10-03 03:13:37 + 47fb892e839cb6107ffb1630ceaad3a3 + 0 + admin + 2025-10-03 03:13:37 + 0 + 76fb892e839cb6107ffb1630ceaad399 + + + + cleanedattachmentsysid + 66fb892e839cb6107ffb1630ceaad33c + admin + 2025-10-03 03:13:37 + 8bfb892e839cb6107ffb1630ceaad3a2 + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c
+ {{step[eed81560-b6b4-4063-8519-f7ff7d63677e].cleanedattachmentsysid}} +
+ + cleanedcsv + 66fb892e839cb6107ffb1630ceaad33c + admin + 2025-10-03 03:13:37 + 4ffb892e839cb6107ffb1630ceaad3a2 + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c
+ {{step[eed81560-b6b4-4063-8519-f7ff7d63677e].cleanedcsv}} +
+ + __action_status__ + 66fb892e839cb6107ffb1630ceaad33c + admin + 2025-10-03 03:13:37 + c3fb892e839cb6107ffb1630ceaad3a3 + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c
+ +
+ + __dont_treat_as_error__ + 66fb892e839cb6107ffb1630ceaad33c + admin + 2025-10-03 03:13:37 + 03fb892e839cb6107ffb1630ceaad3a3 + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c
+ +
+ + + 66fb892e839cb6107ffb1630ceaad33c + eed81560-b6b4-4063-8519-f7ff7d63677e + 1 + + + + + + + 1 + +
+ 106afb6647032200b4fad7527c9a71e7 + admin + 2025-10-03 03:13:36 + 3afb892e839cb6107ffb1630ceaad359 + 1 + b812ceb69337a210633378917cba10bc + admin + 2025-10-03 03:13:37 + + + + sys_hub_step_instance + 3afb892e839cb6107ffb1630ceaad359 + 400 + sys_variable_value + admin + 2025-10-03 03:13:37 + 32fb892e839cb6107ffb1630ceaad389 + 0 + admin + 2025-10-03 03:13:37 + 35aa573fd7802200bdbaee5b5e610375 + f5e56d79b3101300176b051a16a8dce4 + + + sys_hub_step_instance + 3afb892e839cb6107ffb1630ceaad359 + 100 + sys_variable_value + admin + 2025-10-03 03:13:37 + 7efb892e839cb6107ffb1630ceaad38a + 0 + admin + 2025-10-03 03:13:37 + + befb892e839cb6107ffb1630ceaad360 + + + sys_hub_step_instance + 3afb892e839cb6107ffb1630ceaad359 + 600 + sys_variable_value + admin + 2025-10-03 03:13:37 + f2fb892e839cb6107ffb1630ceaad389 + 0 + admin + 2025-10-03 03:13:37 + (function execute(inputs, outputs) { +gs.info("[CSV Cleaner] Starting execution..."); + + var attachment = new GlideSysAttachment(); + + // Default to sys_email if parentTable not provided + var parentTable = inputs.parentTable || "sys_email"; + var parentSysId = inputs.parentSysId || inputs.attachmentSysId; + + // Get attachments for the record + var agr = attachment.getAttachments(parentTable, parentSysId); + + while (agr.next()) { + // Only process the specific attachment + if (agr.getUniqueValue() === inputs.attachmentSysId) { + + + // Get content as a string (safe in scoped apps) + var content = attachment.getContent(agr); + if (!content) { + gs.warn("[CSV Cleaner] Attachment is empty."); + outputs.cleanedcsv = ""; + return; // exit the script immediately + } + + gs.info("[CSV Cleaner] Original content length: " + content.length); + + // Split content into lines + var lines = content.split(/\r?\n/); + gs.info("[CSV Cleaner] Total lines in file: " + lines.length); + + // Remove first X lines + var skip = parseInt(inputs.linesToSkip, 10) || 0; + gs.info("[CSV Cleaner] Skipping first " + skip + " lines..."); + var cleanedCSV = lines.slice(skip).join("\n"); + gs.info("[CSV Cleaner] Cleaned content length: " + cleanedCSV.length); + + // Return cleaned CSV as output + outputs.cleanedcsv = cleanedCSV; + + // Optional: write back as new attachment + if (inputs.writeBackAsAttachment == "true") { + var newFileName = inputs.newFileName || "cleaned.csv"; + gs.info( + "[CSV Cleaner] Writing cleaned CSV as new attachment: " + newFileName + ); + + var gr = new GlideRecord(parentTable); + if (gr.get(parentSysId)) { + var cleanedAttachmentSysId = attachment.write( + gr, + newFileName, + "text/csv", + cleanedCSV + ); + gs.info( + "[CSV Cleaner] New attachment created with sys_id: " + + cleanedAttachmentSysId + ); + outputs.cleanedattachmentsysid = cleanedAttachmentSysId; + } else { + gs.error( + "[CSV Cleaner] Parent record not found: " + + parentTable + + " / " + + parentSysId + ); + } + } else { + gs.info( + "[CSV Cleaner] Write-back disabled. Returning only cleanedCSV output." + ); + } + + // Exit script since the target attachment is processed + gs.info("[CSV Cleaner] Attachment processed. Exiting script."); + return; + } + } + + gs.warn( + "[CSV Cleaner] Target attachment not found: " + inputs.attachmentSysId + ); +})(inputs, outputs); + + 71aa7f6647032200b4fad7527c9a719b + + + + application + 3afb892e839cb6107ffb1630ceaad359 + admin + 2025-10-03 03:13:37 + fafb892e839cb6107ffb1630ceaad388 + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_flow_step_definition_input_106afb6647032200b4fad7527c9a71e7
+ +
+ + attachmentSysId + 3afb892e839cb6107ffb1630ceaad359 + admin + 2025-10-03 03:13:37 + fefb892e839cb6107ffb1630ceaad389 + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359
+ {{action.attachmentsysid}} +
+ + linesToSkip + 3afb892e839cb6107ffb1630ceaad359 + admin + 2025-10-03 03:13:37 + 76fb892e839cb6107ffb1630ceaad38a + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359
+ {{action.linestoskip}} +
+ + newFileName + 3afb892e839cb6107ffb1630ceaad359 + admin + 2025-10-03 03:13:37 + b2fb892e839cb6107ffb1630ceaad38a + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359
+ {{action.newfilename}} +
+ + parentSysId + 3afb892e839cb6107ffb1630ceaad359 + admin + 2025-10-03 03:13:37 + 3efb892e839cb6107ffb1630ceaad389 + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359
+ {{action.parentsysid}} +
+ + parentTable + 3afb892e839cb6107ffb1630ceaad359 + admin + 2025-10-03 03:13:37 + 3afb892e839cb6107ffb1630ceaad38a + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359
+ {{action.parenttable}} +
+ + script + 3afb892e839cb6107ffb1630ceaad359 + admin + 2025-10-03 03:13:37 + befb892e839cb6107ffb1630ceaad388 + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_flow_step_definition_input_106afb6647032200b4fad7527c9a71e7
+ +
+ + writeBackAsAttachment + 3afb892e839cb6107ffb1630ceaad359 + admin + 2025-10-03 03:13:37 + fafb892e839cb6107ffb1630ceaad38a + 0 + admin + 2025-10-03 03:13:37 + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359
+ {{action.writebackasattachment}} +
+ + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String + false + + + + + + + + + + + + + false + false + + + + writeBackAsAttachment + false + + + + false + + + string + + true + 8000 + 3afb892e839cb6107ffb1630ceaad359 + 3afb892e839cb6107ffb1630ceaad359 + sys_hub_step_instance + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359 + + 200 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_input + admin + 2025-10-03 03:13:36 + 3efb892e839cb6107ffb1630ceaad363 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + false + false + false + false + simple + false + script + + + false + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID) + false + + + + + + + + + + + + + false + false + + + + attachmentSysId + false + + + + false + + + GUID + + true + 32 + 3afb892e839cb6107ffb1630ceaad359 + 3afb892e839cb6107ffb1630ceaad359 + sys_hub_step_instance + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359 + + 0 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_input + admin + 2025-10-03 03:13:36 + 76fb892e839cb6107ffb1630ceaad35d + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + false + false + false + false + simple + false + script + + + false + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String + false + + + + + + + + + + + + + false + false + + + + newFileName + false + + + + false + + + string + + true + 8000 + 3afb892e839cb6107ffb1630ceaad359 + 3afb892e839cb6107ffb1630ceaad359 + sys_hub_step_instance + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359 + + 500 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_input + admin + 2025-10-03 03:13:37 + 7efb892e839cb6107ffb1630ceaad378 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + false + false + false + false + false + simple + false + script + + + false + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String + false + + + + + + + + + + + + + false + false + + + + parentTable + false + + + + false + + + string + + true + 8000 + 3afb892e839cb6107ffb1630ceaad359 + 3afb892e839cb6107ffb1630ceaad359 + sys_hub_step_instance + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359 + + 300 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_input + admin + 2025-10-03 03:13:37 + bafb892e839cb6107ffb1630ceaad366 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + false + false + false + false + false + simple + false + script + + + false + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=integer,uiTypeLabel=Integer + false + + + + + + + + + + + + + false + false + + + + linesToSkip + false + + + + false + + + integer + + true + 40 + 3afb892e839cb6107ffb1630ceaad359 + 3afb892e839cb6107ffb1630ceaad359 + sys_hub_step_instance + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359 + + 100 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_input + admin + 2025-10-03 03:13:36 + befb892e839cb6107ffb1630ceaad360 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + false + false + false + false + simple + false + script + + + false + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID) + false + + + + + + + + + + + + + false + false + + + + parentSysId + false + + + + false + + + GUID + + true + 32 + 3afb892e839cb6107ffb1630ceaad359 + 3afb892e839cb6107ffb1630ceaad359 + sys_hub_step_instance + var__m_sys_hub_step_ext_input_3afb892e839cb6107ffb1630ceaad359 + + 400 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_input + admin + 2025-10-03 03:13:37 + fefb892e839cb6107ffb1630ceaad375 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID),uiUniqueId=b346f821-2b38-4769-ae3d-1b44df5f2944 + false + + + + + + + + + + + + + false + false + + + + cleanedattachmentsysid + false + + + + false + + + GUID + + false + 32 + 3afb892e839cb6107ffb1630ceaad359 + 3afb892e839cb6107ffb1630ceaad359 + sys_hub_step_instance + var__m_sys_hub_step_ext_output_3afb892e839cb6107ffb1630ceaad359 + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_output + admin + 2025-10-03 03:13:37 + bafb892e839cb6107ffb1630ceaad37f + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + false + false + false + false + false + simple + false + script + + + false + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=96a5ab1a-11e6-491d-97a4-68b8af1d0e33 + false + + + + + + + + + + + + + false + false + + + + cleanedcsv + false + + + + false + + + string + + false + 8000 + 3afb892e839cb6107ffb1630ceaad359 + 3afb892e839cb6107ffb1630ceaad359 + sys_hub_step_instance + var__m_sys_hub_step_ext_output_3afb892e839cb6107ffb1630ceaad359 + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_output + admin + 2025-10-03 03:13:37 + f2fb892e839cb6107ffb1630ceaad37c + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + false + false + false + false + false + simple + false + script + + + false + + + + cleanedattachmentsysid + + + + en + var__m_sys_hub_step_ext_output_3afb892e839cb6107ffb1630ceaad359 + + sys_documentation + admin + 2025-10-03 03:13:37 + befb892e839cb6107ffb1630ceaad381 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + + + + + cleanedcsv + + + + en + var__m_sys_hub_step_ext_output_3afb892e839cb6107ffb1630ceaad359 + + sys_documentation + admin + 2025-10-03 03:13:37 + fefb892e839cb6107ffb1630ceaad37e + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID),uiUniqueId=07c5fab9-ec8f-44cd-a981-6d1ea795a221 + false + + + + + + + + + + + + + false + false + + + + parentsysid + false + + + + false + + + GUID + + false + 32 + 66fb892e839cb6107ffb1630ceaad33c + 66fb892e839cb6107ffb1630ceaad33c + sys_hub_action_type_snapshot + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + 5 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:13:36 + 36fb892e839cb6107ffb1630ceaad34e + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID),uiUniqueId=cf416fdc-e205-417a-b5df-48605a47aacb + false + + + + + + + + + + + + + false + false + + + + attachmentsysid + false + + + + false + + + GUID + + false + 32 + 66fb892e839cb6107ffb1630ceaad33c + 66fb892e839cb6107ffb1630ceaad33c + sys_hub_action_type_snapshot + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:13:36 + 66fb892e839cb6107ffb1630ceaad33f + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=integer,uiTypeLabel=Integer,uiUniqueId=c7012cec-466f-474b-9260-32af0bc6041e + false + + + + + + + + + + + + + false + false + + + + linestoskip + false + + + + false + + + integer + + false + 40 + 66fb892e839cb6107ffb1630ceaad33c + 66fb892e839cb6107ffb1630ceaad33c + sys_hub_action_type_snapshot + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:13:36 + 6afb892e839cb6107ffb1630ceaad343 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=a00ef9d7-2609-43ec-8f0b-8d7711caa65f + false + + + + + + + + + + + + + false + false + + + + newfilename + false + + + + false + + + string + + false + 8000 + 66fb892e839cb6107ffb1630ceaad33c + 66fb892e839cb6107ffb1630ceaad33c + sys_hub_action_type_snapshot + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + 6 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:13:36 + 7efb892e839cb6107ffb1630ceaad351 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=db47c57d-9387-40e4-bf6d-4a6ca4834a51 + false + + + + + + + + + + + + + false + false + + + + writebackasattachment + false + + + + false + + + string + + false + 8000 + 66fb892e839cb6107ffb1630ceaad33c + 66fb892e839cb6107ffb1630ceaad33c + sys_hub_action_type_snapshot + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + 3 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:13:36 + a2fb892e839cb6107ffb1630ceaad347 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=cf2927b6-2ca8-48c8-97c1-01ed83bd686d + false + + + + + + + + + + + + + false + false + + + + parenttable + false + + + + false + + + string + + false + 8000 + 66fb892e839cb6107ffb1630ceaad33c + 66fb892e839cb6107ffb1630ceaad33c + sys_hub_action_type_snapshot + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + 4 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-03 03:13:36 + fafb892e839cb6107ffb1630ceaad34a + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + false + false + false + false + false + simple + false + script + + + false + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=GUID,uiTypeLabel=Sys ID (GUID),uiUniqueId=0f8667d6-420a-44a6-b5bc-85a3706fc1c1 + false + + + + + + + + + + + + + false + false + + + + cleanedattachmentsysid + + false + + + + false + + + + GUID + + false + 32 + 66fb892e839cb6107ffb1630ceaad33c + 66fb892e839cb6107ffb1630ceaad33c + sys_hub_action_type_snapshot + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c + + 3 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-03 03:13:37 + 3efb892e839cb6107ffb1630ceaad395 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + false + false + false + false + false + simple + false + script + + + false + + + + + true + false + false + action_error_output=true,co_type_name=FDACTIONSTATUS,element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=object,uiTypeLabel=Object,uiUniqueId=3baac66e-ebe9-4fad-9ba2-cc2b9948a862 + false + + + + + + + + + + + + + false + false + + + + __action_status__ + + false + + + + false + + + + string + + false + 65000 + 66fb892e839cb6107ffb1630ceaad33c + 66fb892e839cb6107ffb1630ceaad33c + sys_hub_action_type_snapshot + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-03 03:13:37 + 72fb892e839cb6107ffb1630ceaad392 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + false + false + false + false + false + simple + false + script + + + false + + + + + true + false + false + action_error_output=true,element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=boolean,uiTypeLabel=True/False,uiUniqueId=dc83ff1e-1ac9-4aa4-a11a-76af83816c4a,visible_in_ui=false + false + + + + + + + + true + + + + + false + false + + + + __dont_treat_as_error__ + + false + + + + false + + + + boolean + + false + 40 + 66fb892e839cb6107ffb1630ceaad33c + 66fb892e839cb6107ffb1630ceaad33c + sys_hub_action_type_snapshot + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c + + 4 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-03 03:13:37 + 76fb892e839cb6107ffb1630ceaad399 + 1 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + false + false + false + false + false + simple + false + script + + + false + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,pwd2droppable=true,uiType=string,uiTypeLabel=String,uiUniqueId=3cc0165d-ec5e-4aa2-a2bb-24a661709299 + false + + + + + + + + + + + + + false + false + + + + cleanedcsv + + false + + + + false + + + + string + + false + 8000 + 66fb892e839cb6107ffb1630ceaad33c + 66fb892e839cb6107ffb1630ceaad33c + sys_hub_action_type_snapshot + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-03 03:13:37 + fefb892e839cb6107ffb1630ceaad38d + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + false + false + false + false + false + simple + false + script + + + false + + + + + + + 66fb892e839cb6107ffb1630ceaad33c + admin + 2025-10-03 03:13:37 + c3fb892e839cb6107ffb1630ceaad3a5 + 0 + admin + 2025-10-03 03:13:37 + + + + writebackasattachment + + + + en + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + sys_documentation + admin + 2025-10-03 03:13:36 + 32fb892e839cb6107ffb1630ceaad34a + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + + + + + parenttable + + + + en + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + sys_documentation + admin + 2025-10-03 03:13:36 + 7afb892e839cb6107ffb1630ceaad34d + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + + + + + attachmentsysid + + + + en + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + sys_documentation + admin + 2025-10-03 03:13:36 + aefb892e839cb6107ffb1630ceaad342 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + + + + + parentsysid + + + + en + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + sys_documentation + admin + 2025-10-03 03:13:36 + b2fb892e839cb6107ffb1630ceaad351 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + + + + + linestoskip + + + + en + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + sys_documentation + admin + 2025-10-03 03:13:36 + e6fb892e839cb6107ffb1630ceaad346 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + + + + + newfilename + + + + en + var__m_sys_hub_action_input_66fb892e839cb6107ffb1630ceaad33c + + sys_documentation + admin + 2025-10-03 03:13:36 + fafb892e839cb6107ffb1630ceaad354 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:36 + + + + + + __action_status__ + + + + en + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c + + sys_documentation + admin + 2025-10-03 03:13:37 + 72fb892e839cb6107ffb1630ceaad395 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + + + + + cleanedcsv + + + + en + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c + + sys_documentation + admin + 2025-10-03 03:13:37 + b6fb892e839cb6107ffb1630ceaad391 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + + + + + cleanedattachmentsysid + + + + en + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c + + sys_documentation + admin + 2025-10-03 03:13:37 + bafb892e839cb6107ffb1630ceaad398 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + + + + + __dont_treat_as_error__ + + + + en + var__m_sys_hub_action_output_66fb892e839cb6107ffb1630ceaad33c + + sys_documentation + admin + 2025-10-03 03:13:37 + fefb892e839cb6107ffb1630ceaad39d + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-03 03:13:37 + + + + + + b01a4d6a839cb6107ffb1630ceaad395 + 66fb892e839cb6107ffb1630ceaad33c + glide-zurich-07-01-2025__patch0-07-15-2025_07-23-2025_1759.zip + +