NetSuite Workflows – The Basics
NetSuite workflows are a powerful yet difficult part of NetSuite’s cloud software to master. This page covers some of the basics of creating and implementing a basic workflow.
A workflow is an automated process that runs in the background of NetSuite. Found under customization, workflows run on specific records of your choosing. They run in two ways:
- Event Based – when a record is created, viewed, edited, etc.
- Schedule Based – by use of a saved search, run on a schedule you set up (every 30 minutes, daily, etc.)
The first step in creating your workflow is to give it a name, ID, and select the record type you want the process to happen on. For my example, we wanted to automatically create a “Cash Sale” for all Amazon-based orders as they were created.
Notes on Amazon Orders: we use a connector to import orders from Amazon into NetSuite. The connector creates the customer entry (if a new customer) and the sales order. Amazon captures and processes the payment.
For my workflow I chose “transactions” for RECORD TYPE and “sales order” for the SUB TYPE. I gave it a NAME and ID but kept the workflow in test mode (running as admin).
By choosing sales orders, your workflow would run on all of these transactions which is not what we want. So instead, you need to choose some criteria in CONDITIONS. Conditions pops up a new box of options. Under this, I was able to choose the correct field, in this case Payment Method, that shows “Amazon”.
Whatever your criteria, conditions is where you can drill down to only the records you want the workflow to run on. Note that not all fields will be available. Using custom fields to help designate specific records can be useful here.
Event Initiation and Definition
For my example, I am using an event based workflow. This is because I want the workflow to run each time a new sales order is created that meets the criteria. So I chose event based initiation, ON CREATE. Then, for TRIGGER TYPE I chose “after record submit” and the EVENT TYPE as “Create”. These options mean that when a sales order is created, after it is submitted, then run the workflow.
A scheduled workflow initiation uses a SAVED SEARCH FILTER and works similar to conditions. First, you set up a saved search with the criteria you want to use. Next, you select the saved search as the filter and lastly how often you want the workflow to repeat.
I often use scheduled workflows when I want to run actions on records that have already been created. An example here is to automatically send an email for invoices that are so many days late or reminders to customers who have not ordered within so many months.
Setting Up Your States
NetSuite workflows use workflow states to set up various actions. There are a large number of actions you can choose from, but for my example I am using the action “transform record”. This action creates a new record type, in my case a “Cash Sale”. You can also write to fields on the new record as this record is created.
You can also set up extra states that may process on different order types. To keep this example simple, this is the only state I created.
Some other common actions I use are “Set Field Value” and “Send Email”. Setting field values with a workflow comes in handy when you want to populate custom fields with data. Some fields will not be available and are especially dependent on the record type you are using.
Transitions, while not used in my example, are a way to run conditions on NetSuite workflows to decide what state to use. You need more than 1 state in your workflow to use a transition. Create the transition on a “higher level” state. Then select the condition to check and the state to “transition” to if that condition is met.
Multi-state workflows and transitions are used in complex workflows or in situations where you have similar processes but want to keep your workflow organized. For example, if you have a situation where two types of customers are sent two separate messages, you could create a single workflow with two similar states. Then if you want to add a third type you can add a third state to your workflow.
Testing and Releasing
The final step to your workflow is to test it. You can execute a workflow in test mode. Make sure the enable logging checkbox is checked. I also like to test a workflow on a test customer, transaction, etc. You can do this by setting your criteria to match only that specific record and then update after testing.
Once you are happy with your testing, simple change the RELEASE STATUS to released and save the workflow. I like to keep the logging checkbox marked because they you can check records under SYSTEM INFORMATION and see the log after the workflow runs.
This example is for basic NetSuite workflows. It covers in really simple terms the use of conditions, states, and transitions. There are thousands upon thousands of ways to set up and run your workflows. The details depend on the business process you want to accomplish.
If you need help setting up a workflow, please contact me and I’d be happy to help!
This is part of a series of articles on NetSuite.