# NetSuite SuiteFlow Workflow Action Types Reference

> Source: https://netray.co/tools/netsuite-workflow-action-types-reference
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Free Tools

## Short answer

Every workflow action in SuiteFlow with where it runs, which triggers support it, its main settings and the gotcha to know before you use it.

## Category

netsuite

## Erp

NetSuite

## Audience

- NetSuite administrator
- NetSuite developer
- Business analyst

## Tool

**Kind:** worksheet

**Mode:** reference

**Columns:**

#### Action

**Key:** action

**Type:** text

#### What it does

**Key:** what_it_does

**Type:** text

#### Server or client

**Key:** server_or_client

**Type:** text

#### Supported triggers (default in brackets)

**Key:** supported_triggers

**Type:** text

#### Key parameters

**Key:** key_parameters

**Type:** text

#### Typical use

**Key:** typical_use

**Type:** text

#### Gotcha

**Key:** gotcha

**Type:** text

**Rows:**

**Action:** Add Button

**What it does:** Adds a button to the record form

**Server or client:** Server

**Supported triggers:** On Entry, Before Record Load (default)

**Key parameters:** Label, Save record first

**Typical use:** Approve and Reject buttons on a vendor bill approval state

**Gotcha:** A button does nothing by itself: add a transition triggered by that button.

**Action:** Confirm

**What it does:** Shows a confirmation dialog with OK and Cancel

**Server or client:** Client

**Supported triggers:** Before Field Edit, Before User Submit (default)

**Key parameters:** Message text

**Typical use:** Confirm before saving an order over a credit limit

**Gotcha:** Client only: never runs for CSV import, web services or scripts.

**Action:** Create Line

**What it does:** Adds a line to a sublist on the record

**Server or client:** Server

**Supported triggers:** On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled

**Key parameters:** Sublist, field values for the new line

**Typical use:** Add a handling charge line to qualifying orders

**Gotcha:** Check sublist and field support for your record type before relying on it.

**Action:** Create Record

**What it does:** Creates a new record of another type

**Server or client:** Server

**Supported triggers:** On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled

**Key parameters:** Record type, field values, store result in field

**Typical use:** Create a task or phone call when an order goes on hold

**Gotcha:** Running it on Before Record Load creates a record every time the form loads.

**Action:** Go To Page

**What it does:** Sends the user to another NetSuite page

**Server or client:** Server

**Supported triggers:** On Entry, After Record Submit (default)

**Key parameters:** Target page

**Typical use:** Return the user to a dashboard after approval

**Gotcha:** Only meaningful in the UI; no user means no redirect.

**Action:** Go To Record

**What it does:** Opens another record after save

**Server or client:** Server

**Supported triggers:** On Entry, After Record Submit (default)

**Key parameters:** Record type, record (field or specific), open in edit mode

**Typical use:** Open the related item fulfillment after approving an order

**Gotcha:** UI only, like Go To Page.

**Action:** Initiate Workflow

**What it does:** Starts another workflow on the current record

**Server or client:** Server

**Supported triggers:** On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled

**Key parameters:** Workflow, workflow field values

**Typical use:** Hand off to a separate notification workflow

**Gotcha:** Watch for loops where workflows start each other.

**Action:** Lock Record

**What it does:** Prevents users from editing the record while in the state

**Server or client:** Server

**Supported triggers:** On Entry, Before Record Load (default)

**Key parameters:** Condition only

**Typical use:** Lock a vendor bill after final approval

**Gotcha:** Lock lasts only while the record is in that state; put it in the final state.

**Action:** Remove Button

**What it does:** Hides a standard button on the form

**Server or client:** Server

**Supported triggers:** On Entry, Before Record Load (default)

**Key parameters:** Button to remove (for example Edit, Approve)

**Typical use:** Remove the standard Approve button so only the workflow can approve

**Gotcha:** Hides the button only; other paths such as list edit may still change the record.

**Action:** Return User Error

**What it does:** Stops the action with an error message

**Server or client:** Server and client

**Supported triggers:** 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

**Key parameters:** Error text

**Typical use:** Block saving a PO without a department

**Gotcha:** On Before Record Submit it blocks every context, including CSV import and integrations.

**Action:** Send Campaign Email

**What it does:** Sends a campaign email to a recipient

**Server or client:** Server

**Supported triggers:** On Entry (default), After Record Submit, Scheduled

**Key parameters:** Campaign event, recipient field

**Typical use:** Lead nurture message when a lead reaches a status

**Gotcha:** Needs Marketing Automation and a campaign event set up.

**Action:** Send Email

**What it does:** Sends an email

**Server or client:** Server

**Supported triggers:** On Entry (default), After Record Submit, Scheduled

**Key parameters:** Sender, recipient, subject and body or template, include record link

**Typical use:** Notify the approver that a bill waits for approval

**Gotcha:** Use After Record Submit for change notices so mail is not sent for a failed save.

**Action:** Set Field Display Label

**What it does:** Changes a field label on the form

**Server or client:** Server and client

**Supported triggers:** Server: On Entry, Before Record Load (default). Client: Before User Edit, Before Field Edit, After Field Edit, After Field Sourcing

**Key parameters:** Field, new label

**Typical use:** Rename a field per state, such as Requested Date

**Gotcha:** Form display only; the field id does not change.

**Action:** Set Field Display Type

**What it does:** Changes how a field shows on the form

**Server or client:** Server and client

**Supported triggers:** Server: On Entry, Before Record Load (default). Client: Before User Edit, Before Field Edit, After Field Edit, After Field Sourcing

**Key parameters:** Field, display type (for example inline, hidden, disabled)

**Typical use:** Make amount read-only after approval

**Gotcha:** UI only; integrations can still set the field.

**Action:** Set Field Mandatory

**What it does:** Makes a field mandatory on the form

**Server or client:** Server and client

**Supported triggers:** Server: On Entry, Before Record Load (default). Client: Before User Edit, Before Field Edit, After Field Edit, After Field Sourcing

**Key parameters:** Field, mandatory flag

**Typical use:** Require a reason code before rejecting

**Gotcha:** Enforced in the form; use Return User Error on Before Record Submit to enforce everywhere.

**Action:** Set Field Value

**What it does:** Sets a field to a static value, another field or a formula

**Server or client:** Server and client

**Supported triggers:** 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

**Key parameters:** Field, value source (static, field, formula)

**Typical use:** Stamp approver and approval date

**Gotcha:** On After Record Submit NetSuite has to save the record again; prefer Before Record Submit.

**Action:** Show Message

**What it does:** Shows an alert to the user

**Server or client:** Client

**Supported triggers:** Before User Edit (default), Before Field Edit, After Field Edit, After Field Sourcing

**Key parameters:** Message text

**Typical use:** Warn that the customer is on credit hold

**Gotcha:** Information only; does not stop the save.

**Action:** Subscribe To Record

**What it does:** Subscribes a user to changes on the record

**Server or client:** Server

**Supported triggers:** On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled

**Key parameters:** Subscriber (field or specific user)

**Typical use:** Keep the sales rep informed about a case

**Gotcha:** Recipients still need access to the record.

**Action:** Transform Record

**What it does:** Creates a record from the current one, like a standard transform

**Server or client:** Server

**Supported triggers:** On Entry, After Record Submit, Scheduled

**Key parameters:** Target record type, go to record after transform, store result in field

**Typical use:** Bill a sales order automatically after approval

**Gotcha:** Only transforms NetSuite supports for the record type, such as sales order to invoice.

**Action:** Custom Action

**What it does:** Runs a workflow action script

**Server or client:** Server

**Supported triggers:** On Entry (default), Before Record Load, Before Record Submit, After Record Submit, Scheduled

**Key parameters:** Workflow action script, parameters, store result in field

**Typical use:** Logic SuiteFlow cannot express, such as a SuiteQL lookup

**Gotcha:** Script governance applies; the script record and deployment must exist first.

**Notes:** 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.

## Content

**Intro:** 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.

**Sections:**

#### How to use it

**Body:** 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.

**Bullets:**

- 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

**Body:** 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

**Body:** 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

**Body:** 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.

**Cta:** 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.

**Faq:**

#### How does Lock Record work in a NetSuite workflow?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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?

**Answer:** 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.

## Search terms

netsuite workflow actions, netsuite workflow action types, netsuite workflow lock record, netsuite workflow go to record, netsuite workflow set field value, suiteflow actions list, netsuite workflow return user error

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
