NetSuiteFree referencePDF, Excel, Word exportNetSuiteAll NetSuite tools

NetSuite SuiteFlow Workflow Action Types Reference

A lookup of every SuiteFlow workflow action in NetSuite with the triggers it supports, its default trigger and what to watch for. Use it when designing approval, locking and notification workflows.

Download:
ActionWhat it doesServer or clientSupported triggers (default in brackets)Key parametersTypical useGotcha
Add Button
Adds a button to the record form
Server
On Entry, Before Record Load (default)
Label, Save record first
Approve and Reject buttons on a vendor bill approval state
A button does nothing by itself: add a transition triggered by that button.
Confirm
Shows a confirmation dialog with OK and Cancel
Client
Before Field Edit, Before User Submit (default)
Message text
Confirm before saving an order over a credit limit
Client only: never runs for CSV import, web services or scripts.
Create Line
Adds a line to a sublist on the record
Server
On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled
Sublist, field values for the new line
Add a handling charge line to qualifying orders
Check sublist and field support for your record type before relying on it.
Create Record
Creates a new record of another type
Server
On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled
Record type, field values, store result in field
Create a task or phone call when an order goes on hold
Running it on Before Record Load creates a record every time the form loads.
Go To Page
Sends the user to another NetSuite page
Server
On Entry, After Record Submit (default)
Target page
Return the user to a dashboard after approval
Only meaningful in the UI; no user means no redirect.
Go To Record
Opens another record after save
Server
On Entry, After Record Submit (default)
Record type, record (field or specific), open in edit mode
Open the related item fulfillment after approving an order
UI only, like Go To Page.
Initiate Workflow
Starts another workflow on the current record
Server
On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled
Workflow, workflow field values
Hand off to a separate notification workflow
Watch for loops where workflows start each other.
Lock Record
Prevents users from editing the record while in the state
Server
On Entry, Before Record Load (default)
Condition only
Lock a vendor bill after final approval
Lock lasts only while the record is in that state; put it in the final state.
Remove Button
Hides a standard button on the form
Server
On Entry, Before Record Load (default)
Button to remove (for example Edit, Approve)
Remove the standard Approve button so only the workflow can approve
Hides the button only; other paths such as list edit may still change the record.
Return User Error
Stops the action with an error message
Server and client
Server: On Entry, Before Record Load, Before Record Submit (default). Client: Before User Edit, Before Field Edit, After Field Edit, After Field Sourcing, Before User Submit
Error text
Block saving a PO without a department
On Before Record Submit it blocks every context, including CSV import and integrations.
Send Campaign Email
Sends a campaign email to a recipient
Server
On Entry (default), After Record Submit, Scheduled
Campaign event, recipient field
Lead nurture message when a lead reaches a status
Needs Marketing Automation and a campaign event set up.
Send Email
Sends an email
Server
On Entry (default), After Record Submit, Scheduled
Sender, recipient, subject and body or template, include record link
Notify the approver that a bill waits for approval
Use After Record Submit for change notices so mail is not sent for a failed save.
Set Field Display Label
Changes a field label on the form
Server and client
Server: On Entry, Before Record Load (default). Client: Before User Edit, Before Field Edit, After Field Edit, After Field Sourcing
Field, new label
Rename a field per state, such as Requested Date
Form display only; the field id does not change.
Set Field Display Type
Changes how a field shows on the form
Server and client
Server: On Entry, Before Record Load (default). Client: Before User Edit, Before Field Edit, After Field Edit, After Field Sourcing
Field, display type (for example inline, hidden, disabled)
Make amount read-only after approval
UI only; integrations can still set the field.
Set Field Mandatory
Makes a field mandatory on the form
Server and client
Server: On Entry, Before Record Load (default). Client: Before User Edit, Before Field Edit, After Field Edit, After Field Sourcing
Field, mandatory flag
Require a reason code before rejecting
Enforced in the form; use Return User Error on Before Record Submit to enforce everywhere.
Set Field Value
Sets a field to a static value, another field or a formula
Server and client
On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled; client: Before User Edit, Before Field Edit, After Field Edit, After Field Sourcing, Before User Submit
Field, value source (static, field, formula)
Stamp approver and approval date
On After Record Submit NetSuite has to save the record again; prefer Before Record Submit.
Show Message
Shows an alert to the user
Client
Before User Edit (default), Before Field Edit, After Field Edit, After Field Sourcing
Message text
Warn that the customer is on credit hold
Information only; does not stop the save.
Subscribe To Record
Subscribes a user to changes on the record
Server
On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled
Subscriber (field or specific user)
Keep the sales rep informed about a case
Recipients still need access to the record.
Transform Record
Creates a record from the current one, like a standard transform
Server
On Entry, After Record Submit, Scheduled
Target record type, go to record after transform, store result in field
Bill a sales order automatically after approval
Only transforms NetSuite supports for the record type, such as sales order to invoice.
Custom Action
Runs a workflow action script
Server
On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled
Workflow action script, parameters, store result in field
Logic SuiteFlow cannot express, such as a SuiteQL lookup
Script governance applies; the script record and deployment must exist first.

Action names follow Oracle help 'Workflow Actions Overview'; triggers follow the 'Workflow Triggers Quick Reference' table. Client triggers run only while a user works in the record form. Supported triggers can change by release, so check the action's help page for yours.

Workflow not firing the way you expect?

Send us the states, actions and triggers and we will point out the trigger or context that blocks it.

Optional. The tool and every export work without this. No spam.

Was this tool useful?

How to use it

Find the action, then read the supported triggers column before you add it to a state. The default trigger, shown in brackets, is what NetSuite preselects when you create the action. Server actions run on record events (load, submit, after submit), on state entry or on a schedule; client actions run in the browser as the user edits the form. Some actions, like Set Field Value and Return User Error, work both ways, which is why the same action can behave differently in the UI and in an integration.

  • Form changes: Set Field Display Type, Set Field Display Label, Set Field Mandatory, Add or Remove Button
  • Validation: Return User Error, Confirm
  • Data: Set Field Value, Create Record, Create Line, Transform Record
  • Notifications: Send Email, Show Message, Subscribe To Record

Worked example: vendor bill approval

State Pending Approval: Remove Button (Approve) on Before Record Load, Add Button Approve and Add Button Reject on Before Record Load, Send Email to the approver On Entry. Transitions on each button go to Approved or Rejected. State Approved: Set Field Value approvalstatus to Approved on Entry, Set Field Display Type for amount to inline, Lock Record on Before Record Load. State Rejected: Set Field Mandatory on a rejection reason field, Return User Error on Before Record Submit if the reason is empty.

Gotchas

Client triggers do not run when a record is changed by CSV import, web services, RESTlets or scripts, so any validation that must hold everywhere belongs on Before Record Submit. Set Field Value on After Record Submit forces another save of the record. Lock Record only applies while the record sits in that state. Create Record on Before Record Load creates a record each time someone views the form. Button actions need a transition that uses the button, or clicking it only reloads the page.

How to check the result in the system

Customization > Workflow > Workflows, open the workflow, select a state and the action to see its trigger and conditions. Turn on Enable Logging on the workflow and test on a record in a sandbox, then read the Workflow History subtab on the record and the execution log on the workflow to see which actions ran, on which trigger and why others were skipped.

Frequently Asked Questions

How does Lock Record work in a NetSuite workflow?

Lock Record makes the record read-only for users while it remains in the state that holds the action. Its default trigger is Before Record Load and it can also run On Entry. Put it in the final approved state so the lock stays after approval.

What is the Go To Record action used for?

It sends the user to another record after save, such as the invoice created by a Transform Record action. It supports On Entry and After Record Submit (the default) and only matters in the UI, since integrations have no browser to redirect.

Which trigger should I use for Set Field Value?

On Entry is the default and suits state stamps such as approver and date. Use Before Record Submit when the value must be saved with the current save. Avoid After Record Submit when you can, because NetSuite must save the record a second time.

Can workflow actions run during CSV import?

Server-side actions can, if the workflow's context settings allow CSV Import. Client-side actions such as Confirm and Show Message cannot, because they only run while a user edits the form in the browser.

If you want approvers to ask about stuck transactions in plain English and see where in the workflow they sit, we can set up a private AI layer over NetSuite for that.

ArchRay builder
Design the on-prem AI stack for NetSuite: model, GPUs, RAG pipeline, guardrails
See memory, speed and cost as you swap parts, then export the diagram. Free, in your browser.
Open the builder

Keep exploring

Free tools

ERP fixes and how-tos

Runs with your ERP

Comparisons