<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://www.mavencloud.tech/blogs/feed" rel="self" type="application/rss+xml"/><title>MavenCloud - Blog</title><description>MavenCloud - Blog</description><link>https://www.mavencloud.tech/blogs</link><lastBuildDate>Thu, 22 Jan 2026 11:16:01 -0800</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[Approve and Ship Orders using Workflows]]></title><link>https://www.mavencloud.tech/blogs/post/approve-and-ship-orders-using-workflows</link><description><![CDATA[<img align="left" hspace="5" src="https://www.mavencloud.tech/Untitled design.jpg"/>Workflows can be a powerful tool for any developer 0r administrator and can help quickly solve problems and automate tasks within your business proces ]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_oBa1bt3RRAaslw0inQKKNw" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_Ulwy43CBRXa-KbvUuSMkSA" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_lMrpgPXdRzeE3E10VmZ1Jw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_lQIESx7BQDmX9cWxOZr6RQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_lQIESx7BQDmX9cWxOZr6RQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">Workflows can be a powerful tool for any developer 0r administrator and can help quickly solve problems and automate tasks within your business processes.&nbsp; One way that NetSuite has enhanced workflows and their application within your ecosystem is the ability to update native status fields on orders and transactions.&nbsp; This can be extremely helpful especially when automating your order to cash workflow.&nbsp; NetSuite has made the following fields available to workflow actions:</p><ul><li style="text-align:left;">Order Status - this is the native status of a Sales Order</li><li style="text-align:left;">Shipping Status - this is the native status of an Item Fulfillment</li></ul></div>
</div></div></div></div></div><div data-element-id="elm_ZHr2A0VT9cQlS44ExhCWog" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_ZHr2A0VT9cQlS44ExhCWog"].zpsection{ border-radius:1px; } </style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_YXVIPDJxl2WlEVRFrHod4w" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column=""><style type="text/css"> [data-element-id="elm_YXVIPDJxl2WlEVRFrHod4w"].zprow{ border-radius:1px; } </style><div data-element-id="elm_UzoePL74MET1ho1vvbcNvA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_UzoePL74MET1ho1vvbcNvA"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_uI_8uLLwGqi7aYfr9VYK0Q" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_uI_8uLLwGqi7aYfr9VYK0Q"] .zpimagetext-container figure img { width: 200px ; height: 150.16px ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_uI_8uLLwGqi7aYfr9VYK0Q"] .zpimagetext-container figure img { width:200px ; height:150.16px ; } } @media (max-width: 767px) { [data-element-id="elm_uI_8uLLwGqi7aYfr9VYK0Q"] .zpimagetext-container figure img { width:200px ; height:150.16px ; } } [data-element-id="elm_uI_8uLLwGqi7aYfr9VYK0Q"].zpelem-imagetext{ background-color:#34495E; background-image:unset; border-radius:1px; } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-size-small zpimage-tablet-fallback-small zpimage-mobile-fallback-small hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="https://www.mavencloud.tech/images/g66f39f1d9b68f78ca0457b20cb85a0b92157f4d11095211b818347999d5873ae63f920daf45c13c991323edc97f3ca14fdd4ce206c8ac6adc40eb4917bd69c08_1280.png" width="200" height="150.16" loading="lazy" size="small" data-lightbox="true"></picture></span></figure><div class="zpimage-text zpimage-text-align-left " data-editor="true"><p><span style="color:rgb(255, 255, 255);">If you have enabled&nbsp;</span><a href="https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1230197.html" title="advanced shipping " target="_blank" rel="">advanced shipping</a>&nbsp;<a href="https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1224089.html#procedure_N1224129" title="advanced shipping " target="_blank" rel=""></a><span style="color:rgb(255, 255, 255);">in your NetSuite environment you can define Item Fulfillments with statuses of Picked, Packed and Shipped.&nbsp; Each status has different implications when it comes to the Inventory impact, financial impact and carrier/tracking information available to the record.</span></p><p><span style="color:rgb(255, 255, 255);">When it comes to Order Status the most common application is to update a sales order from Pending Approval to Pending Fulfillment (ie Approving an Order).&nbsp; While other statuses are available in the action configuration it is recommended to allow native NetSuite processes to move the order through the fulfillment steps.</span></p></div>
</div></div></div></div></div></div><div data-element-id="elm_YtkE94baDy9sFlRq8Uuykg" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_YtkE94baDy9sFlRq8Uuykg"].zpsection{ border-radius:1px; } </style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_OKr2kNK1mDVfIADgjUno1w" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column=""><style type="text/css"> [data-element-id="elm_OKr2kNK1mDVfIADgjUno1w"].zprow{ border-radius:1px; } </style><div data-element-id="elm_NdIIEypzl2wzAoQrPLrReQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_NdIIEypzl2wzAoQrPLrReQ"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_oDdb2VuaU5avN0VwVdyBHw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_oDdb2VuaU5avN0VwVdyBHw"].zpelem-heading { border-radius:1px; } </style><h2 class="zpheading zpheading-style-none zpheading-align-left " data-editor="true">Order Status</h2></div>
</div></div></div></div><div data-element-id="elm_je9k6CosjqMpD8oSKKMYiA" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_je9k6CosjqMpD8oSKKMYiA"].zpsection{ border-radius:1px; } </style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_yMjjW1NCKTQ9ypQGrCN0Yg" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column=""><style type="text/css"> [data-element-id="elm_yMjjW1NCKTQ9ypQGrCN0Yg"].zprow{ border-radius:1px; } </style><div data-element-id="elm_hysukGZoT61xIf3BtXpzSQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_hysukGZoT61xIf3BtXpzSQ"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_e1wPyJQIlRVdYlJeaj-r6g" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_e1wPyJQIlRVdYlJeaj-r6g"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>NetSuite provides great native functionality for approving Sales Orders.&nbsp; This helps your organization manage orders effectively as you can selectively choose which orders should be held for approval and which orders should be able to freely enter your fulfillment process.&nbsp; The flip side of this coin is that, now you have a manual process for someone to review and approve these orders, which can be time consuming and also costly if not managed effectively.</p><p>With workflows you can provide any number of criteria to the system to review orders and "approve" them automatically.&nbsp; You can use a few different methods to achieve this depending on your needs.</p><ul><li>Scheduled Workflow - this would probably be the most common application as you are able to create a saved search and link it with a scheduled workflow.&nbsp; Then add a Set Field Value action to your workflow to set the Order Status field to Pending Fulfillment.&nbsp; If the order meets the criteria of the saved search, your order will be approved automatically.&nbsp; If it does not, then it will stay in the queue for manual approval or until something changes on the order so it matches the correct criteria.<br><img src="https://www.mavencloud.tech/Thu%20Jun%2013%202024.png" alt=""><br><br><br></li><li>Event Based Workflow - this would most likely not be as common of an application, but could work if your order is being edited by an integration or another user, but then after the edits now meets the correct criteria you can automatically update the order to Pending Fulfillment using the same Set Field value configuration as above.<br><br></li><li>Transform Record - lastly if you are using a workflow to transform an Estimate into a Sales Order, you can use the Order Status field in the Transform Record action to define whether the newly created order should be Pending Approval or Pending Fulfillment.<br><img src="https://www.mavencloud.tech/Thu%20Jun%2013%202024-1.png" alt=""><br></li></ul></div>
</div><div data-element-id="elm_GLwSwKqhEVNrG2R4kKUTrA" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_GLwSwKqhEVNrG2R4kKUTrA"].zpelem-heading { border-radius:1px; } </style><h2 class="zpheading zpheading-style-none zpheading-align-left " data-editor="true">Shipping Status</h2></div>
<div data-element-id="elm_9Mpz0VQIrxA5BNHoJaAZug" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_9Mpz0VQIrxA5BNHoJaAZug"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>We have come across many use cases in the past to automatically post Item Fulfillments from Sales Orders, however, occasionally it is difficult to manage this automation due to the Pick, Pack and Ship workflow of your order fulfillment process.&nbsp; Now with the Shipping Status field available to workflows you can define what fulfillment status should be set on your automated fulfillments.&nbsp; Similar to the Order Status above you can use many different methods to post Item Fulfillments in different statuses using SuiteFlow</p><ul><li>Scheduled Workflow - define the criteria in a saved search for when an Item Fulfillment should transition from picked to packed or packed to shipped.</li></ul><div><span style="color:inherit;"><img src="https://www.mavencloud.tech/Thu%20Jun%2013%202024-3.png" alt=""></span><br></div>
<ul><li>Event Based Workflow - if fulfillments are being edited you can update the status with an event based trigger to automatically set the status into the next stage.</li><li>Transform Record - if automatically posted an item fulfillment from a sales order using the transform record action, set the Shipping Status field in your workflow action configuration to match your business use case.</li></ul><div><span style="color:inherit;"><img src="https://www.mavencloud.tech/Thu%20Jun%2013%202024-2.png" alt=""></span><br></div>
</div></div><div data-element-id="elm_Mu5fsVpGPak2glopOaRPtw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Mu5fsVpGPak2glopOaRPtw"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>With the continued enhancements to SuiteFlow and the automation available to you, NetSuite can become a powerful ally to grow and support your business.&nbsp; Leveraging just these small functions can make HUGE improvements in your order to cash efficiency and overall cash flow management.&nbsp; Let us know if you have questions or use cases where you have used these custom status functions in your organization.</p></div>
</div><div data-element-id="elm_7JsrGexVEShvFqYHHn8zlg" data-element-type="button" class="zpelement zpelem-button "><style> [data-element-id="elm_7JsrGexVEShvFqYHHn8zlg"].zpelem-button{ border-radius:1px; } </style><div class="zpbutton-container zpbutton-align-center "><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-none " href="/contact"><span class="zpbutton-content">Contact Us</span></a></div>
</div></div></div></div></div></div>]]></content:encoded><pubDate>Thu, 13 Jun 2024 10:50:50 -0600</pubDate></item><item><title><![CDATA[Subscribe to Record Action]]></title><link>https://www.mavencloud.tech/blogs/post/subscribe-to-record-action</link><description><![CDATA[<img align="left" hspace="5" src="https://www.mavencloud.tech/Untitled design -1-.png"/>The subscribe to record action is probably one of the most un-used actions in workflows.&nbsp; Mostly because we find it is the least understood.&nbsp ]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_Wit0sbH6REKe6SDBp-AnQQ" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_CgHG0yDvRF2wlpl2yHH0bA" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_Kua6x1pPSPCA620p-zcj2A" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_buigHtv5RqCVh8rYFqqxRw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_buigHtv5RqCVh8rYFqqxRw"].zpelem-text { border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_buigHtv5RqCVh8rYFqqxRw"].zpelem-text { border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_buigHtv5RqCVh8rYFqqxRw"].zpelem-text { border-radius:1px; } } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">The subscribe to record action is probably one of the most un-used actions in workflows.&nbsp; Mostly because we find it is the least understood.&nbsp; However, once you have mastered how it can be used, it can be an incredibly useful tool, especially for approval workflows.&nbsp; The Subscribe to Record action is one of the few actions for workflows that can update joined records of different types.&nbsp; In this article we will build a quick approval workflow that will capture a rejection reason but properly account for users who may opt to skip this step by closing the window or using the browser navigation to go back to previous windows.&nbsp; The most common application of capturing rejection reasons is to use the <a href="https://www.mavencloud.tech/blogs/post/go-to-record-action" title="Go To Record action" target="_blank" rel="">Go To Record action</a> to redirect the user to a custom record type, with a mandatory field for "Rejection Reason", as described here in our post on <a href="https://www.mavencloud.tech/blogs/post/approval_workflow_popup_window" title="Capturing Rejection Reasons" target="_blank" rel="">Capturing Rejection Reasons</a>.&nbsp; This can be sufficient, but can also open up the door to potential problems if the user does not have the patience to wait for a new window to load and then save their response.&nbsp; This is where you can use the Subscribe to Record action to "monitor" the created custom record for changes, and when the proper change occurs you can then move the transaction through the proper steps of the approval workflow.</p></div>
</div></div></div></div></div><div data-element-id="elm_6S3CBiavijcGEkxT8j82ZQ" data-element-type="section" class="zpsection zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_6S3CBiavijcGEkxT8j82ZQ"].zpsection{ border-radius:1px; } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_6S3CBiavijcGEkxT8j82ZQ"].zpsection{ border-radius:1px; } } @media (max-width: 767px) { [data-element-id="elm_6S3CBiavijcGEkxT8j82ZQ"].zpsection{ border-radius:1px; } } </style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_CHuQKy-oP6go3JDnO-A2eA" data-element-type="row" class="zprow zprow-container zpalign-items-flex-start zpjustify-content-flex-start zpdefault-section zpdefault-section-bg " data-equal-column=""><style type="text/css"> [data-element-id="elm_CHuQKy-oP6go3JDnO-A2eA"].zprow{ border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_CHuQKy-oP6go3JDnO-A2eA"].zprow{ border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_CHuQKy-oP6go3JDnO-A2eA"].zprow{ border-radius:1px; } } </style><div data-element-id="elm_B2sCzH3nHk8O2pVmBh-v1w" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- zpdefault-section zpdefault-section-bg "><style type="text/css"> [data-element-id="elm_B2sCzH3nHk8O2pVmBh-v1w"].zpelem-col{ border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_B2sCzH3nHk8O2pVmBh-v1w"].zpelem-col{ border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_B2sCzH3nHk8O2pVmBh-v1w"].zpelem-col{ border-radius:1px; } } </style><div data-element-id="elm_cgPBbTxhOiUNvWe-XAvTqA" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_cgPBbTxhOiUNvWe-XAvTqA"] .zpimagetext-container figure img { width: 200px ; height: 124.95px ; } } [data-element-id="elm_cgPBbTxhOiUNvWe-XAvTqA"].zpelem-imagetext{ background-color:#34495E; background-image:unset; border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_cgPBbTxhOiUNvWe-XAvTqA"].zpelem-imagetext{ border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_cgPBbTxhOiUNvWe-XAvTqA"].zpelem-imagetext{ border-radius:1px; } } </style><div data-size-tablet="" data-size-mobile="" data-align="right" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-right zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-small zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="https://www.mavencloud.tech/images/businessman-using-a-computer-analysis-for-process-and-workflow-automation-with-flowchart-a.webp" size="small" data-lightbox="true"></picture></span></figure><div class="zpimage-text zpimage-text-align-left " data-editor="true"><p><span style="color:rgb(255, 255, 255);">The Subscribe to Record action is very powerful, but can be tricky to setup correctly and this process does take a lot more configuration than most workflow actions.&nbsp; One thing to note, is that per</span><a href="https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N2751816.html" title="NetSuite's documentation" target="_blank" rel="">NetSuite's documentation</a>, <span style="color:rgb(255, 255, 255);">this action is meant to be used in conjunction with the </span><a href="https://www.mavencloud.tech/blogs/post/create-record-action-part-1" title="Create Record Action" target="_blank" rel="">Create Record Action</a>.&nbsp; <span style="color:rgb(255, 255, 255);">This means you must first create a record, store a reference to that record in a workflow field, THEN subscribe to it, using subsequent steps in your workflow state.&nbsp; We have successfully used the Subscribe to Record action in conjunction with the Go To Record action in the past, but it has proven to give inconsistent results.</span></p></div>
</div></div><div data-element-id="elm_fK-SxBtNlq95dfhIKf1FnQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_fK-SxBtNlq95dfhIKf1FnQ"].zpelem-text { border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_fK-SxBtNlq95dfhIKf1FnQ"].zpelem-text { border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_fK-SxBtNlq95dfhIKf1FnQ"].zpelem-text { border-radius:1px; } } </style><div class="zptext zptext-align-left " data-editor="true"><p>To begin this process first make a custom record in your environment called "Rejection Reason", or whatever best fits with your use case.&nbsp; Be sure to include a field for the user to type in their response AND a List/Record field that you can use to reference the transaction it is related to.<br><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024.png" alt=""></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">The resulting record would look like this.&nbsp; (You can add more fields to gather more information if necessary but you would at least need these 2 fields for this workflow to be successful)</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-1.png" alt=""></span></p></div>
</div><div data-element-id="elm_wue1cOGIx9K_I4X922kt1A" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_wue1cOGIx9K_I4X922kt1A"].zpelem-text { border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_wue1cOGIx9K_I4X922kt1A"].zpelem-text { border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_wue1cOGIx9K_I4X922kt1A"].zpelem-text { border-radius:1px; } } </style><div class="zptext zptext-align-left " data-editor="true"><p>Next you would need to update your approval workflow to add a workflow field AND a new state for capturing the rejection reason.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-3.png" alt=""></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">In the workflow settings first create a workflow field called "Rejection Reason Record" and be sure to set it as a List/Record type referencing your new custom record you built in the step above.</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-4.png" alt=""></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">The next step is to add a new state in your workflow called "Capture Rejection Reason".&nbsp; It will eventually be inserted in between the Pending Approval State and the Rejected state.</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-5.png" alt=""></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">In the Capture Rejection Reason state, add the Create Record action (using the Entry trigger).&nbsp; Make sure you set the Store Result In field in the workflow parameters AND also set your Related Transaction field on your Rejection Reason to the Current Record.&nbsp; This will join the Rejection Reason record that is created back to your Journal Entry.</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-6.png" alt=""></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Next add the Subscribe to Record action, using the Entry trigger and you use the new workflow field you created as the reference for what record you should subscribe to.</span><span style="color:inherit;">&nbsp;(Make sure it is the step DIRECTLY AFTER your Create Record action).</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-7.png" alt="" style="width:1049.3199px !important;height:559px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Next, add a Go to Record action that would redirect the user to the newly created Rejection Reason record.</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-8.png" alt="" style="width:1060.5px !important;height:559px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p>Next add a Lock Record action so that the transaction is Locked to any changes while the user is recording their Rejection Reason.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-9.png" alt="" style="width:1058.48px !important;height:550px !important;max-width:100% !important;"></span></p><p><span style="color:inherit;">The resulting workflow state should look like this</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-10.png" alt=""></span><span style="color:inherit;"><br></span></p></div>
</div><div data-element-id="elm_kBHxT3gmUWOVTRw5T7ocqQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_kBHxT3gmUWOVTRw5T7ocqQ"].zpelem-text { border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_kBHxT3gmUWOVTRw5T7ocqQ"].zpelem-text { border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_kBHxT3gmUWOVTRw5T7ocqQ"].zpelem-text { border-radius:1px; } } </style><div class="zptext zptext-align-left " data-editor="true"><p>The next step is to setup your transitions to the rejected state when the Rejection Reason is entered.&nbsp; To do so, add a transition and set the condition to when the Rejection Reason is NOT EMPTY</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-12.png" alt="" style="width:805.08px !important;height:261px !important;max-width:100% !important;"></span><br></p><p><br></p><p>Then set the state to REJECTED and leave the Transition On trigger empty.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-11.png" alt="" style="width:1032px !important;height:517px !important;max-width:100% !important;"></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Setup a second transition that is Scheduled, to send the record back to the Pending Approval state.&nbsp; This means that after 1 hour the record will go pack to Pending Approval so the user can try again to reject it.&nbsp; (NOTE - A scheduled transition will only work if there is a delay value set and the smallest delay value available is 1 hour)</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-13.png" alt="" style="width:1060.2px !important;height:540px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">The resulting transitions in the workflow state should look like this</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-14.png" alt=""></span><span style="color:inherit;"><br></span></p><p>To support the process if someone were to reject the same transaction multiple times it would be a good idea to clear your Rejection Reason Record (Workflow) field before it gets to the Pending Approval state again.&nbsp; Depending on how the rest of your workflow is configured you may have a different application of this, but here we are going to add a Set Field Value action upon Exit of the REJECTED state, so when the record exits the REJECTED state to be resubmitted for approval the Workflow field will be set to NULL.<br><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-17.png" alt=""></span><br></p></div>
</div><div data-element-id="elm_IxTZ-dO4xHvhG5eavw70fQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_IxTZ-dO4xHvhG5eavw70fQ"].zpelem-text { border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_IxTZ-dO4xHvhG5eavw70fQ"].zpelem-text { border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_IxTZ-dO4xHvhG5eavw70fQ"].zpelem-text { border-radius:1px; } } </style><div class="zptext zptext-align-left " data-editor="true"><p>The last step to take is to update the transition from your Pending Approval state so the record transitions to you new Capture Rejection Reason state instead of going right to REJECTED.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-15.png" alt=""></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">The resulting workflow should look like this.</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-16.png" alt=""></span><span style="color:inherit;"><br></span></p></div>
</div><div data-element-id="elm_pu1lobCcQZJno_W4y1QQog" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_pu1lobCcQZJno_W4y1QQog"].zpelem-text { border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_pu1lobCcQZJno_W4y1QQog"].zpelem-text { border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_pu1lobCcQZJno_W4y1QQog"].zpelem-text { border-radius:1px; } } </style><div class="zptext zptext-align-left " data-editor="true"><p>To further help the user experience you can create a separate Workflow for the Rejection Reason record that would enhance how the user interacts with that record.&nbsp; Here we have setup a single state workflow that would set the Rejection Reason field to Mandatory AND would redirect the user back to the original transaction when saved.</p><p>Here is the Set Field Mandatory action configuration.&nbsp; Make sure that you update the Context of this action so it is <span style="color:rgb(234, 119, 4);">only triggered in User Interface</span>, as we don't want this to conflict with the Create Record action of your other workflow</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-18.png" alt=""></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Then here is the Go to Record action that will redirect the user back to the Transaction when it is saved.</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Wed%20Jun%2026%202024-19.png" alt="" style="width:1061.96px !important;height:529px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p></div>
</div><div data-element-id="elm_l1nRtQf69v4RoSHrZPg98w" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_l1nRtQf69v4RoSHrZPg98w"].zpelem-text { border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_l1nRtQf69v4RoSHrZPg98w"].zpelem-text { border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_l1nRtQf69v4RoSHrZPg98w"].zpelem-text { border-radius:1px; } } </style><div class="zptext zptext-align-left " data-editor="true"><p>With these two workflows you can see how the user experience is fairly seamless when it comes to requiring a rejection reason for records and transactions.&nbsp; One nice thing about this setup is you can utilize this Rejection Reason record across any approval workflow, transaction type and record type.&nbsp; You would simply need to up date your Rejection Reason workflow to redirect to the correct record by creating multiple Go To Record actions; one for each record type using these rejection reasons.</p></div>
</div><div data-element-id="elm_GdDblcp2N_e_ytSadOEMtA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_GdDblcp2N_e_ytSadOEMtA"].zpelem-text { border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_GdDblcp2N_e_ytSadOEMtA"].zpelem-text { border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_GdDblcp2N_e_ytSadOEMtA"].zpelem-text { border-radius:1px; } } </style><div class="zptext zptext-align-left " data-editor="true"><p>There are many more use cases for this Subscribe to Record action as you can use it to perform transitions, other actions and as part of criteria and conditions.&nbsp; While the setup and configuration is a bit advanced, the uses and solutions it can help with are quite extensive.&nbsp; If you would like help setting up workflows or enhancing your current workflows, please reach out to us and let us know.&nbsp; We also have expertise in almost every area of NetSuite from configuring new modules, to developing custom integrations or processes.&nbsp; Let us know if you have any questions or how you have used this subscribe to record action in your operations.</p></div>
</div><div data-element-id="elm_DLYBQOolwXzxJXmt7QYV-A" data-element-type="button" class="zpelement zpelem-button "><style> [data-element-id="elm_DLYBQOolwXzxJXmt7QYV-A"].zpelem-button{ border-radius:1px; } @media (max-width: 767px) { [data-element-id="elm_DLYBQOolwXzxJXmt7QYV-A"].zpelem-button{ border-radius:1px; } } @media all and (min-width: 768px) and (max-width:991px){ [data-element-id="elm_DLYBQOolwXzxJXmt7QYV-A"].zpelem-button{ border-radius:1px; } } </style><div class="zpbutton-container zpbutton-align-center "><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-none " href="/contact" target="_blank"><span class="zpbutton-content">Contact Us</span></a></div>
</div></div></div></div></div></div>]]></content:encoded><pubDate>Mon, 04 Mar 2024 14:48:00 -0600</pubDate></item><item><title><![CDATA[Create an RSS Feed]]></title><link>https://www.mavencloud.tech/blogs/post/Create-a-RSS-Feed</link><description><![CDATA[<img align="left" hspace="5" src="https://www.mavencloud.tech/images/shot-of-corridor-in-working-data-center-full-of-rack-servers-and-supercomputers-with-pink.webp"/>NetSuite offers a huge toolkit of portlets on your dashboard that can provide meaningful metrics and deep insights into your business.&nbsp; Commonly, ]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_ISpsESB_QdOagjxJ4G0GEQ" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_s6UIfZpqQuiwUKCemmRpGQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_Dzt0xRF1S5y7lT8oF4j-ow" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_BvFTuWdoS1aLdzA6YXk4mw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_BvFTuWdoS1aLdzA6YXk4mw"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">NetSuite offers a huge toolkit of portlets on your dashboard that can provide meaningful metrics and deep insights into your business.&nbsp; Commonly, people use portlets like Lists, Saved Searches, Key Performance Indicators, KPI Scorecards and Report Snapshots to visualize their data and provide a customized workspace for themselves.&nbsp; These are all wonderful tools and we will dive deeper into each one as we work&nbsp; through building an amazing dashboard.&nbsp; In this article we will walk through the RSS Feed that is sparsely used portlet but can be incredible useful.</p></div>
</div><div data-element-id="elm_rAQEHa_M5XRUrfN61LMVAw" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_rAQEHa_M5XRUrfN61LMVAw"] .zpimagetext-container figure img { width: 500px ; height: 250.00px ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_rAQEHa_M5XRUrfN61LMVAw"] .zpimagetext-container figure img { width:500px ; height:250.00px ; } } @media (max-width: 767px) { [data-element-id="elm_rAQEHa_M5XRUrfN61LMVAw"] .zpimagetext-container figure img { width:500px ; height:250.00px ; } } [data-element-id="elm_rAQEHa_M5XRUrfN61LMVAw"].zpelem-imagetext{ background-color:#34495E; background-image:unset; border-radius:1px; } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-size-medium zpimage-tablet-fallback-medium zpimage-mobile-fallback-medium hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="https://www.mavencloud.tech/images/g3c799f3dbcd2d2f97fc8b68c2f732f212b0a00bcef1fc3293bc76c272a71da3377a529b9905b9d3a92b1291a438ead86acb311827d1a2ae03572b1bc5d915cf4_1280.jpg" width="500" height="250.00" loading="lazy" size="medium" data-lightbox="true"></picture></span></figure><div class="zpimage-text zpimage-text-align-left " data-editor="true"><div><div><div><div><span style="font-size:12px;color:rgb(255, 255, 255);">An RSS feed - also know as "Really Simple Syndication" or “Rich Site Summary - is an online file that stores and automatically delivers any webpage's content and it's updates automatically.&nbsp; &nbsp;It allows you to syndicate your content so that people can subscribe to it and receive updates when you make changes — just like dynamic social feeds.&nbsp; The most common use of an RSS Feed is a website Blog, which can be embedded into another website and then is automatically updated as new blog posts are created.</span></div>
<div><span style="font-size:12px;color:rgb(255, 255, 255);">The format of RSS feeds is usually XML which allows the frequent updating of content. They also contain metadata, which is information about the content itself such as the publishing date and author. This information is vital for a website owner, because it helps you to track the age, authorship, and even engagement, so you can maintain the relevancy of your posts.</span><br></div>
</div></div></div></div></div></div><div data-element-id="elm_cjd0fVDp-NNDiXntduSqOw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_cjd0fVDp-NNDiXntduSqOw"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>To start you will need to add the RSS Feed portlet to your dashboard as it is usually not part of the default configuration.&nbsp; To do this click the personalize link in the upper right had corner of your dashboard.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Jan%2007%202024.png" alt=""></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Then select the RSS Feed tile and click on it to add it to your dashboard</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Jan%2007%202024-1.png" alt=""></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Open the setup menu for the RSS Feed portlet</span></p><p style="text-align:center;"><img src="https://www.mavencloud.tech/Sun%20Jan%2007%202024-2.png" alt="" style="color:inherit;width:967.69px !important;height:123px !important;max-width:100% !important;"><br></p><p><span style="color:inherit;"><br></span></p><p style="text-align:left;">In the setup menu you can choose from a list of predefined sources of popular business or sports websites.&nbsp; For this example, scroll to the top and select the (Custom) option.</p><p style="text-align:left;"><br></p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Jan%2007%202024-3.png" alt="" style="width:647.36px !important;height:330px !important;max-width:100% !important;"></span><br></p><p style="text-align:center;"><span style="color:inherit;"><br></span></p><p style="text-align:left;">Then enter the following URL into the URL Feed field</p></div>
</div><div data-element-id="elm_3MaMutRCD1BvnecPGEKiZQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_3MaMutRCD1BvnecPGEKiZQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p style="text-align:center;"><a href="http://fetchrss.com/rss/659825561e7a55294a4feda3659826e8b076375f6d2ac4c2.xml">http://fetchrss.com/rss/659825561e7a55294a4feda3659826e8b076375f6d2ac4c2.xml</a><br></p></div>
</div><div data-element-id="elm_gyRdhQpIbwdjp0tsVRDIOA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_gyRdhQpIbwdjp0tsVRDIOA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>This URL will source the MavenCloud blog into your dashboard so you can stay up to date on the latest articles and tips on optimizing NetSuite.</p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Jan%2007%202024-4.png" alt="" style="width:589.5px !important;height:300px !important;max-width:100% !important;"></span><br></p><p style="text-align:center;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Choose the number of articles you want to see by setting the Number of Links field.&nbsp; Also be sure to check the Show Details checkbox.</span></p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Jan%2007%202024-5.png" alt="" style="width:593.28px !important;height:300px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:center;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Click Save and you will now see each article as it is posted with links to navigate directly to each article.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Jan%2007%202024-6.png" alt="" style="width:1045.28px !important;height:508px !important;max-width:100% !important;"></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">The feed will be refreshed every time you login to NetSuite OR you can click the refresh link in the portlet to get the latest data.&nbsp; If you would like more information on how to build a dynamite dashboard or any other enhancements you need for your business use the link below to contact us.&nbsp; We have the resources and experience to help you with any configuration or customization project.</span></p></div>
</div><div data-element-id="elm_gkTXitIcQbm3Jh6e-TjaXA" data-element-type="button" class="zpelement zpelem-button "><style> [data-element-id="elm_gkTXitIcQbm3Jh6e-TjaXA"].zpelem-button{ border-radius:1px; } </style><div class="zpbutton-container zpbutton-align-center "><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-none " href="/contact" target="_blank"><span class="zpbutton-content">Contact Us</span></a></div>
</div></div></div></div></div></div>]]></content:encoded><pubDate>Sun, 07 Jan 2024 15:06:46 -0600</pubDate></item><item><title><![CDATA[Create Record Action - Part 2]]></title><link>https://www.mavencloud.tech/blogs/post/create-record-action-part2</link><description><![CDATA[<img align="left" hspace="5" src="https://www.mavencloud.tech/images/premium_photo-1664478157873-50d4963c1d11"/>The second part of our deep dive into the Create Record Action covers how to use it within the Sublist Action group. It is one of the few actions available to the sublist action group on transactions and can provide powerful automation for your custom business processes.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_mbKJf4hlQEaG9CeVHvsYAQ" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_KwrYnEehRMiRuEulnIEVgg" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_q2TlUGiXT0ebBVOED-L5nQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_KsefEyM4T4-RZU1r7TXuXA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_KsefEyM4T4-RZU1r7TXuXA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">Previously, in our first post on the <a href="https://www.mavencloud.tech/blogs/post/create-record-action-part-1" title="Create Record Action" target="_blank" rel="">Create Record Action</a>&nbsp;we discussed how to use this powerful action to create costing history for items using a scheduled workflow.&nbsp; In this article, we will discuss how the create record action can be leveraged within the Items sublist of a transaction.&nbsp; It is worthwhile to note that the Sublist Action Group only supports 4 actions</p><ul><li style="text-align:left;">Create Record</li><li style="text-align:left;">Return User Error</li><li style="text-align:left;">Send Email</li><li style="text-align:left;">Set Field Value</li></ul><div style="text-align:left;"><div> This opens up a wide array of possibilities when it comes to working with sublist lines, furthermore if you consider that most actions available to the Client Triggers are also able to work on sublist lines, then you can see that the limitations of functionality become somewhat small with all the options available.&nbsp; If you would like to learn more about what triggers are used in certain contexts read through our post on workflow <a href="https://www.mavencloud.tech/blogs/post/workflow_triggers_eventtypes_context" title="Triggers, Contexts and Event Types" target="_blank" rel="">Triggers, Contexts and Event Types</a>. </div>
</div></div></div><div data-element-id="elm_--Ww49i4dwnN2P7fSP3pnQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_--Ww49i4dwnN2P7fSP3pnQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>In this example, we will build a quick workflow that create an approval task for a single line item.&nbsp; One client I worked with recently requested that certain items need to be reviewed by their design team to ensure the configuration of the item was correct, so they wanted a way to notify the design team when one of these items was ordered AND also not let the item be shipped until the review was complete.&nbsp; To do this we leveraged the Create Record action using the sublist action group for the items sublist on Sales Orders.</p><p><br></p><p>First we created a custom checkbox on the item record called "Needs Review"</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Thu%20Oct%2019%202023.png" alt="" style="width:1051.17px !important;height:391px !important;max-width:100% !important;"></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">One other helpful customization is to create a custom Transaction Line field that we can use to store the Task record we will create in future steps.</span></p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Thu%20Oct%2019%202023-3.png" alt="" style="width:798.68px !important;height:169px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Then in our workflow we created a sublist action group using the Before Record Submit trigger</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Thu%20Oct%2019%202023-1.png" alt="" style="width:1055.4px !important;height:361px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Next we added the Create Record action to our sublist action group, ensuring to set the condition to check for the "Needs Review" checkbox on the item record</span></p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Thu%20Oct%2019%202023-2.png" alt="" style="width:798.66px !important;height:283px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">For the remaining parameters we leveraged the native Task record in NetSuite to generate the review task for the design team.&nbsp; This was especially nice because the native functionality surrounding Tasks allows for easy reminders, notifications and even allows the user to perform the review using their mobile device if they have the NetSuite App on their phone or tablet.&nbsp; The nice thing about the Create Record Action is you can set field values on the newly created record right from the configuration window.&nbsp; As you can see we've set many fields on the Task record like the Title, Message, Due Date, Assigned To, etc.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Thu%20Oct%2019%202023-4.png" alt="" style="width:1048.6px !important;height:490px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">One other step is to stop the order from being processed.&nbsp; You can do this by either marking the line as Closed or setting the entire order to Closed until the review is complete.&nbsp; Another option is to leverage the Pending Approval status of the Sales Order to leave it and Pending Approval until the review can be completed.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Thu%20Oct%2019%202023-5.png" alt="" style="width:1047.5px !important;height:279px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Once last step we can take is to use a Scheduled transition to move this order into a "Review Completed" state.&nbsp; The saved search used as the condition of the transition simply looks for Review Tasks that are marked completed and then if true, triggers the transition.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Thu%20Oct%2019%202023-6.png" alt="" style="width:1058.15px !important;height:447px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;">Then in the new REVIEW COMPLETED state you can remove the "Closed" checkbox from any line to let the order be processed by your operations team.</p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Thu%20Oct%2019%202023-7.png" alt="" style="width:1050.16px !important;height:423px !important;max-width:100% !important;"></span></p></div>
</div><div data-element-id="elm_8oFDAbHBDDk3L6t6OT7jWQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_8oFDAbHBDDk3L6t6OT7jWQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>This solution can be adapted to many different use cases and customized to fit many different applications and requirements.&nbsp; We are always eager to hear how you've used workflows and different actions within your organization.&nbsp; Please take a moment to comment or write us with your ideas.&nbsp; Also we are always available to help with any questions or needs you may have.&nbsp; Please let us know how we can help but clicking the button below.</p></div>
</div><div data-element-id="elm_WBATqKCtQfu1Gno_QmxWcw" data-element-type="button" class="zpelement zpelem-button "><style> [data-element-id="elm_WBATqKCtQfu1Gno_QmxWcw"].zpelem-button{ border-radius:1px; } </style><div class="zpbutton-container zpbutton-align-center "><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md zpbutton-style-none " href="/contact" target="_blank"><span class="zpbutton-content">Contact Us</span></a></div>
</div></div></div></div></div></div>]]></content:encoded><pubDate>Thu, 19 Oct 2023 17:54:39 -0600</pubDate></item><item><title><![CDATA[Create Record Action - Part 1]]></title><link>https://www.mavencloud.tech/blogs/post/create-record-action-part-1</link><description><![CDATA[<img align="left" hspace="5" src="https://www.mavencloud.tech/images/technology-7111760_1280.jpg"/>The Create Record action can be used to store data, create actionable reminders and many more meaningful process improvements for your organization.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_hczzP3MfSZKsAksh0b2W5Q" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm__hd5f4egTRmW6Jl3i9NrvQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_4Cri1K5pSkeLlAH_c7aSiw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_P9rg-pjgQdeAlJO0qxKyXA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_P9rg-pjgQdeAlJO0qxKyXA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">We are continuing through our deep dive into each workflow action Netsuite in this Workflows for Beginners Series.&nbsp; The next action to cover is the Create Record action.&nbsp; In previous posts we covered the Go to Record action which can be used in a similar fashion, but allows the user to interact with the record while also creating a new one at the same time.&nbsp; With the Create Record action you can simply create a new instance of a record type using both the normal triggers and also from the Item sublist on transactions.&nbsp; In this post we will cover the Create Record action when used within the normal context of a workflow and not the sublist action group.</p></div>
</div><div data-element-id="elm_qL0I8_dakfOR2k2Rd7wWLg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_qL0I8_dakfOR2k2Rd7wWLg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>The Create Record action can only be used with server based triggers to ensure that there is no data lost during the client interaction with the form.&nbsp; For more information on workflow triggers read our blog post on <a href="https://www.mgbcpro.com/blogs/post/workflow_triggers_eventtypes_context" title="Triggers, Contexts and Event Types" target="_blank" rel="">Triggers, Contexts and Event Types</a>.&nbsp; The Create Record action is also limited to only some of the Record Types, but not all.&nbsp; Most of the limitations revolve around transactions as those are more complicated to create so automating those is a little more difficult.&nbsp; However, almost any Custom Record, Entity Record or Activity record is available to be created which opens up a world of possibilities for customization and improved efficiency.</p><p>In this example we will pair a custom record with a scheduled workflow to store and manage Average Cost for items and how it changes over time.&nbsp; Average Costing in Netsuite is very helpful and easy to understand when it comes to your inventory value, however, it is a "moving target" as purchasing and sourcing changes over time.&nbsp; It is hard to know and understand how your costs have changed over time, so we can make a custom record to store this data and report on it later.</p><ul><li>To start first make a custom record that links to the Item Record and holds the Date and Current Average Cost.</li></ul><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2029%202023.png" alt="" style="width:1062.95px !important;height:453px !important;max-width:100% !important;"></span><br></p><ul><li><span style="color:inherit;">Next we need to make a Saved Search that will define all the items we want to track the Average Cost History for.&nbsp; You can add whatever criteria or Results columns you need to fit your business use case, but for our example we will only track Active items with the Average Costing method.</span></li></ul><div><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2029%202023-1.png" alt="" style="width:1040.23px !important;height:455px !important;max-width:100% !important;"></span><br></div>
<ul><li><span style="color:inherit;">Now we can create a workflow and set it to Scheduled.&nbsp; Also defining our Saved Search as the criteria.&nbsp; We will also create this average cost history every month on the 1st day of the month.</span></li></ul><div style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2029%202023-2.png" alt="" style="width:787.65px !important;height:506px !important;max-width:100% !important;"></span><br></div>
<ul><li style="text-align:left;">In our first state we can add the Create Record action</li></ul><div><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2029%202023-4.png" alt="" style="width:456.68px !important;height:282px !important;max-width:100% !important;">&nbsp; &nbsp;&nbsp;&nbsp;</span><img src="https://www.mavencloud.tech/Fri%20Sep%2029%202023-8.png" alt="" style="color:inherit;width:583.22px !important;height:249px !important;max-width:100% !important;"><br></div>
<div><br></div><ul><li>Because this is a Scheduled workflow we will use the Entry trigger so the custom record is created as soon as the Item enters the workflow</li></ul><div><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2029%202023-9.png" alt=""></span><br></div>
<div><span style="color:inherit;"><br></span></div><ul><li><span style="color:inherit;">In the parameters of the action we will define the following:</span></li><ul><li><span style="color:inherit;">What record type we want to create (ie. our new Item Average Cost History custom record)</span></li><li><span style="color:inherit;">The Item assigned to our new custom record (ie. the Current Item being processed)</span></li><li><span style="color:inherit;">The current date</span></li><li><span style="color:inherit;">The Average Cost of the Item being processed</span></li></ul></ul><div><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2029%202023-11.png" alt=""></span><br></div>
<div><span style="color:inherit;"><br></span></div><ul><li><span style="color:inherit;">Now when the workflow runs you can see the custom record is created automatically and attached to each respective Item.</span></li></ul><div><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2029%202023-12.png" alt=""></span><br></div>
<div><span style="color:inherit;">These records will generate automatically for you each month and then you can create a report based on this Item Cost History record that shows how costs change over time.&nbsp; You can even try to add fields to the custom record to automatically calculate % change, last average cost and anything else you would like to store on a monthly basis.</span></div>
</div></div><div data-element-id="elm_vwmpg39ExMNPnnNanioBkg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_vwmpg39ExMNPnnNanioBkg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>While this is just a simple example of how to use the Create Record action it can also be used in a more "real-time" sense by using an Event Based workflow instead of a scheduled workflow.&nbsp; You can add this action into approval workflows if you would like to capture approval history as a custom record.&nbsp; You can use the Create Record action to create a new custom record at ever state of the approval so you know who was the current user, the date/time and the status change at that time.&nbsp; This can store much needed information to help you review and track what happened to a record throughout the approval process.</p><p>There are many other uses and processes that can be improved by using this powerful action.&nbsp; What are some ideas or scenarios where you have used the Create Record action?&nbsp; Put your input and ideas into the comments, we love to get feedback and insights for other Netsuite users.</p></div>
</div></div></div></div></div></div>]]></content:encoded><pubDate>Fri, 29 Sep 2023 10:05:03 -0600</pubDate></item><item><title><![CDATA[Go to Page Action]]></title><link>https://www.mavencloud.tech/blogs/post/go-to-page-action1</link><description><![CDATA[The Go to Page action is quite a simple concept in NetSuite and performs almost exactly as you would think.&nbsp; You can insert this action into a wo ]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_AwYJvC_RRw6VUdeZElirqQ" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_c9QiAVfzTfCSG4aXd_WwUw" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_k5z1gtx9Qri5NsxdaMTxiA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_V8J4vCAERPams71PsL-NaA" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">The Go to Page action is quite a simple concept in NetSuite and performs almost exactly as you would think.&nbsp; You can insert this action into a workflow and redirect the user to a predefined page.&nbsp; A "page" is considered a saved List View, Report or Saved Search result that you have already setup in NetSuite.&nbsp; This can be useful in many cases where you would like the user to be redirected to a report or saved search after a record is created or updated.&nbsp;</p></div>
</div><div data-element-id="elm_qioVoIbA-A05sQb2LKFOCg" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_qioVoIbA-A05sQb2LKFOCg"] .zpimagetext-container figure img { width: 280px !important ; height: 280px !important ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_qioVoIbA-A05sQb2LKFOCg"] .zpimagetext-container figure img { width:280px ; height:280px ; } } @media (max-width: 767px) { [data-element-id="elm_qioVoIbA-A05sQb2LKFOCg"] .zpimagetext-container figure img { width:280px ; height:280px ; } } [data-element-id="elm_qioVoIbA-A05sQb2LKFOCg"].zpelem-imagetext{ background-color:#34495E; background-image:unset; border-radius:1px; } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-size-custom zpimage-tablet-fallback-custom zpimage-mobile-fallback-custom hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="https://www.mavencloud.tech/Go%20to%20URL_TILE.jpg" width="280" height="280" loading="lazy" size="custom" data-lightbox="true"></picture></span></figure><div class="zpimage-text zpimage-text-align-left " data-editor="true"><p><span style="color:rgb(255, 255, 255);">Unfortunately, while the navigation to different pages or search results is extremely useful in workflows, there is a limitation in that you cannot dynamically filter or modify the results using data from the current record.&nbsp; To overcome this limitation we've created the Go to URL custom action that you can easily install into your account.&nbsp; With our Go to URL action you can redirect the user to ANY URL either within NetSuite or to an External website.&nbsp; You can also define if the new page should open as a new tab or a pop-up window instead of just replacing the current window.&nbsp; Lastly, we've elevated this functionality by supporting URL parameters which can pre-populate form data, pre-filter search results or dynamically display different list data based on any criteria or data within the workflow.&nbsp; This function can be used to quickly enter new records and link them to your workflow while simultaneously filling in fields on the form so users won't have to copy and paste data.&nbsp; We've even successfully created simple "integrations" between NetSuite and other external systems if you understand URL parameters and how the external system leverages them.&nbsp; You can find out more information on this amazingly powerful action on our</span><a href="https://www.mgbc-store.com/products/474710/3628259000002015154" title="website" target="_blank" rel="">website</a><span style="color:rgb(255, 255, 255);">or</span><a href="mailto:info@mgbcpro.com?subject=Go%20to%20URL%20Action" title="email us" rel="nofollow noreferrer noopener">email us</a><span style="color:rgb(255, 255, 255);">if you have any questions.</span></p></div>
</div></div><div data-element-id="elm_Xy0MnBJGj1WdN7CDa1ygEQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_Xy0MnBJGj1WdN7CDa1ygEQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>Most of the Go to Page actions we've deployed over the years are just quickly linking reports and saved searches to other records so users don't have to remember the menu path for specific reports.&nbsp; For example, Finance teams have asked to provide a link or button on Customer records that would open up the A/R Aging report as that is a common workflow for their daily processes.&nbsp; To do so we can create a simple 2 state workflow on the Customer record.</p><p>In state 1 of your workflow add the Add Button action.&nbsp; (You can read through our article on the <a href="https://www.mgbcpro.com/blogs/post/add-button-action" title="Add Button" target="_blank" rel="">Add Button</a> action if you have more questions on how that works)</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2015%202023.png" alt=""></span><br></p><p><br></p><p>Then add a transition into State 2 that executes on button click.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2015%202023-1.png" alt=""></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">In State 2 we will add the Go to Page action.</span></p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2015%202023-2.png" alt="" style="width:406.5px !important;height:247px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:center;"><span style="color:inherit;"><br></span></p><p style="text-align:left;">Next we will use the Entry trigger as we only want the redirect to happen right when the button is clicked and not every time the record is loaded or edited.</p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2015%202023-3.png" alt=""></span><br></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Then we will select the A/R Aging page in the list</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2015%202023-4.png" alt="" style="width:1043.4399px !important;height:629px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Now the button appears on Customer records</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2015%202023-5.png" alt=""></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">And when clicked the user is taken to the native A/R Aging report.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2015%202023-6.png" alt=""></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Now one big issue is that this is just the A/R Aging Summary in whole, where many users would prefer to see the A/R Aging summary filtered to the exact customer that they click the button on.&nbsp; As stated above this is not possible with the native functionality and can be overcome by using our Go to URL action, but in this case the entire aging will have to do.&nbsp; But at least the user doesn't have to remember the menu path to get to this report and if you have customized the report you can link to the custom report instead of the standard one which can make navigation easier as custom reports sometimes get buried in the custom reports menu.</span></p></div>
</div><div data-element-id="elm_0QQpBrhiKOpU898Ut-75Fg" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_0QQpBrhiKOpU898Ut-75Fg"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>One trick you can use is you can create a custom center link that navigates you to almost any URL either internally to your NetSuite environment or externally.&nbsp; To do this first go to Customization &gt; Centers and Tabs &gt; Center Links</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2015%202023-7.png" alt=""></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Then in a new line enter a custom label for the link and the actual URL.&nbsp; This URL can be any external webpage, or any internal URL to NetSuite.&nbsp; We've seen accounts link to a new transaction record already in edit mode, or even documents stored in the file cabinet so there a lot of possibilities here with what you can add to these Center Links</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2015%202023-8.png" alt=""></span><span style="color:inherit;"><br></span></p><p>Now in our workflow we can add our new link as the Page to redirect to instead of the A/R Aging report.</p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2015%202023-9.png" alt="" style="width:645.24px !important;height:189px !important;max-width:100% !important;"></span><br></p></div>
</div><div data-element-id="elm_xLHSKnOOtoV6lrqL3hafAA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_xLHSKnOOtoV6lrqL3hafAA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>As a side note you can only use the Entry, Exit and After Submit triggers with this action.&nbsp; This is because you need the record to be saved to the database before redirecting away from it.&nbsp; If you were to use a Before Submit, or After Field Edit trigger then any new information you entered onto the record would be lost as you are redirected away by the workflow.&nbsp; Usually, if you are trying to give the user a button to click then the Entry trigger is best, but if you want to be redirected as the record is being saved then After Record Submit is best.&nbsp; If you have any more questions about workflows, how to leverage workflows in your account or any other customizations, please <a href="/contact" title="contact us" rel="">contact us</a> at anytime.</p></div>
</div></div></div></div></div></div>]]></content:encoded><pubDate>Fri, 15 Sep 2023 13:03:23 -0600</pubDate></item><item><title><![CDATA[Go to Record Action]]></title><link>https://www.mavencloud.tech/blogs/post/go-to-record-action</link><description><![CDATA[As we continue through our Workflows for Beginners series, we will now take a look at the Go to Record action.&nbsp; This action is quite versatile an ]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_oHxTCcM9RQytvDNgfHEq9w" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_2xFz4e8GTYyJuYJtSm9DgQ" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_112PzPWDTSyH61UxOrqHjA" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm__ZBlEmmCQbSJiex-Iozp0w" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm__ZBlEmmCQbSJiex-Iozp0w"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">As we continue through our Workflows for Beginners series, we will now take a look at the Go to Record action.&nbsp; This action is quite versatile and also VERY powerful, when it comes to directing users through a process.&nbsp; This action is one of the first that can help create or manage other records (besides the base record defined in your workflow configuration).&nbsp; There are limitations here, but overall this can be extremely helpful and provide a more advanced experience for users.</p></div>
</div><div data-element-id="elm_QntjqOaWxHNUFM-B4yt50Q" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_QntjqOaWxHNUFM-B4yt50Q"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>The Go to Record action essentially redirects a user to a new (or existing) record to continue their process or entry of data.&nbsp; This can be used to create a new instance of a record type and then "join" it to your current record, OR simply to navigate to an already joined record.&nbsp; For example, when entering an Estimate you select the Customer, this creates a "join" between the Customer and Transaction records as you are associating the Customer with that Estimate.&nbsp; Now you can use this "join" to redirect the user to the Customer record from your Estimate either automatically or by the click of a button depending on your use case.</p></div>
</div><div data-element-id="elm_ioCAg83ZJ0LdaBrU_MVyig" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_ioCAg83ZJ0LdaBrU_MVyig"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>The Go to Record action is limited to only 3 triggers;&nbsp;</p><ul><li>After Record Submit</li><li>Entry</li><li>Exit.&nbsp;&nbsp;</li></ul><p>This is because using another trigger with this action could result in loss of data.&nbsp; For example if you were to redirect to a new record Before Submit, then the data you entered on the current record would NOT be saved and therefore would be lost.&nbsp; In this regard, using After Submit circumvents this problem as the current record is fully submitted (or saved) to the database, then the user is redirected to the new record.&nbsp; Entry or Exit triggers mimic the functionality of Before Load or After Submit (depending on the context) and therefore are also safe to use.</p></div>
</div><div data-element-id="elm_GF1EYOz2vQVgu98SXXJvKA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_GF1EYOz2vQVgu98SXXJvKA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>For this example, we will use the very popular use case of entering a rejection reason within an approval workflow.&nbsp; It is a very common ask among NetSuite Admins and Developers to capture reasons when users are approving or rejecting transactions, however, there is not a lot of great solutions to this problem.&nbsp; One of the most common solutions is to create a custom record that you would use to hold the response from the user and use the Go to Record action to redirect the user to this record within the workflow.</p></div>
</div><div data-element-id="elm_Fhq5dHPzJb5guj-GZn5rcg" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_Fhq5dHPzJb5guj-GZn5rcg"] .zpimagetext-container figure img { width: 500px ; height: 319.44px ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_Fhq5dHPzJb5guj-GZn5rcg"] .zpimagetext-container figure img { width:500px ; height:319.44px ; } } @media (max-width: 767px) { [data-element-id="elm_Fhq5dHPzJb5guj-GZn5rcg"] .zpimagetext-container figure img { width:500px ; height:319.44px ; } } [data-element-id="elm_Fhq5dHPzJb5guj-GZn5rcg"].zpelem-imagetext{ background-color:#34495E; background-image:unset; border-radius:1px; } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-size-medium zpimage-tablet-fallback-medium zpimage-mobile-fallback-medium hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="https://www.mavencloud.tech/images/businessman-hand-holding-use-smartphone-with-new-email-alert-sign-icon-pop-up-to-send-or-read.jpg" width="500" height="319.44" loading="lazy" size="medium" data-lightbox="true"></picture></span></figure><div class="zpimage-text zpimage-text-align-left " data-editor="true"><p><span style="color:rgb(255, 255, 255);">As an alternative to the solution provided in this article, we have developed a versatile and powerful custom action that gives you as a NetSuite Admin the ability to capture responses from your users in the form of pop-up messaging.&nbsp; Our "Pop-up with User Input" action is able to be deployed in any workflow and upon any record type and produces a pop up window (in real-time) to the user requesting and input.&nbsp; Then records what they type into a field of your choice on the current record so their responses can be saved and recalled later when viewing the record of in saved searches and reports.&nbsp; This custom action can be deployed and setup within minutes so you can start using this amazing feature right away.&nbsp; Click <a href="https://www.mgbc-store.com/products/474707/3628259000002015003" title="here" target="_blank" rel="">here</a> to learn more information about this simple and incredibly useful tool, and take your workflows to the next level.</span></p></div>
</div></div><div data-element-id="elm_1sdKJVjGez4AuCyXG-D1_Q" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_1sdKJVjGez4AuCyXG-D1_Q"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>First we can start by creating a custom record called "Rejection Reason".&nbsp; On it we will put a Long Text field for "Response" and also a List/Record field for "Reason Code".&nbsp; Furthermore, we have a field to join this custom record to the Transaction it relates to so we can see the two linked together for future reference.&nbsp; Remember since this is a custom record you can add as many fields and features as you want to collect the necessary information needed for your business.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-3.png" alt=""></span><br></p><p><span style="color:inherit;"><br></span></p><p>The next step is to add this functionality into your existing approval workflow.&nbsp; (Or if you need help building an approval workflow you can start with our blog on "<a href="https://www.mgbcpro.com/blogs/post/build_your_first_workflow" title="Building your First Workflow" target="_blank" rel="">Building your First Workflow</a>".)&nbsp; In this example we will open up our Rejected state where we have set the Approval Status to "Rejected" and Locked the record so no one can change it anymore now that it is rejected.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-1.png" alt="" style="width:1060.5601px !important;height:450px !important;max-width:100% !important;"></span><br></p><p><br></p><p>Then lets add the Go to Record action here so the Approval Status is changed automatically, but the user is redirected to our new custom record.</p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-2.png" alt="" style="width:459px !important;height:229px !important;max-width:100% !important;"></span><br></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">As mentioned before you can only use this action with a few triggers, but since the user is clicking a button which is transitioning them to the Rejected state we will use the Entry trigger.&nbsp; This way when they click the button it will enter the new state and send them to the Rejection Reason record, however, it will NOT happen every time someone views the record, because it only triggers when it first enters the state. (Which is right after the button click.)</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-4.png" alt="" style="width:1057.55px !important;height:425px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">In the parameters of the action we will select our Record type.&nbsp; This is the Rejection Reason record we created in the first step.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-5.png" alt=""></span><span style="color:inherit;"><br></span></p><p style="text-align:left;">Now because we want the user to create a NEW instance of this Rejection reason we will mark the Open in Edit Mode box.&nbsp; This will load a brand new instance of the Rejection reason record and it will already be in Edit mode to save the user from having to click edit.</p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-6.png" alt=""></span><br></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">**As a side note here, if you want the user to be directed to an already existing record (like we mentioned in the very beginning of directing a user to the Customer record joined to an Estimate) then you would use the Record ID parameters to do so.&nbsp; To redirect the user to the Customer from an Estimate you would choose Customer as your record type, then Entity in the field.&nbsp; So the workflow would use the Entity field on the Estimate to know what record the user should be redirected to.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-7.png" alt="" style="width:1062.46px !important;height:282px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">However, since we do not want to go to an existing record, but instead create a NEW record we will leave the Record Type as "Rejection Reason" and the Open in Edit Mode = T.&nbsp;&nbsp;<br> Lastly, using the Field sublist we can pre-define values on the new record being created.&nbsp; For example, if you would like to provide a default value in the Response field on your Rejection Reason record, then you select Response in the Field sublist and then provide a value using either a field on the current record, a formula or a static value</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-8.png" alt=""></span><span style="color:inherit;"><br></span></p><p style="text-align:left;">In this case we want to make sure the Rejection Reason record is associated with the current transaction we are rejecting so we will set the Related Record field to be "Current Record"</p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-9.png" alt=""></span><br></p><p style="text-align:left;">Now the Rejection Reason record the user creates will be automatically associated with the Transaction they were viewing when clicking "Reject".&nbsp; Also note that the Response and Reason Code fields are mandatory so the user cannot navigate away from this Rejection Reason without providing a value.</p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-10.png" alt=""></span><br></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Also once the response is saved you can see it attached to the Transaction under the subtab you selected with configuring your custom record.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-11.png" alt=""></span><span style="color:inherit;"><br></span></p></div>
</div><div data-element-id="elm_ohYJv5FwIgbze3yKSCSqtw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_ohYJv5FwIgbze3yKSCSqtw"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>You can also pair this with a workflow you've created on the Rejection Reason record with another Go to Record action so the user is redirected back to the Transaction using an After Record Submit trigger.&nbsp; This way after their response is recorded they are sent back to the original transaction they were working on.&nbsp; Here is the setup for that workflow action.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-13.png" alt="" style="width:1059.92px !important;height:421px !important;max-width:100% !important;"></span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Fri%20Sep%2008%202023-12.png" alt=""></span></p></div>
</div><div data-element-id="elm_HWTwsd2rnEKqsoDXVE1OiA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_HWTwsd2rnEKqsoDXVE1OiA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>While you can see that this solution is not ideal as there are a few potential places for the user to circumvent the process by closing a window too soon or a timeout from NetSuite.&nbsp; Also, the user experience is a little clunky while still maintaining the overall objective.&nbsp; But most of the time this solution is widely accepted and does provide a great example of how to capture responses in NetSuite without having to write any scripting.&nbsp; As mentioned above our simple utility for capturing user input can be easily deployed to your account and used within any workflow or any record.&nbsp; Check out this quick video on our <a href="https://youtu.be/wtf6qdu5Cjs?si=ij8Xcb-4NmpqaOXn" title="Pop-up with User Input " target="_blank" rel="nofollow noreferrer noopener">Pop-up with User Input </a>action.</p><p>If you would like more tips and tricks on how to optimize your NetSuite environment with workflows, automation and customizations then follow our blog or check back often.&nbsp; We are also available to help design, implement and/or troubleshoot any customization at any level.&nbsp; Just <a href="mailto:info@mgbcpro.com" title="reach out" rel="nofollow noreferrer noopener">reach out</a> to us with questions and insights on how we can help your business grow!</p></div>
</div></div></div></div></div></div>]]></content:encoded><pubDate>Fri, 08 Sep 2023 11:36:20 -0600</pubDate></item><item><title><![CDATA[Send Emails to Dynamic Recipient Lists]]></title><link>https://www.mavencloud.tech/blogs/post/send-emails-to-dynamic-recipient-lists</link><description><![CDATA[Combine the power of saved searches, custom fields and workflows to elevate your communication with your Customers and Vendors!]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_5X1n4_srSVaJZcVagQ_nTQ" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm__-b13W4HRF-lEXKOeNTdbg" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_LKq5KuyIT365TA4cXlM6Yw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_JYlwrb_gQbSx1g9Qhx-U4A" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_JYlwrb_gQbSx1g9Qhx-U4A"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">One of the most common frustrations or complaints we receive in NetSuite is that native email functionality send emails to the main "E-mail" field on entity records.&nbsp; And the main E-mail field cannot hold more than 1 email address.&nbsp; This is very limiting to businesses as usually there are many different contact points in an organization that would want to be notified about different events with orders or transactions.&nbsp; This limitation can be somewhat overcome with workflows using the Send Email action as you have more flexibility in the parameters of the action to send emails to multiple recipients.&nbsp; There are a few "hacks" that work fairly well to give users the ability to add multiple email addresses on to Customer or Vendor records and then send emails to them, but most include adding a few different email address fields onto the entity record for different departments within the organization.&nbsp; You can also create an Email Address custom field and add it to the workflow, then change the field type to Free Text which will then allow you to add multiple comma separated addresses into the field, but yet still be used in a workflow.&nbsp; All of these are good options but can sometimes pose a problem of form clutter or workflow maintenance.</p></div>
</div><div data-element-id="elm_NyN6FC-UNSOOk3CbpDeRXQ" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> @media (min-width: 992px) { [data-element-id="elm_NyN6FC-UNSOOk3CbpDeRXQ"] .zpimagetext-container figure img { width: 500px ; height: 313.73px ; } } @media (max-width: 991px) and (min-width: 768px) { [data-element-id="elm_NyN6FC-UNSOOk3CbpDeRXQ"] .zpimagetext-container figure img { width:500px ; height:313.73px ; } } @media (max-width: 767px) { [data-element-id="elm_NyN6FC-UNSOOk3CbpDeRXQ"] .zpimagetext-container figure img { width:500px ; height:313.73px ; } } [data-element-id="elm_NyN6FC-UNSOOk3CbpDeRXQ"].zpelem-imagetext{ background-color:#34495E; background-image:unset; border-radius:1px; } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-size-medium zpimage-tablet-fallback-medium zpimage-mobile-fallback-medium hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="https://www.mavencloud.tech/images/email-marketing-concept-1.jpg" width="500" height="313.73" loading="lazy" size="medium" data-lightbox="true"></picture></span></figure><div class="zpimage-text zpimage-text-align-left " data-editor="true"><p><span style="color:rgb(255, 255, 255);">NetSuite custom fields are configured with a predefined "data type" so data can be easily validated while users are entering it.&nbsp; For example, if you select Integer Number then only integers can be entered into the field vs. selecting Decimal Number which allows decimals.&nbsp; One field type is Email Address which validates that the entered text is at least in the format of a valid email address.&nbsp; It also limits the user to only entering one email address.&nbsp; Alternatively, a Free Text field will allow any text so users can leverage this field type to enter multiple email addresses separated by a comma or semi-colon.&nbsp; Switching between these field types can provide different functionality in different situations so it is good to know which field type you need while first configuring your custom field.&nbsp; It is also very important because when you change field types ALL data entered into that field is erased so be sure to backup your data in an Excel file or by other means before changing field types.</span></p></div>
</div></div><div data-element-id="elm_nDh4ymsv6GS-AxzWc6ZR8g" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_nDh4ymsv6GS-AxzWc6ZR8g"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>One great trick we've deployed many times is to combine the power of saved searches with workflows to get an easy to manage system for adding, removing and changing the recipients for emails.&nbsp; This customization is fairly easy to setup and leverages many native features so you know it will remain stable throughout future releases.</p><p>The idea here is to use the Contact records associated with the entity to keep an up to date list of contacts and what transactions they want to be notified of.&nbsp; To start we will create a custom list called "Email Group".&nbsp; This will help us categorize contacts into logical groups for sending emails.&nbsp; (You can also leverage the native "Role" field on contacts for this as well if you prefer).</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023.png" alt="" style="width:1051.8px !important;height:405px !important;max-width:100% !important;"></span><br></p><p><br></p><p>Next we will create a custom field on the contact record that we can use to select what group each contact should be a part of.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-2.png" alt=""></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Now we can add our contacts associated with our customer and assign them the proper email group</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-3.png" alt="" style="width:1054.5px !important;height:340px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">The next step is to create a saved search of contacts and make it a summary search so we can use it to source the value of the transaction body field.&nbsp; In the criteria we want to exclude Inactive contacts, but include contacts with the Order Notifications email group.</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-4.png" alt="" style="width:1038.64px !important;height:463px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Then our results tab will include one summarized field using the NS_CONCAT function.&nbsp; This will concatenate all the results of the search into a single comma separated field value.</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-5.png" alt="" style="width:1056.8px !important;height:480px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Lastly, don't forget to give your saved search a filter so the system knows how to filter the results to get only the contacts applied to the correct company/customer.</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-6.png" alt="" style="width:1046.15px !important;height:395px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Now let's create a custom Transaction Body field that will hold the results of our saved search.&nbsp; Make sure to UNCHECK the store value checkbox so the value is dynamically sourced whenever the record is loaded.&nbsp; We used a Long Text field type just in case there were a lot of unique email addresses to be notified.</span></p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-8.png" alt="" style="width:1028.2px !important;height:540px !important;max-width:100% !important;"></span><br></p><p><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Also we need to define the saved search we created in the Validation &amp; Defaulting subtab.&nbsp; Remember to choose what field on the transaction should be used to filter your results.&nbsp; Since the Available Filter in your saved search was based on the Customer field, we should choose the same field in our custom field configuration</span></p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-9.png" alt="" style="width:656.8px !important;height:313px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:center;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Now our Sales Order form will dynamically source ALL email addresses that are tagged with the "Order Notifications" email group.&nbsp; And these addresses will automatically be filtered to only the contacts associated with the Customer defined on the transaction.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-10.png" alt="" style="width:1055.2px !important;height:357px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Then in your workflow you can add a Send Email action and assign the new transaction body field as part of the </span>recipients<span style="color:inherit;">.&nbsp; Note how we are using the CC Address parameter within the action and using the field ID of our new transaction body field to define the addresses to be copied.&nbsp; This is a great way to circumvent the restrictions placed on trying to select a field from the list in the From Field parameter.&nbsp; We have tested using this method in the Free Form Address field and the workflow will return an error.&nbsp; However, using the field ID in either the CC or BCC fields seems to work just fine</span><span style="color:inherit;">.</span></p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-15.png" alt="" style="width:455.32px !important;height:312px !important;max-width:100% !important;"></span><br></p><p style="text-align:left;"><span style="color:inherit;">Since an email does require a Primary </span>Recipient<span style="color:inherit;">&nbsp;you do need to define a recipient in one of the fields other than the CC or BCC.&nbsp; You can use a native field as pictured above OR you can put in a static address of purchaseorders@mycompany.com.&nbsp; This way all communication emailed out of NetSuite is stored in a shared inbox for your company to review if needed.</span></p></div>
</div><div data-element-id="elm_J-crP4RBqnD02vZvvQxk7Q" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_J-crP4RBqnD02vZvvQxk7Q"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>The power of this functionality comes with the ease of maintenance for our users.&nbsp; For instance if Curtis Johnson were to leave the company and we need to add a new contact, it is as simple as managing the native Contact list on our Customer record.&nbsp; Curtis Johnson can be inactived and a new contact created with the same email group.&nbsp; Or if the accounting team wants to be made aware of new orders place, then they can easily receive the "Order Notifications" tag.</p><p><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-13.png" alt="" style="color:inherit;width:1052.05px !important;height:293px !important;max-width:100% !important;"></p><p><br></p><p>Now when the next order is placed they will all be notified via email.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Tue%20Aug%2015%202023-14.png" alt="" style="width:1051.64px !important;height:344px !important;max-width:100% !important;"></span><br></p><p><br></p></div>
</div><div data-element-id="elm_HPFq33AjXLIgg1efpsa0wA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_HPFq33AjXLIgg1efpsa0wA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>If you would like to learn more about the Send Email action you can read our <a href="https://www.mgbcpro.com/blogs/post/Send-Email-Action" title="blog post" target="_blank" rel="">blog post</a> specifically on this topic.&nbsp; Also if you would like help with or have questions about leveraging the customizability of NetSuite to build no-code automation in your environment please <a href="mailto:info@mgbcpro.com" title="reach" rel="nofollow noreferrer">reach</a> out.</p></div>
</div></div></div></div></div></div>]]></content:encoded><pubDate>Tue, 15 Aug 2023 10:19:29 -0600</pubDate></item><item><title><![CDATA[Set Field Value Action - Part 3]]></title><link>https://www.mavencloud.tech/blogs/post/Set-Field-Value-Action-Part-3</link><description><![CDATA[Read through part 3 on the Set Field Value Action from our Workflow's for Beginners Series.]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_qPPD1muzSha4MSvX_9Ywrg" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_oIBeXSmoTPm_Y4O8qVyCSA" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_aMvoVUHKTw6sxhigP_ofsw" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_MjUdglgmR52TCCZvY-Iv1w" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_MjUdglgmR52TCCZvY-Iv1w"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">So far we've discussed the Set Field Value Action in great detail as this is probably the most commonly used action in SuiteFlow.&nbsp; It is possibly the easiest action to understand and configure, while simultaneously being the most applicable when it comes to business use cases.&nbsp; Our last two articles on the Set Field Value Action covered both the <a href="https://www.mgbcpro.com/blogs/post/Set-Field-Value-Action" title="general configuration and usage" target="_blank" rel="">general configuration and usage</a> of the action as well as it's application within <a href="https://www.mgbcpro.com/blogs/post/set-field-value-action-part-2" title="sublist fields" target="_blank" rel="">sublist fields</a> on transaction records.&nbsp; This article will extend our discussion on sublist fields by combining it with the use of Client Triggers.</p><p style="text-align:left;">For those that don't know, Client Triggers are actions triggered because of things the user is doing to the record while it is in "edit" mode.&nbsp; If you would like to learn more about workflow Triggers, Event Types and Contexts read through our <a href="https://www.mgbcpro.com/blogs/post/workflow_triggers_eventtypes_context" title="blog post" target="_blank" rel="">blog post</a> dedicated to this subject.</p></div>
</div><div data-element-id="elm_bXB4P4TrXaLlYgVkR8YFfA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_bXB4P4TrXaLlYgVkR8YFfA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>For a quick review on Client Triggers they are the following:</p><ul><li>Before User Edit</li><li>Before Field Edit</li><li>After Field Edit</li><li>After Field Sourcing</li><li>Before User Submit</li></ul><div> All of these triggers occur AFTER the record is loaded from the database and WHILE the user is interacting with fields on the record.&nbsp; They also occur BEFORE the record is saved to the database with any new data that has been entered.&nbsp; Different actions taken by the user can trigger different actions within the workflow depending on the trigger used and condition of the action. </div>
</div></div><div data-element-id="elm_BmYxr1zHANIUmxnzZWxZvQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_BmYxr1zHANIUmxnzZWxZvQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>As stated before, the ability to be able to manipulate sublist fields within the Items sublist on transactions was a HUGE leap forward for workflows and their application within your NetSuite environment.&nbsp; This also opened up a whole world of possibilities for Administrators and Functional Consultants working with NetSuite as before they needed to depend on development resources to do anything more than just header level fields.&nbsp; One of the little know features of the Set Field Value action is that Client Triggers can help to manipulate sublist fields while the user is entering lines into the Items sublist.</p><p>One great example of this is if you have minimum order quantity for an item that needs to be regarded when ordering items.&nbsp; With a workflow we can set the quantity of a line on a purchase order based on a custom field from the Item Record, to make sure our purchasing team is maintaining our vendor relationships properly.</p></div>
</div><div data-element-id="elm_G0psx5h8Uz_h9egbQgEL3g" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_G0psx5h8Uz_h9egbQgEL3g"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>First let's start by adding a custom field to our Item Record called Item MOQ that we will use to capture the minimum quantity to be ordered.</p><p><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Aug%2013%202023-7.png" alt="" style="width:1055.2px !important;height:357px !important;max-width:100% !important;"></span><br></p><p><span style="color:inherit;"><br></span></p><p><br></p><p style="text-align:left;">Now create a workflow on the Purchase Order record. In the first state of your workflow add a Set Field Value Action.</p><p style="text-align:center;"><img src="https://www.mavencloud.tech/Sun%20Aug%2013%202023-2.png" alt="" style="color:inherit;width:428.75px !important;height:132px !important;max-width:100% !important;"></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Now set the Trigger to any After Field Edit as we want to update the Quantity field after a user sets the Item field.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Aug%2013%202023-8.png" alt="" style="width:1062.29px !important;height:414px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Now here's where the trick is.&nbsp; Most people miss this little step in Workflow setups, but under the Triggering Client Fields you can select either a Body or a Sublist field as the trigger.&nbsp; That means when the field selected is Edited it will trigger the action to execute as long as the Condition is met.&nbsp; Without this Trigger Client Field set the workflow does not know which field to "watch" to know when to fire the action.&nbsp; In our example, we will choose the Item (Line) field because we want the Quantity on the line item to be updated after the Item is selected.<br> NOTE - When you change the Triggering Client Fields to Sublist you must select which sublist and this will reset your conditions.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Aug%2013%202023-9.png" alt=""></span><span style="color:inherit;"><br></span></p><p style="text-align:left;"><br></p><p style="text-align:left;"><span style="color:inherit;"><br></span></p><p style="text-align:left;"><span style="color:inherit;">Now that we have our general configuration complete, let's setup our parameters.&nbsp; First select the Quantity (Line) field which is going to be the field we want set by our workflow.&nbsp; Then using the Item (Line) Join we can get our new Item MOQ from the Item Record.</span></p><p style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Aug%2013%202023-10.png" alt="" style="width:1057.15px !important;height:412px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></p><p><span style="color:inherit;">Now we can save our workflow and test out the functionality.&nbsp; Remember to turn on workflow logging for your testing period to review any errors or skipped actions for troubleshooting.&nbsp; If you have any questions about workflow logging, learn how to properly manage workflow instance and history logs in our <a href="https://www.mgbcpro.com/blogs/post/workflow-instance-history-and-logging" title="blog post" target="_blank" rel="">blog post</a>.&nbsp; We can see that when entering a purchase order for our item the quantity field is updated to match the MOQ when the new item is selected on the line.&nbsp; However, for other items the quantity is NOT changed.</span></p><p style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Aug%2013%202023-14.png" alt="" style="width:724.2px !important;height:273px !important;max-width:100% !important;"></span></p></div>
</div><div data-element-id="elm_FcxQd7msX_5APt4xAX69yQ" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_FcxQd7msX_5APt4xAX69yQ"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>If you have any questions about workflows or need help implementing these features in your NetSuite environment please <a href="mailto:info@mgbcpro.com" title="reach out" rel="">reach out</a> and we would be happy to help you through any obstacle or provide advice on how workflows can transform your business.</p></div>
</div><div data-element-id="elm_z0Gb8knHPDrRvW6-ykGMnA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_z0Gb8knHPDrRvW6-ykGMnA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p><br></p></div>
</div></div></div></div></div></div>]]></content:encoded><pubDate>Sun, 13 Aug 2023 19:32:15 -0600</pubDate></item><item><title><![CDATA[Set Field Value Action - Part 2]]></title><link>https://www.mavencloud.tech/blogs/post/set-field-value-action-part-2</link><description><![CDATA[Part 2 of our deep dive into the Set Field Value Action is specifically on the sublist action group that has the Set Field Value Action as part of it's functionality]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_XIhl0cjWS4yu7mOEfXrs9Q" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_I89sougjSGasq6-TFcIjsg" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_l-7t0HPKRGKnmEdRXL9v1w" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_l-7t0HPKRGKnmEdRXL9v1w"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_KrxclRXZSEq4saZAOZkUdw" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_KrxclRXZSEq4saZAOZkUdw"].zpelem-heading { border-radius:1px; } </style><h2 class="zpheading zpheading-align-center " data-editor="true">Sublist Action Group</h2></div>
<div data-element-id="elm_6KoSsfOoQleJyBJ-wnbUxA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_6KoSsfOoQleJyBJ-wnbUxA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-center " data-editor="true"><p style="text-align:left;">The sublist action group was a awesome enhancement to SuiteFlow as it opened up the world of sublist fields to workflows.&nbsp; With a sublist action group you can now perform actions on fields within the sublist of a transaction.&nbsp; Right now the sublist action group has some pretty heavy limitations, however, the few actions it does support are a huge leap forward for workflow functionality.&nbsp; Currently, the sublist action group can only be created for the "items" sublist.&nbsp; So if a transaction does not include an "items" sublist a sublist action group cannot be used.&nbsp; The most common transactions in this category are:</p><ul><li style="text-align:left;">Estimate</li><li style="text-align:left;">Sales Order</li><li style="text-align:left;">Item Fulfillment</li><li style="text-align:left;">Invoice</li><li style="text-align:left;">Return Authorization</li><li style="text-align:left;">Purchase Order</li><li style="text-align:left;">Item Receipt</li><li style="text-align:left;">Vendor Bill</li></ul><div style="text-align:left;"> The next limitation with sublist action groups is that they only support 4 actions currently: </div>
<div style="text-align:left;"><ul><li style="text-align:left;">Create Record</li><li style="text-align:left;">Return User Error</li><li style="text-align:left;">Send Email</li><li style="text-align:left;">Set Field Value</li></ul><div> The most commonly used action here is the Set Field Value action.&nbsp; To begin first we need to add a Sublist Action Group to our workflow.&nbsp; This is very similar to a regular Workflow Action Group but instead of just grouping actions with common conditions together for easier maintenance, this sublist action group performs actions on the Items sublist according to the conditions and trigger defined.&nbsp; I sublist action group will only be initiated when the condition of the group is met and the trigger is activated.&nbsp; If you have no condition then the sublist action group will be initiated everytime.&nbsp; Furthermore, every line within the Items sublist will be considered for any actions within the sublist action group however, each action can have it's own condition so they may only execute on certain lines.&nbsp; Also a sublist action group can only have 1 trigger so all actions within the group will fire on the same trigger.&nbsp; If you need different actions to be executed on different triggers then you would need to make multiple sublist action groups to accomplish this. </div>
<div> To add a sublist action group click on the New Sublist Group button<img src="https://www.mavencloud.tech/Sun%20Aug%2006%202023-2.png" alt="" style="color:inherit;"><span style="color:inherit;">Then define the trigger, context, event types and condition for this group.&nbsp; Remember, the sublist group will only be activated if the trigger, context, event types and conditions are all met.&nbsp; Then once met all actions in the sublist group will be considered based on each individual line and each actions individual condition(s)</span></div>
<div><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Aug%2006%202023-3.png" alt=""></span><br></div>
<div><span style="color:inherit;"><br></span></div><div><span style="color:inherit;">Also remember to define what sublist to perform actions on in the parameters section.</span></div>
<div style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Aug%2006%202023-4.png" alt="" style="width:616.26px !important;height:155px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></div>
<div style="text-align:left;"><span style="color:inherit;"><br></span></div><div style="text-align:left;"><span style="color:inherit;">Once you save your sublist action group we can begin to add actions to it.&nbsp; Open the sublist action group then click New Action</span></div>
<div style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Aug%2006%202023-5.png" alt=""></span><span style="color:inherit;"><br></span></div>
<div style="text-align:left;"><span style="color:inherit;"><br></span></div><div style="text-align:left;"><span style="color:inherit;">Select Set Field Value from the list</span></div>
<div style="text-align:center;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Aug%2006%202023-6.png" alt="" style="width:544.94px !important;height:143px !important;max-width:100% !important;"></span><span style="color:inherit;"><br></span></div>
<div style="text-align:left;"><span style="color:inherit;">In our example today we will set the department field on purchase order lines to "Operations" if the line item contains a Freight item.&nbsp; This way when the vendor bill is entered the proper coding is already setup for Freight charges and the A/P team does not have to remember to do it.</span></div>
<div style="text-align:left;"><span style="color:inherit;"><img src="https://www.mavencloud.tech/Sun%20Aug%2006%202023-7.png" alt=""></span><br></div>
<div style="text-align:left;"><span style="color:inherit;"><br></span></div><div style="text-align:left;"><span style="color:inherit;">Now any line set to the "Freight Charges" item will get the correct department and any line NOT set to that item will be skipped in the workflow so the user can set the correct department as necessary.</span></div>
</div></div></div><div data-element-id="elm_C3o-QeNlYI0-Ovpxp6A1dA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_C3o-QeNlYI0-Ovpxp6A1dA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p>There is much more you can do with sublist action groups, but you can see that just setting field values dynamically within the items sublist can be VERY helpful to maintaining accurate data and cut down on the time spent entering data into forms.&nbsp; &nbsp;Remember that when using sublist action groups all actions within the group are constrained by the configuration of the overall group so whatever trigger and even type you set on the overall group, be sure that it is applicable to all actions, or you will need to setup another action group for a different trigger.</p><p>If you would like to learn more about workflows, or how NetSuite in general can support your business feel free to reach out anytime.&nbsp; We can support any customization, implementation or training for your environment.</p></div>
</div><div data-element-id="elm_wOfywj87QsSDamNR5QOaPw" data-element-type="button" class="zpelement zpelem-button "><style></style><div class="zpbutton-container zpbutton-align-center "><style type="text/css"></style><a class="zpbutton-wrapper zpbutton zpbutton-type-primary zpbutton-size-md " href="javascript:;" target="_blank"><span class="zpbutton-content">Get Started Now</span></a></div>
</div></div></div></div></div></div>]]></content:encoded><pubDate>Sun, 06 Aug 2023 18:02:50 -0600</pubDate></item></channel></rss>