NetSuiteFree referencePDF, Excel, Word exportNetSuiteAll NetSuite tools

NetSuite Workflow Trigger Types, Event Types and Context Types

This reference lists the eleven SuiteFlow triggers in NetSuite, split into server and client, with when each fires and what it suits. It adds the initiation options, event types and context types that decide whether a workflow starts at all.

Download:
Trigger or optionSideGroupFires whenGood forCannot do / watch out
On Entry
Server
Workflow based
The record enters a state
Stamping fields, sending notifications once per state
Does not run alone; it executes together with the first server trigger for the state, such as Before Record Load.
On Exit
Server
Workflow based
The record leaves a state
Clean-up when moving on, such as clearing a hold flag
Not every action supports it; check the action's trigger list.
Before Record Load
Server
Record based
Before the record loads: new, edit or view
Form changes: buttons, display types, locking
Runs on every view as well as new and edit, so actions here fire often; not for creating records.
Before Record Submit
Server
Record based
After Save is clicked, before data is written
Validation and setting values saved with the record
Related records do not exist yet; the record id is not set on create.
After Record Submit
Server
Record based
After the record is saved to the database
Emails, creating dependent records, Go To Record
Set Field Value here forces another save of the record.
Scheduled
Server
Time based
The scheduler runs the workflow by its schedule
Reminders, escalations, timed transitions
Not tied to a user event; no form, so UI actions do nothing.
Before User Edit
Client
Client
Form loaded in the browser, before the user changes anything
Messages and form tweaks once the page is open
Does not run for CSV import, web services or scripts.
Before Field Edit
Client
Client
Before the user completes a change to a field
Confirm prompts and blocking an edit
Client formulas must be written in SuiteScript, not SQL.
After Field Edit
Client
Client
After the user completes a change to a field
Setting dependent fields as the user types
UI only; integrations skip it.
After Field Sourcing
Client
Client
After dependent field values are populated
Overriding values sourced from customer or item
Fires only on fields that source values.
Before User Submit
Client
Client
After Save is clicked, before Before Record Submit
Confirm before save, last client checks
Validation here can be bypassed by any non-UI context.
Initiation: On Create
Server
Initiation option
A record of the base type is created
Approval workflows for new transactions
Combine with the trigger type and event types to narrow it.
Initiation: On Update
Server
Initiation option
A record is viewed or updated
Re-approval after changes
Includes views when paired with Before Record Load; use event types to limit it.
Initiation trigger type: All
Server
Initiation option
Any triggering event
Quick tests
Oracle recommends choosing a more specific trigger type.
Initiation: based on a schedule
Server
Initiation option
Recurring or one-time schedule, against records from a saved search
Nightly or weekly sweeps
Needs a saved search on the base record type.
Event type: Create
Server
Event type
Record is created
On Create workflows
Pairs with On Create initiation.
Event type: Edit
Server
Event type
Record is edited and saved
Re-approval on change
Pairs with On Update initiation.
Event type: View
Server
Event type
Record is opened in view mode
Display-only form logic
Before Record Load only.
Event type: Copy
Server
Event type
Record is copied
Clearing fields on copies
Check which triggers support it in Event Types Reference.
Event type: Delete
Server
Event type
Record is deleted
Blocking deletes with Return User Error
Check which triggers support it in Event Types Reference.
Event type: Approve
Server
Event type
User clicks the standard Approve
Follow-up after native approval
Only on record types with native approval; check Event Types Reference for trigger support.
Event type: Reject
Server
Event type
User clicks the standard Reject
Capturing rejection reasons
Limited to types with native approval.
Event type: Direct List Edit
Server
Event type
Inline edit from a list (XEDIT)
Catching list edits that skip the form
Only fields edited are populated; others read blank.
Event type: Print
Server
Event type
Record is printed
Logging outbound documents
Check which triggers support it in Event Types Reference.
Context: User Interface
Server
Context type
A user works in the browser
Limiting form logic to people
Excludes imports and integrations.
Context: CSV Import
Server
Context type
Records come in through the Import Assistant
Running or skipping logic on bulk loads
Client triggers never run here.
Context: Web Services
Server
Context type
SOAP web services calls
Controlling integration behaviour
REST and RESTlet calls are separate contexts.
Context: Web Store
Server
Context type
Orders and records created from the web store
Web order approval rules
Only for web store activity.
Context: Custom Mass Update
Server
Context type
Records changed by a mass update
Applying or skipping rules for mass changes
Test on a small set first.

Trigger names and descriptions follow Oracle help 'Workflow Triggers' and the server and client trigger references; event types follow 'Event Types Reference'. Initiation options are On Create and On Update (On Update covers viewing as well as updating). Actions on server triggers use SQL formulas; actions on client triggers use SuiteScript formulas.

Workflow skipping some records?

Send us the initiation settings and the record source and we will find the missing event type or context.

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

Was this tool useful?

How to use it

Start with the job. Changing the form means Before Record Load or a client trigger. Validating data that must hold for every source means Before Record Submit. Doing something after the data is safe, such as an email or a related record, means After Record Submit. Time-based work means Scheduled. Then check the initiation rows: a workflow only runs its triggers if it initiated on the right event, with the right event type and context.

  • Form: Before Record Load, Before User Edit
  • Validation everywhere: Before Record Submit
  • Side effects: After Record Submit
  • Timers: Scheduled

Execution order

Viewing a record runs Before Record Load. Editing runs Before Record Load, then on save Before User Submit in the browser, then Before Record Submit and After Record Submit on the server. Moving from state A to state B runs On Exit for A, then On Entry for B. On Entry never runs alone; it runs with the first server trigger for that state. There is no fixed order across all triggers: the workflow definition and the record events decide.

Worked example: approval that also covers imports

A PO approval workflow initiates On Create and On Update, trigger type Before Record Submit, event types Create and Edit, contexts User Interface and CSV Import. Validation that a department is set uses Return User Error on Before Record Submit, so it blocks both the form and imports. A Confirm on Before User Submit adds a prompt in the browser only. If the CSV context were left out, imported POs would skip approval entirely, which is the most common audit finding with these workflows.

How to check the result in the system

Open Customization > Workflow > Workflows, edit the workflow and review the Initiation settings: Event Based or Scheduled, On Create, On Update, Trigger Type, Event Types and Contexts. Enable logging, run the event in a sandbox, then check the Workflow History subtab and the workflow execution log to see which triggers fired and which conditions failed.

Frequently Asked Questions

What is Before Record Load in NetSuite?

A server trigger that runs before a record loads, whether the user clicks New, Edit or simply views it. It is used for form changes such as adding or removing buttons, changing display types and locking. Because views trigger it too, avoid creating records on it.

What are the client triggers in a NetSuite workflow?

Before User Edit, Before Field Edit, After Field Edit, After Field Sourcing and Before User Submit. They run in the browser while a user edits the form, so they do not run for CSV import, web services or scripts, and their formulas use SuiteScript.

What is the difference between On Create and On Update?

On Create starts the workflow when a record of the base type is created. On Update starts it when an existing record is viewed or updated. Combine either with a trigger type, event types and contexts to control exactly when a new workflow instance begins.

How do I show a message to the user from a workflow?

Use the Show Message action on a client trigger, by default Before User Edit, or Return User Error when you need to stop the save. Show Message is information only and never runs for imports or integrations, since there is no browser.

If you want to see, in plain English, which workflows touch a record and why one did not fire, we can set up a private AI layer over your NetSuite configuration and history.

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

Software