From 264ff64aab8c97975d5cc555fabcf33005023a26 Mon Sep 17 00:00:00 2001 From: admin Date: Sat, 4 Oct 2025 05:18:30 -0700 Subject: [PATCH] Two-step Flow Designer Action to parse JSON and send it via email in text or HTML. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use Case: Automatically alert support teams and management of high-priority incidents, including all relevant fields, in a well-formatted email. Step 1 – Script: Recursively parses JSON (jsonString) into text or HTML (tables/lists). Supports nested objects and arrays. Outputs emailBody and status. Step 2 – Email: Sends the formatted email using emailTo and emailSubject. Script step is modular and reusable. Notable Features: outputFormat choice input added. Handles empty/invalid JSON gracefully with descriptive error messages in email body. Testing: Verified both text and HTML outputs. Confirmed emails to multiple recipients. Errors in JSON parsing appear in the email body instead of failing silently. --- b812ceb69337a210633378917cba10bc/checksum.txt | 2 +- ...ition_2f00984783d07a107ffb1630ceaad302.xml | 3355 +++++++++++++++++ 2 files changed, 3356 insertions(+), 1 deletion(-) create mode 100644 b812ceb69337a210633378917cba10bc/update/sys_hub_action_type_definition_2f00984783d07a107ffb1630ceaad302.xml diff --git a/b812ceb69337a210633378917cba10bc/checksum.txt b/b812ceb69337a210633378917cba10bc/checksum.txt index d9c1290..e5b1c88 100644 --- a/b812ceb69337a210633378917cba10bc/checksum.txt +++ b/b812ceb69337a210633378917cba10bc/checksum.txt @@ -1 +1 @@ -qbgF7YAdFpt-bNERuDRyLh47pH-7PrwiEYoPjv0mDB3DskBpxtgCGyLwN3jpvF8di4A-oTe3tUR-kvY-B95lSJn62ntM1jilIXATNmE7nuKP1Qwdom4TF9jIuzusuP4J_zsIer9nSjKSkrpo-cxlGR8JEJCSTaXCCy9NFPZRprwX4N9XeGBgMS-MyR9L3H2Rub4IX09jA3A3AK9UAnTz0QR2spddvXs-5xW6OgGrTOp2PZ4sUvQJzhqt2G9ydL0ZVy-5KKhrj5VvtAjqR8MxI3yZC9jQMIIPWNwe07K2CjT8ycEyG-7qZsyxBSLmE-jW3nnTZ-TL77zEezJlBz66uP6ATWnNbisQ3H95EecCq1iNohsiCkxKIfiHe8fzH3Rlqp12IxqvbKCyP1TwWrAY8IOWSUIbWZI37AW0bIPiwJWN_azvDwLroF5n_NC2zxfE0dIJLO8L8KMVDN2AMOO8vtqpvVCjT6CgRNss38qeymTQ2DS2j0s3g9YRWNx8PpeP-qII49mauWsffZISCkLHKPAkLW7pht2g1Y1aqRtV0bubyegyKWiK1UVu5MuI_XVKbkIvxegZyKqVOQyTnj7dILCoAA0xIJ04qbSb-8MC0hIDRoTtl_j5Fbbk3dwy4xuxJ515GIWcWabISCj5wmUBY3b5bFTLEToleoTvM436vt4 \ No newline at end of file +kNaVjbydass-1oUMZSQ64swLm2iA_nqY4sr9rmQWcnTkaL3Mcw1_2x7qdeGo_AFgdCTD9eFbiDJRQNKdBDmqgJs0ZgeN0J32v-r7zLXkRaIOrdj2OBnN-nDOa3o9FWH3SyPFlNj4HF7JVJ5D2HHIbYmYbmcxU1Cgz-LtQ4d1rlCuYqL9mXKDcxQ2vP50swJK-668L5yviuaMas6lxthzExE-B8zDqGg2mlzM4U_TX2J6A0MByNK7vnZ1KyiOhuB9q990C2N7l0Y8IepVjsnT1kE7yogtWWA3Q3fn6lfTL_oFsIXbK34G1aJwOmjtEFBvb93VQrnWAOzqKbJ7sQ_MeohX_lyL1XmOobfjoSjsYnJua5Z50Ng0VIkTaVjIfLMQsuzzhdQFO7Y7kvLGOlVNUOGk5UOouwFOtbO7AIDmQEoYg_jVk4utRCYefs2AvmcfVVm2HNyXLtSYuTpI--7_uBBMqpM943-RbxscRXawJwsvg7HZbZLL5hMDToOQDfs6k2b9mwJnlRNFMszjaqXVTkqd3SHvy1T2pkYQ4EWw9OdPLer9GY_hxWGM-ql1CCuQbI1SHQqjkprpezyLLzYOssHBvPi0G99zwRLq3x4u71KYubbzWiCRXmEAM0yepBBxTk98vlI1SLO3Fymj4ViJJ5DyyjxsjuhAB3p_sW3rQZI \ No newline at end of file diff --git a/b812ceb69337a210633378917cba10bc/update/sys_hub_action_type_definition_2f00984783d07a107ffb1630ceaad302.xml b/b812ceb69337a210633378917cba10bc/update/sys_hub_action_type_definition_2f00984783d07a107ffb1630ceaad302.xml new file mode 100644 index 0000000..7be154a --- /dev/null +++ b/b812ceb69337a210633378917cba10bc/update/sys_hub_action_type_definition_2f00984783d07a107ffb1630ceaad302.xml @@ -0,0 +1,3355 @@ + + + public + + + + true + + {labelCacheCleanUpExecuted=true} + 28000 + false + + + + Two-step Flow Designer Action to parse JSON and send it via email in text or HTML. + + + false + parse_json_and_send_email + [{"name":"{{action.jsonstring}}","label":"action➛jsonString","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.emailto}}","label":"action➛emailTo","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.emailsubject}}","label":"action➛emailSubject","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.otputformat}}","label":"action➛otputFormat","type":"action","ref":"","reference_display":"","base_type":"choice","parent_table_name":"","column_name":"","choices":[{"label":"text","value":"text","order":0.0},{"label":"html","value":"html","order":1.0}],"attributes":{}},{"name":"{{step[83c5ea8f-3cc4-4d30-be01-ee7aeee23b09].emailbody}}","label":"step➛Script step : Build Email Message➛emailBody","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":"82af7040-b899-490a-8627-2c36d388ea91"}}] + 970294cf83d07a107ffb1630ceaad354 + + Parse JSON and send email + + + false + published + sys_hub_action_type_definition + admin + 2025-10-04 12:08:46 + global + / + 2f00984783d07a107ffb1630ceaad302 + 8 + Parse JSON and send email + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + sys_hub_action_type_definition_2f00984783d07a107ffb1630ceaad302 + admin + 2025-10-04 12:17:29 + false + + + + + + sys_hub_action_type_definition + 2f00984783d07a107ffb1630ceaad302 + 2 + sys_variable_value + admin + 2025-10-04 12:10:37 + be70dc0f83d07a107ffb1630ceaad348 + 0 + admin + 2025-10-04 12:10:37 + 0 + 7a70dc0f83d07a107ffb1630ceaad33f + + + sys_hub_action_type_definition + 2f00984783d07a107ffb1630ceaad302 + 1 + sys_variable_value + admin + 2025-10-04 12:10:37 + f670dc0f83d07a107ffb1630ceaad349 + 0 + admin + 2025-10-04 12:10: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"} + be70dc0f83d07a107ffb1630ceaad33a + + + + + 2f00984783d07a107ffb1630ceaad302 + 37e097af-2cba-49e6-9168-989a91d2d6ca + 1 + + + + + + + 2 + +
+ 4c5f36a37f0b32005f58108c3ffa9126 + admin + 2025-10-04 12:13:31 + 95215c4f83d07a107ffb1630ceaad3f2 + 1 + b812ceb69337a210633378917cba10bc + admin + 2025-10-04 12:13:31 + + + + sys_hub_step_instance + 95215c4f83d07a107ffb1630ceaad3f2 + 500 + sys_variable_value + admin + 2025-10-04 12:13:31 + 95215c4f83d07a107ffb1630ceaad3fd + 0 + admin + 2025-10-04 12:13:31 + + 8ef44f277f0b32005f58108c3ffa91f7 + + + + body + 95215c4f83d07a107ffb1630ceaad3f2 + admin + 2025-10-04 12:13:31 + 15215c4f83d07a107ffb1630ceaad3fd + 0 + admin + 2025-10-04 12:13:31 + var__m_sys_flow_step_definition_input_4c5f36a37f0b32005f58108c3ffa9126
+ <p data-tinymcerootblock=""><span class="data_parent_pill" style="display: inline;" contenteditable="false" data-pillvalue="{{fd_transform:c781ce72-d167-4aab-a395-51c011aade1d}}"><span class="data_pill accepts_transform_functions" tabindex="0" contenteditable="false" data-pillvalue="{{fd_transform:c781ce72-d167-4aab-a395-51c011aade1d}}" data-testid="DataPillId"><span class="data-pill-content-container"><span class="pills"><span class="pill-text" data-tooltip-id="ah_tooltipTop" data-tooltip-content="step &gt; Script step : Build Email Message &gt; emailBody"><span class="pill-start">step</span><span class="pill-arrow"><span class="data-pill-label-caret"><span class="data-pill-label-arrow">➛</span></span>...<span class="data-pill-label-caret"><span class="data-pill-label-arrow">➛</span></span></span><span class="pill-end">emailBody</span></span></span><button id="transform_function_facade_c781ce72-d167-4aab-a395-51c011aade1d" class="transform_function_facade no_transform_applied" aria-label="Open transform function picker for step➛Script step : Build Email Message➛emailBody"><span class="inline-script-icon"><span style="display: none;">​</span></span></button></span></span></span></p> +
+ + subject + 95215c4f83d07a107ffb1630ceaad3f2 + admin + 2025-10-04 12:13:31 + 9d215c4f83d07a107ffb1630ceaad3fc + 0 + admin + 2025-10-04 12:13:31 + var__m_sys_flow_step_definition_input_4c5f36a37f0b32005f58108c3ffa9126
+ {{action.emailsubject}} +
+ + to + 95215c4f83d07a107ffb1630ceaad3f2 + admin + 2025-10-04 12:13:31 + 51215c4f83d07a107ffb1630ceaad3fd + 0 + admin + 2025-10-04 12:13:31 + var__m_sys_flow_step_definition_input_4c5f36a37f0b32005f58108c3ffa9126
+ {{action.emailto}} +
+ + + + + + false + subject + 95215c4f83d07a107ffb1630ceaad3f2 + sys_hub_step_instance + + admin + 2025-10-04 12:13:31 + 99215c4f83d07a107ffb1630ceaad3fb + 0 + admin + 2025-10-04 12:13:31 + + + 2f00984783d07a107ffb1630ceaad302 + 83c5ea8f-3cc4-4d30-be01-ee7aeee23b09 + 1 + + + + + + + 1 + +
+ 106afb6647032200b4fad7527c9a71e7 + admin + 2025-10-04 12:12:45 + caf0584f83d07a107ffb1630ceaad3c2 + 1 + b812ceb69337a210633378917cba10bc + admin + 2025-10-04 12:12:45 + + + + sys_hub_step_instance + caf0584f83d07a107ffb1630ceaad3c2 + 600 + sys_variable_value + admin + 2025-10-04 12:12:45 + 0ef0584f83d07a107ffb1630ceaad3e1 + 0 + admin + 2025-10-04 12:12:45 + /** + * Hacktoberfest Prototype Notice + * + * This code is an initial concept submitted for Hacktoberfest. + * + * It is intended as a starting point and needs significant refinement, code review, and testing before it can be considered ready for production or any real-world ServiceNow implementation. + * + * The main concern is: + * - Optimizing JSON parsing, especially for deep/nested structures. + * + * Other important areas for improvement include: + * - Comprehensive error handling and edge case support. + * - Security reviews, including input validation(JSON Validation) and output sanitization. + * - Integration with wider ServiceNow Flow Designer best practices. + * + * + */ + +(function execute(inputs, outputs) { +/** +   * Custom Action Inputs +   * +   * This action accepts the following inputs: +   * +   * @param jsonString    (Type: String, Mandatory: Yes) +   *                       Example: { "user": "Anu", "role": "Admin" } +   *                       The JSON data to parse. +   * +   * @param emailTo       (Type: String, Mandatory: Yes) +   *                       Example: [anu@example.com](mailto:anu@example.com),[manager@example.com](mailto:manager@example.com) +   *                       Comma-separated list of recipients. +   * +   * @param emailSubject  (Type: String, Mandatory: Yes) +   *                       Example: New User Created in ServiceNow +   *                       Custom subject for the email. +   * +   * @param outputFormat  (Type: String, Mandatory: No, Default = text) +   *                       Example: html or text +   *                       Controls formatting of the email body. +   */ +function formatJsonText(obj, indent) { + var emailText = ""; + var spacing = " ".repeat(indent); + + if (Array.isArray(obj)) { + obj.forEach(function(item, index) { + emailText += spacing + "- Item " + (index + 1) + ":\n"; + emailText += formatJsonText(item, indent + 1); + }); + } else if (typeof obj === "object" && obj !== null) { + for (var key in obj) { + if (typeof obj[key] === "object") { + emailText += spacing + key + ":\n"; + emailText += formatJsonText(obj[key], indent + 1); + } else { + emailText += spacing + key + ": " + obj[key] + "\n"; + } + } + } else { + emailText += spacing + obj + "\n"; + } + return emailText; +} + +function formatJsonHtml(obj) { + var html = ""; + if (Array.isArray(obj)) { + html += "<ul>"; + obj.forEach(function(item) { + html += "<li>" + formatJsonHtml(item) + "</li>"; + }); + html += "</ul>"; + } else if (typeof obj === "object" && obj !== null) { + html += "<table border='1' cellspacing='0' cellpadding='4' style='border-collapse:collapse;'>"; + for (var key in obj) { + html += "<tr><td><b>" + key + "</b></td><td>" + formatJsonHtml(obj[key]) + "</td></tr>"; + } + html += "</table>"; + } else { + html += obj; + } + return html; +} + +try { + var parsed = JSON.parse(inputs.jsonString); + var formatted = ""; + var text = ""; + if (inputs.outputFormat === "html") { + text = formatJsonHtml(parsed); + } else { + text = formatJsonText(parsed, 0); + } + formatted = "Hello,\n\nHere is the parsed JSON data:\n\n" + + text + + "\nSent from,\nServiceNow Flow Action"; + outputs.emailbody = formatted; + outputs.status = "Success"; + +} catch (e) { + outputs.emailbody = "Error parsing JSON: " + e.message; + outputs.status = "Failed"; +} + +})(inputs, outputs); + 71aa7f6647032200b4fad7527c9a719b + + + sys_hub_step_instance + caf0584f83d07a107ffb1630ceaad3c2 + 400 + sys_variable_value + admin + 2025-10-04 12:12:45 + 4af0584f83d07a107ffb1630ceaad3e1 + 0 + admin + 2025-10-04 12:12:45 + 35aa573fd7802200bdbaee5b5e610375 + f5e56d79b3101300176b051a16a8dce4 + + + + application + caf0584f83d07a107ffb1630ceaad3c2 + admin + 2025-10-04 12:12:45 + 06f0584f83d07a107ffb1630ceaad3e1 + 0 + admin + 2025-10-04 12:12:45 + var__m_sys_flow_step_definition_input_106afb6647032200b4fad7527c9a71e7
+ +
+ + emailSubject + caf0584f83d07a107ffb1630ceaad3c2 + admin + 2025-10-04 12:12:45 + 4ef0584f83d07a107ffb1630ceaad3e2 + 0 + admin + 2025-10-04 12:12:45 + var__m_sys_hub_step_ext_input_caf0584f83d07a107ffb1630ceaad3c2
+ {{action.emailsubject}} +
+ + emailTo + caf0584f83d07a107ffb1630ceaad3c2 + admin + 2025-10-04 12:12:45 + 8af0584f83d07a107ffb1630ceaad3e2 + 0 + admin + 2025-10-04 12:12:45 + var__m_sys_hub_step_ext_input_caf0584f83d07a107ffb1630ceaad3c2
+ {{action.emailto}} +
+ + jsonString + caf0584f83d07a107ffb1630ceaad3c2 + admin + 2025-10-04 12:12:45 + c6f0584f83d07a107ffb1630ceaad3e2 + 0 + admin + 2025-10-04 12:12:45 + var__m_sys_hub_step_ext_input_caf0584f83d07a107ffb1630ceaad3c2
+ {{action.jsonstring}} +
+ + outputFormat + caf0584f83d07a107ffb1630ceaad3c2 + admin + 2025-10-04 12:12:45 + 02f0584f83d07a107ffb1630ceaad3e3 + 0 + admin + 2025-10-04 12:12:45 + var__m_sys_hub_step_ext_input_caf0584f83d07a107ffb1630ceaad3c2
+ {{action.otputformat}} +
+ + script + caf0584f83d07a107ffb1630ceaad3c2 + admin + 2025-10-04 12:12:45 + c6f0584f83d07a107ffb1630ceaad3e1 + 0 + admin + 2025-10-04 12:12:45 + var__m_sys_flow_step_definition_input_106afb6647032200b4fad7527c9a71e7
+ +
+ + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String + false + + + + + + + + + + + + + false + false + + + + emailSubject + false + + + + false + + + string + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=choice,uiTypeLabel=Choice + false + + 1 + + + + + + + + + + + false + false + + + + outputFormat + false + + + + false + + + choice + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String + false + + + + + + + + + + + + + false + false + + + + jsonString + false + + + + false + + + string + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String + false + + + + + + + + + + + + + false + false + + + + emailTo + false + + + + false + + + string + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=aa4306ab-2375-42a5-99ff-91cba3a48daf + false + + + + + + + + + + + + + false + false + + + + status + false + + + + false + + + string + + false + 8000 + caf0584f83d07a107ffb1630ceaad3c2 + caf0584f83d07a107ffb1630ceaad3c2 + sys_hub_step_instance + var__m_sys_hub_step_ext_output_caf0584f83d07a107ffb1630ceaad3c2 + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_output + admin + 2025-10-04 12:12:45 + 0af0584f83d07a107ffb1630ceaad3d7 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:12:45 + 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=82af7040-b899-490a-8627-2c36d388ea91 + false + + + + + + + + + + + + + false + false + + + + emailbody + false + + + + false + + + string + + false + 8000 + caf0584f83d07a107ffb1630ceaad3c2 + caf0584f83d07a107ffb1630ceaad3c2 + sys_hub_step_instance + var__m_sys_hub_step_ext_output_caf0584f83d07a107ffb1630ceaad3c2 + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_output + admin + 2025-10-04 12:12:45 + 8af0584f83d07a107ffb1630ceaad3d3 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:12:45 + false + false + false + false + false + simple + false + script + + + false + + + + status + + + + en + var__m_sys_hub_step_ext_output_caf0584f83d07a107ffb1630ceaad3c2 + + sys_documentation + admin + 2025-10-04 12:12:45 + 0ef0584f83d07a107ffb1630ceaad3d9 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:12:45 + + + + + emailbody + + + + en + var__m_sys_hub_step_ext_output_caf0584f83d07a107ffb1630ceaad3c2 + + sys_documentation + admin + 2025-10-04 12:12:45 + 4ef0584f83d07a107ffb1630ceaad3d6 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:12:45 + + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=636e9d11-b601-49dc-bdae-7c546aff7627 + false + + + + + + + + + + + + + false + false + + + + emailsubject + false + + + + false + + + string + + true + 8000 + 2f00984783d07a107ffb1630ceaad302 + 2f00984783d07a107ffb1630ceaad302 + sys_hub_action_type_definition + var__m_sys_hub_action_input_2f00984783d07a107ffb1630ceaad302 + + 3 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-04 12:10:36 + 6270dc0f83d07a107ffb1630ceaad32d + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:10: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=d8f676ea-af8e-49b6-89aa-a6d1310d370a + false + + + + + + + + + + + + + false + false + + + + jsonstring + false + + + + false + + + string + + true + 8000 + 2f00984783d07a107ffb1630ceaad302 + 2f00984783d07a107ffb1630ceaad302 + sys_hub_action_type_definition + var__m_sys_hub_action_input_2f00984783d07a107ffb1630ceaad302 + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-04 12:10:36 + e670940f83d07a107ffb1630ceaad3c9 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:10: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=b446069e-2f2a-4996-b3f5-b9740f466e30 + false + + + + + + + + + + + + + false + false + + + + emailto + false + + + + false + + + string + + true + 8000 + 2f00984783d07a107ffb1630ceaad302 + 2f00984783d07a107ffb1630ceaad302 + sys_hub_action_type_definition + var__m_sys_hub_action_input_2f00984783d07a107ffb1630ceaad302 + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-04 12:10:36 + e670dc0f83d07a107ffb1630ceaad329 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:10:36 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=choice,uiTypeLabel=Choice,uiUniqueId=15e81ac5-1c9d-43c8-b0eb-2e436fcbc2b6 + false + + 3 + + + + + + text + + + + + false + false + + + + otputformat + false + + + + false + + + choice + + false + 32 + 2f00984783d07a107ffb1630ceaad302 + 2f00984783d07a107ffb1630ceaad302 + sys_hub_action_type_definition + var__m_sys_hub_action_input_2f00984783d07a107ffb1630ceaad302 + + 4 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-04 12:10:36 + fa70dc0f83d07a107ffb1630ceaad330 + 7 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:27 + 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=af328c83-c2ec-4dba-930c-aae8c55318e7,visible_in_ui=false + false + + + + + + + + true + + + + + false + false + + + + __dont_treat_as_error__ + + false + + + + false + + + + boolean + + false + 40 + 2f00984783d07a107ffb1630ceaad302 + 2f00984783d07a107ffb1630ceaad302 + sys_hub_action_type_definition + var__m_sys_hub_action_output_2f00984783d07a107ffb1630ceaad302 + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-04 12:10:37 + 7a70dc0f83d07a107ffb1630ceaad33f + 7 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:27 + 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=15f1cd67-6fd5-4edf-8ce5-ef863cf157b7 + false + + + + + + + + + + + + + false + false + + + + __action_status__ + + false + + + + false + + + + string + + false + 65000 + 2f00984783d07a107ffb1630ceaad302 + 2f00984783d07a107ffb1630ceaad302 + sys_hub_action_type_definition + var__m_sys_hub_action_output_2f00984783d07a107ffb1630ceaad302 + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-04 12:10:36 + be70dc0f83d07a107ffb1630ceaad33a + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:10:36 + false + false + false + false + false + simple + false + script + + + false + + + + + + 2f00984783d07a107ffb1630ceaad302 + + 0 + {{step[83c5ea8f-3cc4-4d30-be01-ee7aeee23b09].emailbody}} + + admin + 2025-10-04 12:13:31 + 99219c4f83d07a107ffb1630ceaad308 + 0 + b812ceb69337a210633378917cba10bc + admin + 2025-10-04 12:13:31 + [] + + c781ce72-d167-4aab-a395-51c011aade1d + + + + 2f00984783d07a107ffb1630ceaad302 + admin + 2025-10-04 12:10:37 + 3e70dc0f83d07a107ffb1630ceaad34a + 0 + admin + 2025-10-04 12:10:37 + + + + jsonstring + + + + en + var__m_sys_hub_action_input_2f00984783d07a107ffb1630ceaad302 + + sys_documentation + admin + 2025-10-04 12:10:36 + 2e70dc0f83d07a107ffb1630ceaad328 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:10:36 + + + + + emailsubject + + + + en + var__m_sys_hub_action_input_2f00984783d07a107ffb1630ceaad302 + + sys_documentation + admin + 2025-10-04 12:10:36 + 3270dc0f83d07a107ffb1630ceaad330 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:10:36 + + + + + emailto + + + + en + var__m_sys_hub_action_input_2f00984783d07a107ffb1630ceaad302 + + sys_documentation + admin + 2025-10-04 12:10:36 + a670dc0f83d07a107ffb1630ceaad32c + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:10:36 + + + + + otputformat + + + + en + var__m_sys_hub_action_input_2f00984783d07a107ffb1630ceaad302 + + sys_documentation + admin + 2025-10-04 12:10:36 + fa70dc0f83d07a107ffb1630ceaad336 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:10:36 + + + + + + + + otputformat + + false + + en + var__m_sys_hub_action_input_2f00984783d07a107ffb1630ceaad302 + 0 + + admin + 2025-10-04 12:10:36 + global + / + 3270dc0f83d07a107ffb1630ceaad333 + 0 + admin + 2025-10-04 12:10:36 + text + + + + otputformat + + false + + en + var__m_sys_hub_action_input_2f00984783d07a107ffb1630ceaad302 + 1 + + admin + 2025-10-04 12:10:36 + global + / + f670dc0f83d07a107ffb1630ceaad333 + 0 + admin + 2025-10-04 12:10:36 + html + + + + __dont_treat_as_error__ + + + + en + var__m_sys_hub_action_output_2f00984783d07a107ffb1630ceaad302 + + sys_documentation + admin + 2025-10-04 12:10:37 + 7e70dc0f83d07a107ffb1630ceaad344 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:10:37 + + + + + __action_status__ + + + + en + var__m_sys_hub_action_output_2f00984783d07a107ffb1630ceaad302 + + sys_documentation + admin + 2025-10-04 12:10:37 + be70dc0f83d07a107ffb1630ceaad33e + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:10:37 + + + + + + + 2f00984783d07a107ffb1630ceaad302 + {"type":"PlanProxy","persistor":{"@class":".ChunkingPlanPersistor","table":"sys_hub_action_plan","id":"6702d4cf83d07a107ffb1630ceaad30f","name":"plan","plan_signature":null}} + e30294cf83d07a107ffb1630ceaad3dd + admin + 2025-10-04 12:17:30 + global + / + 6702d4cf83d07a107ffb1630ceaad30f + 0 + + + admin + 2025-10-04 12:17:30 + + + public + + + + + {labelCacheCleanUpExecuted=true} + 28000 + false + + + + Two-step Flow Designer Action to parse JSON and send it via email in text or HTML. + + + parse_json_and_send_email + [{"name":"{{action.jsonstring}}","label":"action➛jsonString","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.emailto}}","label":"action➛emailTo","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.emailsubject}}","label":"action➛emailSubject","type":"action","ref":"","reference_display":"","base_type":"string","parent_table_name":"","column_name":"","choices":null,"attributes":{}},{"name":"{{action.otputformat}}","label":"action➛otputFormat","type":"action","ref":"","reference_display":"","base_type":"choice","parent_table_name":"","column_name":"","choices":[{"label":"text","value":"text","order":0.0},{"label":"html","value":"html","order":1.0}],"attributes":{}},{"name":"{{step[83c5ea8f-3cc4-4d30-be01-ee7aeee23b09].emailbody}}","label":"step➛Script step : Build Email Message➛emailBody","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":"82af7040-b899-490a-8627-2c36d388ea91"}}] + true + Parse JSON and send email + + + 2f00984783d07a107ffb1630ceaad302 + sys_hub_action_type_snapshot + admin + 2025-10-04 12:17:28 + global + / + 970294cf83d07a107ffb1630ceaad354 + 0 + + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + false + + + + + + sys_hub_action_type_snapshot + 970294cf83d07a107ffb1630ceaad354 + 1 + sys_variable_value + admin + 2025-10-04 12:17:29 + 2b0294cf83d07a107ffb1630ceaad3db + 0 + admin + 2025-10-04 12:17:29 + {"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"} + 5b0294cf83d07a107ffb1630ceaad3cd + + + sys_hub_action_type_snapshot + 970294cf83d07a107ffb1630ceaad354 + 2 + sys_variable_value + admin + 2025-10-04 12:17:29 + 670294cf83d07a107ffb1630ceaad3db + 0 + admin + 2025-10-04 12:17:29 + 0 + ef0294cf83d07a107ffb1630ceaad3d1 + + + + + 970294cf83d07a107ffb1630ceaad354 + 83c5ea8f-3cc4-4d30-be01-ee7aeee23b09 + 1 + + + + + + + 1 + +
+ 106afb6647032200b4fad7527c9a71e7 + admin + 2025-10-04 12:17:28 + 170294cf83d07a107ffb1630ceaad387 + 1 + b812ceb69337a210633378917cba10bc + admin + 2025-10-04 12:17:29 + + + + sys_hub_step_instance + 170294cf83d07a107ffb1630ceaad387 + 600 + sys_variable_value + admin + 2025-10-04 12:17:29 + 9f0294cf83d07a107ffb1630ceaad3be + 0 + admin + 2025-10-04 12:17:29 + /** + * Hacktoberfest Prototype Notice + * + * This code is an initial concept submitted for Hacktoberfest. + * + * It is intended as a starting point and needs significant refinement, code review, and testing before it can be considered ready for production or any real-world ServiceNow implementation. + * + * The main concern is: + * - Optimizing JSON parsing, especially for deep/nested structures. + * + * Other important areas for improvement include: + * - Comprehensive error handling and edge case support. + * - Security reviews, including input validation(JSON Validation) and output sanitization. + * - Integration with wider ServiceNow Flow Designer best practices. + * + * + */ + +(function execute(inputs, outputs) { +/** +   * Custom Action Inputs +   * +   * This action accepts the following inputs: +   * +   * @param jsonString    (Type: String, Mandatory: Yes) +   *                       Example: { "user": "Anu", "role": "Admin" } +   *                       The JSON data to parse. +   * +   * @param emailTo       (Type: String, Mandatory: Yes) +   *                       Example: [anu@example.com](mailto:anu@example.com),[manager@example.com](mailto:manager@example.com) +   *                       Comma-separated list of recipients. +   * +   * @param emailSubject  (Type: String, Mandatory: Yes) +   *                       Example: New User Created in ServiceNow +   *                       Custom subject for the email. +   * +   * @param outputFormat  (Type: String, Mandatory: No, Default = text) +   *                       Example: html or text +   *                       Controls formatting of the email body. +   */ +function formatJsonText(obj, indent) { + var emailText = ""; + var spacing = " ".repeat(indent); + + if (Array.isArray(obj)) { + obj.forEach(function(item, index) { + emailText += spacing + "- Item " + (index + 1) + ":\n"; + emailText += formatJsonText(item, indent + 1); + }); + } else if (typeof obj === "object" && obj !== null) { + for (var key in obj) { + if (typeof obj[key] === "object") { + emailText += spacing + key + ":\n"; + emailText += formatJsonText(obj[key], indent + 1); + } else { + emailText += spacing + key + ": " + obj[key] + "\n"; + } + } + } else { + emailText += spacing + obj + "\n"; + } + return emailText; +} + +function formatJsonHtml(obj) { + var html = ""; + if (Array.isArray(obj)) { + html += "<ul>"; + obj.forEach(function(item) { + html += "<li>" + formatJsonHtml(item) + "</li>"; + }); + html += "</ul>"; + } else if (typeof obj === "object" && obj !== null) { + html += "<table border='1' cellspacing='0' cellpadding='4' style='border-collapse:collapse;'>"; + for (var key in obj) { + html += "<tr><td><b>" + key + "</b></td><td>" + formatJsonHtml(obj[key]) + "</td></tr>"; + } + html += "</table>"; + } else { + html += obj; + } + return html; +} + +try { + var parsed = JSON.parse(inputs.jsonString); + var formatted = ""; + var text = ""; + if (inputs.outputFormat === "html") { + text = formatJsonHtml(parsed); + } else { + text = formatJsonText(parsed, 0); + } + formatted = "Hello,\n\nHere is the parsed JSON data:\n\n" + + text + + "\nSent from,\nServiceNow Flow Action"; + outputs.emailbody = formatted; + outputs.status = "Success"; + +} catch (e) { + outputs.emailbody = "Error parsing JSON: " + e.message; + outputs.status = "Failed"; +} + +})(inputs, outputs); + 71aa7f6647032200b4fad7527c9a719b + + + sys_hub_step_instance + 170294cf83d07a107ffb1630ceaad387 + 400 + sys_variable_value + admin + 2025-10-04 12:17:29 + db0294cf83d07a107ffb1630ceaad3be + 0 + admin + 2025-10-04 12:17:29 + 35aa573fd7802200bdbaee5b5e610375 + f5e56d79b3101300176b051a16a8dce4 + + + + application + 170294cf83d07a107ffb1630ceaad387 + admin + 2025-10-04 12:17:29 + 970294cf83d07a107ffb1630ceaad3be + 0 + admin + 2025-10-04 12:17:29 + var__m_sys_flow_step_definition_input_106afb6647032200b4fad7527c9a71e7
+ +
+ + emailSubject + 170294cf83d07a107ffb1630ceaad387 + admin + 2025-10-04 12:17:29 + 5f0294cf83d07a107ffb1630ceaad3bf + 0 + admin + 2025-10-04 12:17:29 + var__m_sys_hub_step_ext_input_170294cf83d07a107ffb1630ceaad387
+ {{action.emailsubject}} +
+ + emailTo + 170294cf83d07a107ffb1630ceaad387 + admin + 2025-10-04 12:17:29 + 9b0294cf83d07a107ffb1630ceaad3bf + 0 + admin + 2025-10-04 12:17:29 + var__m_sys_hub_step_ext_input_170294cf83d07a107ffb1630ceaad387
+ {{action.emailto}} +
+ + jsonString + 170294cf83d07a107ffb1630ceaad387 + admin + 2025-10-04 12:17:29 + d70294cf83d07a107ffb1630ceaad3bf + 0 + admin + 2025-10-04 12:17:29 + var__m_sys_hub_step_ext_input_170294cf83d07a107ffb1630ceaad387
+ {{action.jsonstring}} +
+ + outputFormat + 170294cf83d07a107ffb1630ceaad387 + admin + 2025-10-04 12:17:29 + 130294cf83d07a107ffb1630ceaad3c0 + 0 + admin + 2025-10-04 12:17:29 + var__m_sys_hub_step_ext_input_170294cf83d07a107ffb1630ceaad387
+ {{action.otputformat}} +
+ + script + 170294cf83d07a107ffb1630ceaad387 + admin + 2025-10-04 12:17:29 + 5b0294cf83d07a107ffb1630ceaad3be + 0 + admin + 2025-10-04 12:17:29 + var__m_sys_flow_step_definition_input_106afb6647032200b4fad7527c9a71e7
+ +
+ + + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String + false + + + + + + + + + + + + + false + false + + + + emailTo + false + + + + false + + + string + + true + 8000 + 170294cf83d07a107ffb1630ceaad387 + 170294cf83d07a107ffb1630ceaad387 + sys_hub_step_instance + var__m_sys_hub_step_ext_input_170294cf83d07a107ffb1630ceaad387 + + 100 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_input + admin + 2025-10-04 12:17:28 + 170294cf83d07a107ffb1630ceaad39b + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + 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 + + + + jsonString + false + + + + false + + + string + + true + 8000 + 170294cf83d07a107ffb1630ceaad387 + 170294cf83d07a107ffb1630ceaad387 + sys_hub_step_instance + var__m_sys_hub_step_ext_input_170294cf83d07a107ffb1630ceaad387 + + 0 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_input + admin + 2025-10-04 12:17:28 + 530294cf83d07a107ffb1630ceaad38b + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + 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 + + + + emailSubject + false + + + + false + + + string + + true + 8000 + 170294cf83d07a107ffb1630ceaad387 + 170294cf83d07a107ffb1630ceaad387 + sys_hub_step_instance + var__m_sys_hub_step_ext_input_170294cf83d07a107ffb1630ceaad387 + + 200 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_input + admin + 2025-10-04 12:17:28 + 570294cf83d07a107ffb1630ceaad39e + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + false + false + false + false + false + simple + false + script + + + false + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=choice,uiTypeLabel=Choice + false + + 1 + + + + + + + + + + + false + false + + + + outputFormat + false + + + + false + + + choice + + true + 40 + 170294cf83d07a107ffb1630ceaad387 + 170294cf83d07a107ffb1630ceaad387 + sys_hub_step_instance + var__m_sys_hub_step_ext_input_170294cf83d07a107ffb1630ceaad387 + + 300 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_input + admin + 2025-10-04 12:17:29 + 970294cf83d07a107ffb1630ceaad3a1 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:29 + 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=aa4306ab-2375-42a5-99ff-91cba3a48daf + false + + + + + + + + + + + + + false + false + + + + status + false + + + + false + + + string + + false + 8000 + 170294cf83d07a107ffb1630ceaad387 + 170294cf83d07a107ffb1630ceaad387 + sys_hub_step_instance + var__m_sys_hub_step_ext_output_170294cf83d07a107ffb1630ceaad387 + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_output + admin + 2025-10-04 12:17:29 + 1b0294cf83d07a107ffb1630ceaad3b5 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:29 + 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=82af7040-b899-490a-8627-2c36d388ea91 + false + + + + + + + + + + + + + false + false + + + + emailbody + false + + + + false + + + string + + false + 8000 + 170294cf83d07a107ffb1630ceaad387 + 170294cf83d07a107ffb1630ceaad387 + sys_hub_step_instance + var__m_sys_hub_step_ext_output_170294cf83d07a107ffb1630ceaad387 + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_step_ext_output + admin + 2025-10-04 12:17:29 + d70294cf83d07a107ffb1630ceaad3a5 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:29 + false + false + false + false + false + simple + false + script + + + false + + + + status + + + + en + var__m_sys_hub_step_ext_output_170294cf83d07a107ffb1630ceaad387 + + sys_documentation + admin + 2025-10-04 12:17:29 + 5f0294cf83d07a107ffb1630ceaad3b7 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:29 + + + + + emailbody + + + + en + var__m_sys_hub_step_ext_output_170294cf83d07a107ffb1630ceaad387 + + sys_documentation + admin + 2025-10-04 12:17:29 + db0294cf83d07a107ffb1630ceaad3b4 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:29 + + + + + 970294cf83d07a107ffb1630ceaad354 + 37e097af-2cba-49e6-9168-989a91d2d6ca + 1 + + + + + + + 2 + +
+ 4c5f36a37f0b32005f58108c3ffa9126 + admin + 2025-10-04 12:17:29 + 9f0294cf83d07a107ffb1630ceaad3c2 + 1 + b812ceb69337a210633378917cba10bc + admin + 2025-10-04 12:17:29 + + + + sys_hub_step_instance + 9f0294cf83d07a107ffb1630ceaad3c2 + 500 + sys_variable_value + admin + 2025-10-04 12:17:29 + 930294cf83d07a107ffb1630ceaad3cc + 0 + admin + 2025-10-04 12:17:29 + + 8ef44f277f0b32005f58108c3ffa91f7 + + + + body + 9f0294cf83d07a107ffb1630ceaad3c2 + admin + 2025-10-04 12:17:29 + 130294cf83d07a107ffb1630ceaad3cc + 0 + admin + 2025-10-04 12:17:29 + var__m_sys_flow_step_definition_input_4c5f36a37f0b32005f58108c3ffa9126
+ <p data-tinymcerootblock=""><span class="data_parent_pill" style="display: inline;" contenteditable="false" data-pillvalue="{{fd_transform:c781ce72-d167-4aab-a395-51c011aade1d}}"><span class="data_pill accepts_transform_functions" tabindex="0" contenteditable="false" data-pillvalue="{{fd_transform:c781ce72-d167-4aab-a395-51c011aade1d}}" data-testid="DataPillId"><span class="data-pill-content-container"><span class="pills"><span class="pill-text" data-tooltip-id="ah_tooltipTop" data-tooltip-content="step &gt; Script step : Build Email Message &gt; emailBody"><span class="pill-start">step</span><span class="pill-arrow"><span class="data-pill-label-caret"><span class="data-pill-label-arrow">➛</span></span>...<span class="data-pill-label-caret"><span class="data-pill-label-arrow">➛</span></span></span><span class="pill-end">emailBody</span></span></span><button id="transform_function_facade_c781ce72-d167-4aab-a395-51c011aade1d" class="transform_function_facade no_transform_applied" aria-label="Open transform function picker for step➛Script step : Build Email Message➛emailBody"><span class="inline-script-icon"><span style="display: none;">​</span></span></button></span></span></span></p> +
+ + subject + 9f0294cf83d07a107ffb1630ceaad3c2 + admin + 2025-10-04 12:17:29 + 9b0294cf83d07a107ffb1630ceaad3cb + 0 + admin + 2025-10-04 12:17:29 + var__m_sys_flow_step_definition_input_4c5f36a37f0b32005f58108c3ffa9126
+ {{action.emailsubject}} +
+ + to + 9f0294cf83d07a107ffb1630ceaad3c2 + admin + 2025-10-04 12:17:29 + 5f0294cf83d07a107ffb1630ceaad3cb + 0 + admin + 2025-10-04 12:17:29 + var__m_sys_flow_step_definition_input_4c5f36a37f0b32005f58108c3ffa9126
+ {{action.emailto}} +
+ + + + + + false + subject + 9f0294cf83d07a107ffb1630ceaad3c2 + sys_hub_step_instance + + admin + 2025-10-04 12:17:29 + 9f0294cf83d07a107ffb1630ceaad3ca + 0 + admin + 2025-10-04 12:17:29 + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=string,uiTypeLabel=String,uiUniqueId=b446069e-2f2a-4996-b3f5-b9740f466e30 + false + + + + + + + + + + + + + false + false + + + + emailto + false + + + + false + + + string + + true + 8000 + 970294cf83d07a107ffb1630ceaad354 + 970294cf83d07a107ffb1630ceaad354 + sys_hub_action_type_snapshot + var__m_sys_hub_action_input_970294cf83d07a107ffb1630ceaad354 + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-04 12:17:28 + 1b0294cf83d07a107ffb1630ceaad35b + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + 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=d8f676ea-af8e-49b6-89aa-a6d1310d370a + false + + + + + + + + + + + + + false + false + + + + jsonstring + false + + + + false + + + string + + true + 8000 + 970294cf83d07a107ffb1630ceaad354 + 970294cf83d07a107ffb1630ceaad354 + sys_hub_action_type_snapshot + var__m_sys_hub_action_input_970294cf83d07a107ffb1630ceaad354 + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-04 12:17:28 + 530294cf83d07a107ffb1630ceaad357 + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + false + false + false + false + false + simple + false + script + + + false + + + + true + false + false + element_mapping_provider=com.glide.flow_design.action.data.FlowDesignVariableMapper,uiType=choice,uiTypeLabel=Choice,uiUniqueId=15e81ac5-1c9d-43c8-b0eb-2e436fcbc2b6 + false + + 3 + + + + + + text + + + + + false + false + + + + otputformat + false + + + + false + + + choice + + false + 32 + 970294cf83d07a107ffb1630ceaad354 + 970294cf83d07a107ffb1630ceaad354 + sys_hub_action_type_snapshot + var__m_sys_hub_action_input_970294cf83d07a107ffb1630ceaad354 + + 4 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-04 12:17:28 + d70294cf83d07a107ffb1630ceaad36f + 1 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + 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=636e9d11-b601-49dc-bdae-7c546aff7627 + false + + + + + + + + + + + + + false + false + + + + emailsubject + false + + + + false + + + string + + true + 8000 + 970294cf83d07a107ffb1630ceaad354 + 970294cf83d07a107ffb1630ceaad354 + sys_hub_action_type_snapshot + var__m_sys_hub_action_input_970294cf83d07a107ffb1630ceaad354 + + 3 + false + false + + + + false + + + + + + false + false + sys_hub_action_input + admin + 2025-10-04 12:17:28 + db0294cf83d07a107ffb1630ceaad36b + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + 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=15f1cd67-6fd5-4edf-8ce5-ef863cf157b7 + false + + + + + + + + + + + + + false + false + + + + __action_status__ + + false + + + + false + + + + string + + false + 65000 + 970294cf83d07a107ffb1630ceaad354 + 970294cf83d07a107ffb1630ceaad354 + sys_hub_action_type_snapshot + var__m_sys_hub_action_output_970294cf83d07a107ffb1630ceaad354 + + 1 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-04 12:17:29 + 5b0294cf83d07a107ffb1630ceaad3cd + 0 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:29 + 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=af328c83-c2ec-4dba-930c-aae8c55318e7,visible_in_ui=false + false + + + + + + + + true + + + + + false + false + + + + __dont_treat_as_error__ + + false + + + + false + + + + boolean + + false + 40 + 970294cf83d07a107ffb1630ceaad354 + 970294cf83d07a107ffb1630ceaad354 + sys_hub_action_type_snapshot + var__m_sys_hub_action_output_970294cf83d07a107ffb1630ceaad354 + + 2 + false + false + + + + false + + + + + + false + false + sys_hub_action_output + admin + 2025-10-04 12:17:29 + ef0294cf83d07a107ffb1630ceaad3d1 + 1 + + + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:29 + false + false + false + false + false + simple + false + script + + + false + + + + + + 970294cf83d07a107ffb1630ceaad354 + + 0 + {{step[83c5ea8f-3cc4-4d30-be01-ee7aeee23b09].emailbody}} + + admin + 2025-10-04 12:17:29 + 2f0294cf83d07a107ffb1630ceaad3dc + 0 + b812ceb69337a210633378917cba10bc + admin + 2025-10-04 12:17:29 + [] + + c781ce72-d167-4aab-a395-51c011aade1d + + + + 970294cf83d07a107ffb1630ceaad354 + admin + 2025-10-04 12:17:29 + 230294cf83d07a107ffb1630ceaad3dd + 0 + admin + 2025-10-04 12:17:29 + + + + otputformat + + + + en + var__m_sys_hub_action_input_970294cf83d07a107ffb1630ceaad354 + + sys_documentation + admin + 2025-10-04 12:17:28 + 970294cf83d07a107ffb1630ceaad381 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + + + + + emailsubject + + + + en + var__m_sys_hub_action_input_970294cf83d07a107ffb1630ceaad354 + + sys_documentation + admin + 2025-10-04 12:17:28 + 9b0294cf83d07a107ffb1630ceaad36e + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + + + + + emailto + + + + en + var__m_sys_hub_action_input_970294cf83d07a107ffb1630ceaad354 + + sys_documentation + admin + 2025-10-04 12:17:28 + 9f0294cf83d07a107ffb1630ceaad36a + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + + + + + jsonstring + + + + en + var__m_sys_hub_action_input_970294cf83d07a107ffb1630ceaad354 + + sys_documentation + admin + 2025-10-04 12:17:28 + db0294cf83d07a107ffb1630ceaad35a + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:28 + + + + + + + + otputformat + + false + + en + var__m_sys_hub_action_input_970294cf83d07a107ffb1630ceaad354 + 0 + + admin + 2025-10-04 12:17:28 + global + / + 1f0294cf83d07a107ffb1630ceaad371 + 0 + admin + 2025-10-04 12:17:28 + text + + + + otputformat + + false + + en + var__m_sys_hub_action_input_970294cf83d07a107ffb1630ceaad354 + 1 + + admin + 2025-10-04 12:17:28 + global + / + d30294cf83d07a107ffb1630ceaad372 + 0 + admin + 2025-10-04 12:17:28 + html + + + + __action_status__ + + + + en + var__m_sys_hub_action_output_970294cf83d07a107ffb1630ceaad354 + + sys_documentation + admin + 2025-10-04 12:17:29 + 930294cf83d07a107ffb1630ceaad3d1 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:29 + + + + + __dont_treat_as_error__ + + + + en + var__m_sys_hub_action_output_970294cf83d07a107ffb1630ceaad354 + + sys_documentation + admin + 2025-10-04 12:17:29 + eb0294cf83d07a107ffb1630ceaad3d6 + 0 + + b812ceb69337a210633378917cba10bc + + b812ceb69337a210633378917cba10bc + + admin + 2025-10-04 12:17:29 + + + + + + 2f00984783d07a107ffb1630ceaad302 + 970294cf83d07a107ffb1630ceaad354 + glide-zurich-07-01-2025__patch0-07-15-2025_07-23-2025_1759.zip + +