01

SuiteFlow Overview

Understanding the Building Blocks of Workflow Automation

🎯 Learning Objectives

Upon completion of this module, you will be able to:

Business Process Fundamentals

A business process is a collection of linked tasks or activities that, once completed, accomplish some organizational goal. Understanding business processes is the foundation for effective workflow automation.

Common Business Process Examples

Business Process Components

Most workflows in SuiteFlow, regardless of complexity, are comprised of these basic components:

Standard Workflow Flow:
Initiation State
Action State
Decision State
End State

🔹 Initiation/Entry States

Found in ALL business processes. Represents where workflow execution begins. Can be triggered by user action (button click) or automatically (scheduled workflow).

🔹 Action States

Represents a task or operation performed at a specific point. Examples: set approval status to "Pending Approval," send email notification to approver, calculate totals, update field values.

🔹 Decision States

Ask a question to validate data. The answer determines which actions execute and which path the workflow follows. Example: "Is amount < $100? If yes, auto-approve. Otherwise, continue to manual approval."

🔹 Subprocess States

Trigger child workflows (subworkflows) that perform their own tasks. Results return to parent process which takes appropriate action. Common in approval workflows with escalation logic.

🔹 End States

Where workflow processing completes. All workflows have at least one end state, but can have multiple (common in approval workflows with "Approved" and "Rejected" end states).

Approval Workflow Example

Let's analyze a basic approval workflow for sales orders:

  1. State 1 - Pending Approval: Workflow entry state that initiates the approval process
  2. Decision Point: Is sales order < $5,000?
    • If Yes: Automatically route to State 3 (Approved)
    • If No: Route to State 2 (Finance Approval)
  3. State 2 - Finance Approval: Record is locked, Approve/Reject buttons added
    • If Approved: Route to State 3, update status to "Approved," lock record
    • If Rejected: Route to State 4, update status to "Rejected," end workflow
  4. State 3 - Approved: Approval status updated, record locked (except to finance manager)
  5. State 4 - Rejected: Approval status updated, workflow completes

💡 Design Note

Additional processing could be configured to return rejected orders back to State 1 for resubmission. This creates a loop that allows correction and reapproval!

What is SuiteFlow?

SuiteFlow is NetSuite's point-and-click visual workflow development tool used to automate business processes. It transforms complex business logic into visual workflows that execute automatically based on user actions and system events.

Key Characteristics

What Can SuiteFlow Do?

Workflow-to-Record Relationship

Critical Concept: Workflows have a one-to-one relationship with NetSuite record types. A workflow can only be configured to execute on a single base record type.

📋 Record Type Support

Workflows are supported by most of NetSuite's standard record types AND custom record types. To verify if a specific record type supports workflows, create a new workflow definition and check if the desired record type appears in the dropdown list.

⚠️ Subtypes Exception

While a workflow can't run on multiple BASE record types, it CAN execute on specific record subtypes. Example: A workflow on "Transaction" can run on Sales Order, Purchase Order, and Vendor Payment subtypes simultaneously.

💡 Multiple Workflows on One Record

Multiple workflows CAN run on a single base record type simultaneously! There's no limit to the number of workflows per record type. This supports the modular design approach we'll discuss shortly.

The Four Building Blocks of SuiteFlow

Every workflow in SuiteFlow is constructed from four primary building blocks:

1. States

States answer: "Where is the record currently in the business process?"

2. Actions

Actions answer: "What tasks should be performed in the current state?"

3. Transitions

Transitions answer: "Which state should the business process move to next?"

4. Triggers

Triggers answer: "When should a workflow be initiated, an action executed, or a transition performed?"

🎓 Remember This!

Triggers OCCUR, but workflows, actions, and transitions EXECUTE. This distinction is important for understanding workflow execution timing!

Using the Workflow Manager

The Workflow Manager is your visual workspace for creating and managing workflows. Let's tour the interface:

Accessing the Workflow Manager

Navigate to: Customization > Workflow > Workflows > New Workflow

Workflow Manager Components

Workflow Definition Fields

⚠️ Workflow ID Best Practice

While Workflow ID is technically optional, treat it as required in your development practice. IDs make workflows much easier to reference in SuiteScript and when troubleshooting execution logs!

Context Panel Tabs

The Context Panel displays different tabs depending on what's selected:

💡 Dynamic Saving

The Workflow Manager saves your work automatically as you make changes! There's no explicit "Save" button. Everything is dynamically persisted to the database.

Modular Workflow Design

One of the most important concepts in SuiteFlow development is modular design. Instead of creating one massive workflow that does everything, break processing into multiple smaller, focused workflows.

Benefits of Modular Design

  1. Easier Maintenance: Smaller workflows are easier to understand, test, and modify
  2. Separation of Concerns: Client-side actions separated from server-side actions
  3. Easier Troubleshooting: Isolating issues is simpler when workflows have focused purposes
  4. Reusability: Workflows can be leveraged as templates for similar processes
  5. Better Performance: Targeted workflows execute only when needed

Modular Design Example

For a Furniture Request process, you might create separate workflows for:

✅ Best Practice

As you work through course exercises, you'll gain hands-on experience building modular workflows. This approach scales much better than monolithic "do-everything" workflows!

Workflow Templates

NetSuite provides pre-built workflow templates to help you get started quickly with common approval processes.

Available Templates

Using Templates

  1. Navigate to: Customization > Workflow > Workflows > New Workflow
  2. Select "From Template" instead of "Create New"
  3. Choose the appropriate template from the selection page
  4. NetSuite generates a workflow with pre-configured states, actions, conditions, and transitions
  5. Customize the template to meet your specific business requirements

📚 More Information

For detailed information about workflow templates, refer to the Workflow Template reference in the NetSuite Help Center (Help > SuiteCloud Platform > SuiteFlow Workflows).

SuiteFlow Permissions

Enabling SuiteFlow

Before using SuiteFlow, the feature must be enabled in your account:

  1. Navigate to: Setup > Company > Enable Features
  2. Select the SuiteCloud subtab
  3. Locate the SuiteFlow section
  4. Check the SuiteFlow checkbox
  5. Click Save

Workflow Permission

Users need the Workflow permission to create, view, and edit workflows:

  1. Navigate to: Setup > Users/Roles > Manage Roles
  2. Edit the desired role (best practice: customize standard roles to create custom roles)
  3. Go to Permissions subtab > Setup sublist
  4. Add Workflow permission (only level available is "Full")
  5. Save the role

⚠️ Additional Permissions Required

In addition to the Workflow permission, users must have sufficient permissions to access the record types associated with the workflows they manage. SuiteFlow enforces role permissions!

💡 Permission Impact

If a user doesn't have access to record data and fields due to their role permissions, this can affect how they interact with forms that have workflows running on them. Ensure appropriate record-level permissions to prevent processing errors!

Walkthrough: Creating Your First Workflow

Let's walk through creating a simple workflow that displays a message when users create a new record. This demonstrates the basic workflow creation process.

Step 1: Create New Workflow

  1. Navigate to: Customization > Workflow > Workflows > New Workflow
  2. Enter workflow details:
    • Name: "My First Workflow"
    • ID: "wf_my_first" (recommended practice!)
    • Record Type: Select your target record (e.g., "Performance Review")
    • Description: "Display welcome message on new records"
    • Release Status: Testing
    • Enable Logging: ✓ Checked
    • Initiate On: Create (only initiate when creating new records)

Step 2: Configure the Default State

  1. NetSuite automatically creates a default "State 1" when you save the workflow definition
  2. Double-click State 1 (or use State tab > Edit icon)
  3. Rename it to something meaningful: "Data Entry"
  4. Add a description (optional but recommended): "Display welcome message"
  5. Click Save

Step 3: Add a Show Message Action

  1. Make sure State 1 is selected in the workspace
  2. In the Context Panel, click New Action
  3. Scroll down and select Show Message
  4. In the Parameters section, enter your message: "Please complete your annual performance review."
  5. Leave the Trigger at default (Before User Edit)
  6. Don't add any conditions (we want this to show every time)
  7. Click Save

✅ Notice

The action now appears in the Context Panel under the "Before User Edit" trigger section. This tells you exactly when the action will execute!

Step 4: Test Your Workflow

  1. Navigate to create a new record of your chosen type (e.g., Lists > Custom > Performance Review > New)
  2. Open in a new tab to keep Workflow Manager available
  3. Watch as the form loads - your message should appear immediately!
  4. Click OK to acknowledge and continue

💡 Refreshing Client-Side Actions

Press Ctrl+F5 (Windows) or Cmd+R (Mac) to refresh the browser and re-trigger client-side actions. This is invaluable during development! Changes to client-side actions are reflected immediately upon page reload.

Step 5: Modify and Test Again

  1. Return to the Workflow Manager
  2. Edit your Show Message action
  3. Change "annual" to "quarterly"
  4. Click Save
  5. Return to your new record tab and press Ctrl+F5
  6. The updated message appears immediately!

⚠️ Client vs. Server Action Testing

This "refresh to re-trigger" behavior only works for client-side actions (those using client triggers). Server-side actions require a full save/reload cycle. We'll explore this difference in upcoming modules!

Congratulations! You've just created and tested your first SuiteFlow workflow. While simple, this workflow demonstrates the core concepts you'll use to build much more sophisticated automation.

🌟 Key Takeaways