Understanding Events That Control Workflow Execution
Upon completion of this module, you will be able to:
Workflow triggers represent the events that occur during the processing of a record in NetSuite. They dictate when a workflow should perform certain tasks:
Client Triggers: Events that occur on the local computer within the user's web browser.
Server Triggers: Events that occur on the NetSuite server.
Client triggers represent events that occur on the user's local computer in their web browser. Key distinction: They only occur when creating a new record or editing an existing recordβNOT when viewing a record.
| Trigger | When It Occurs | Common Uses |
|---|---|---|
| Before User Edit | User creates new record or edits existing record | Show/hide fields, make fields mandatory, default values |
| Before User Submit | User saves the record (before server processing) | Form-level validations on the client |
These triggers create dynamic forms that perform additional processing based on user interactions:
| Trigger | When It Occurs | Purpose |
|---|---|---|
| Before Field Edit | User enters a field (before changes) | Validate before allowing changes |
| After Field Edit | User leaves a field (after changes) | React to field value changes |
| After Field Sourcing | After dependent fields are auto-populated | React to sourced values |
SuiteBuilder can also manipulate form display, but changes are static and require ongoing administration. SuiteFlow field-level triggers provide dynamic behavior based on user interactions.
Server triggers represent events that occur on the NetSuite server during record processing.
| Trigger | When It Occurs | Common Uses |
|---|---|---|
| Before Record Load | Record is loaded from database (view, edit, copy) | Modify display, set defaults for viewing |
| Before Record Submit | After validation, before saving to database | Server-side validations, modify data before save |
| After Record Submit | After record is saved to database | Create related records, send emails, integrations |
| Trigger | When It Occurs | Purpose |
|---|---|---|
| Entry | Record enters a workflow state | Actions when entering a state |
| Exit | Record leaves a workflow state | Cleanup actions when leaving a state |
The Scheduled trigger is a special server trigger that executes based on time rather than user events. We'll cover this in detail in Module 2.
Understanding the order in which triggers fire is critical for proper workflow design:
Client triggers (Before User Edit, Before User Submit, field-level) do NOT fire when viewing a recordβonly when creating or editing.
WORKFLOW TRIGGERS
βββββββββββββββββββββββββββββββββββββββββββ
β WORKFLOW INITIATION β
β β Event-based or Scheduled β
βββββββββββββββββββββββββββββββββββββββββββ€
β ACTION EXECUTION β
β β Client or Server triggers β
βββββββββββββββββββββββββββββββββββββββββββ€
β STATE TRANSITIONS β
β β Trigger-based or Scheduled β
βββββββββββββββββββββββββββββββββββββββββββ