# oracle-samples/netsuite-suitecloud-samples architecture

> Architecture diagram of the GitHub repository oracle-samples/netsuite-suitecloud-samples, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/oracle-samples/netsuite-suitecloud-samples
- Repository: https://github.com/oracle-samples/netsuite-suitecloud-samples

## Overview

This repository is a catalog of independent NetSuite SuiteCloud customization samples, not one integrated runtime. Its principal workflow is a developer choosing a sample, adapting it for an account, and deploying it to demonstrate a business or UI customization. The examples span SuiteApps, SuiteScript workflow and record automation, data tools, and MCP apps. Sampled source supports several concrete internal flows below; many other subsystems are represented only by their directory names, so their wiring is intentionally omitted.

Main entry points: [`suitecloud-ai-solutions-catalog/llm-prompt-workflow-action/src/FileCabinet/SuiteScripts/wf_sendLlmPrompt.js`](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/suitecloud-ai-solutions-catalog/llm-prompt-workflow-action/src/FileCabinet/SuiteScripts/wf_sendLlmPrompt.js) (LLM Workflow Action), [`MCP-Sample-Tools/Sample-App/app/helloworld_app/src/App.tsx`](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/MCP-Sample-Tools/Sample-App/app/helloworld_app/src/App.tsx) (Hello World App), [`spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/services/FlightService.ts`](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/services/FlightService.ts) (Flight Service), [`spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/services/GateService.ts`](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/services/GateService.ts) (Gate Service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_mcp["MCP Samples"]
  node_mcpapp["Hello World App<br/>[App.tsx]"]
  node_toolsets["Toolset Scripts"]
end

subgraph group_spa["SuiteApp Samples"]
  node_airportui["Airport UI<br/>[airport]"]
  node_flightservice["Flight Service<br/>[FlightService.ts]"]
  node_flightdao["Flight DAO<br/>[FlightDao.ts]"]
  node_gateservice["Gate Service<br/>[GateService.ts]"]
  node_gatedao["Gate DAO<br/>[GateDao.ts]"]
  node_itemui["Item360 UI<br/>[item360]"]
  node_itemservice["Item Data Service"]
end

subgraph group_automation["SuiteScript Automation"]
  node_llmworkflow["LLM Workflow Action"]
  node_llm["LLM Service"]
  node_legacy["Legacy Customizations"]
end

subgraph group_business["Business Samples"]
  node_workflowexamples["Workflow Examples"]
  node_queryexamples["SuiteQL Examples"]
  node_optimization["Optimization Examples"]
end

node_developer(("Developer"))
node_mcphost{{"MCP Host"}}
node_netsuite{{"NetSuite Platform"}}

node_developer -->|"uses"| node_mcpapp
node_mcpapp -->|"sends message"| node_mcphost
node_developer -->|"uses"| node_toolsets
node_developer -->|"uses"| node_airportui
node_flightservice -->|"calls"| node_flightdao
node_gateservice -->|"calls"| node_gatedao
node_developer -->|"uses"| node_itemui
node_itemservice -->|"queries and updates"| node_netsuite
node_developer -->|"configures workflow"| node_llmworkflow
node_llmworkflow -->|"calls"| node_llm
node_llm -->|"generates text"| node_netsuite
node_llmworkflow -->|"returns result"| node_netsuite
node_developer -->|"adapts sample"| node_legacy
node_developer -->|"studies examples"| node_workflowexamples
node_developer -->|"studies examples"| node_queryexamples
node_developer -->|"studies examples"| node_optimization

click node_mcpapp "https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/MCP-Sample-Tools/Sample-App/app/helloworld_app/src/App.tsx"
click node_toolsets "https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/MCP-Sample-Tools/Sample-Toolsets/src/FileCabinet/SuiteScripts/toolset"
click node_airportui "https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport"
click node_flightservice "https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/services/FlightService.ts"
click node_flightdao "https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/dao/FlightDao.ts"
click node_gateservice "https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/services/GateService.ts"
click node_gatedao "https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/dao/GateDao.ts"
click node_itemui "https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/spa-suiteapp-samples/item360/src/SuiteApps/com.netsuite.uifitem360/item360"
click node_itemservice "https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/item360/src/SuiteApps/com.netsuite.uifitem360/item360/service/ServerDataService.ts"
click node_llmworkflow "https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/suitecloud-ai-solutions-catalog/llm-prompt-workflow-action/src/FileCabinet/SuiteScripts/wf_sendLlmPrompt.js"
click node_llm "https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/suitecloud-ai-solutions-catalog/llm-prompt-workflow-action/src/FileCabinet/SuiteScripts/wf_sendLlmPrompt.js"
click node_legacy "https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/suitecloud-legacy-solutions-catalog"
click node_workflowexamples "https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/suiteworld-samples/suiteworld2024-code-samples/enhancing-business-flows"
click node_queryexamples "https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/suiteworld-samples/suiteworld2024-code-samples/map-reduce-suiteql"
click node_optimization "https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/suiteworld-samples/suiteworld2024-code-samples/suitescript-optimization"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_mcpapp,node_toolsets toneBlue
class node_airportui,node_flightservice,node_flightdao,node_gateservice,node_gatedao,node_itemui,node_itemservice toneAmber
class node_llmworkflow,node_llm,node_legacy toneMint
class node_workflowexamples,node_queryexamples,node_optimization toneRose
class node_developer,node_mcphost,node_netsuite toneIndigo
```

## Components

### MCP Samples

- [Hello World App](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/MCP-Sample-Tools/Sample-App/app/helloworld_app/src/App.tsx): `MCP-Sample-Tools/Sample-App/app/helloworld_app/src/App.tsx`
- [Toolset Scripts](https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/MCP-Sample-Tools/Sample-Toolsets/src/FileCabinet/SuiteScripts/toolset): `MCP-Sample-Tools/Sample-Toolsets/src/FileCabinet/SuiteScripts/toolset`

### SuiteApp Samples

- [Airport UI](https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport): `spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport`
- [Flight Service](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/services/FlightService.ts): `spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/services/FlightService.ts`
- [Flight DAO](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/dao/FlightDao.ts): `spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/dao/FlightDao.ts`
- [Gate Service](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/services/GateService.ts): `spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/services/GateService.ts`
- [Gate DAO](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/dao/GateDao.ts): `spa-suiteapp-samples/airport360/src/SuiteApps/com.netsuite.airport360/airport/dao/GateDao.ts`
- [Item360 UI](https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/spa-suiteapp-samples/item360/src/SuiteApps/com.netsuite.uifitem360/item360): `spa-suiteapp-samples/item360/src/SuiteApps/com.netsuite.uifitem360/item360`
- [Item Data Service](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/spa-suiteapp-samples/item360/src/SuiteApps/com.netsuite.uifitem360/item360/service/ServerDataService.ts): `spa-suiteapp-samples/item360/src/SuiteApps/com.netsuite.uifitem360/item360/service/ServerDataService.ts`

### SuiteScript Automation

- [LLM Workflow Action](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/suitecloud-ai-solutions-catalog/llm-prompt-workflow-action/src/FileCabinet/SuiteScripts/wf_sendLlmPrompt.js): `suitecloud-ai-solutions-catalog/llm-prompt-workflow-action/src/FileCabinet/SuiteScripts/wf_sendLlmPrompt.js`
- [LLM Service](https://github.com/oracle-samples/netsuite-suitecloud-samples/blob/main/suitecloud-ai-solutions-catalog/llm-prompt-workflow-action/src/FileCabinet/SuiteScripts/wf_sendLlmPrompt.js): `suitecloud-ai-solutions-catalog/llm-prompt-workflow-action/src/FileCabinet/SuiteScripts/wf_sendLlmPrompt.js`
- [Legacy Customizations](https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/suitecloud-legacy-solutions-catalog): `suitecloud-legacy-solutions-catalog`

### Business Samples

- [Workflow Examples](https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/suiteworld-samples/suiteworld2024-code-samples/enhancing-business-flows): `suiteworld-samples/suiteworld2024-code-samples/enhancing-business-flows`
- [SuiteQL Examples](https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/suiteworld-samples/suiteworld2024-code-samples/map-reduce-suiteql): `suiteworld-samples/suiteworld2024-code-samples/map-reduce-suiteql`
- [Optimization Examples](https://github.com/oracle-samples/netsuite-suitecloud-samples/tree/main/suiteworld-samples/suiteworld2024-code-samples/suitescript-optimization): `suiteworld-samples/suiteworld2024-code-samples/suitescript-optimization`

### Other components

- **Developer**
- **MCP Host**
- **NetSuite Platform**

## Connections

- Developer → Hello World App: uses
- Hello World App → MCP Host: sends message
- Developer → Toolset Scripts: uses
- Developer → Airport UI: uses
- Flight Service → Flight DAO: calls
- Gate Service → Gate DAO: calls
- Developer → Item360 UI: uses
- Item Data Service → NetSuite Platform: queries and updates
- Developer → LLM Workflow Action: configures workflow
- LLM Workflow Action → LLM Service: calls
- LLM Service → NetSuite Platform: generates text
- LLM Workflow Action → NetSuite Platform: returns result
- Developer → Legacy Customizations: adapts sample
- Developer → Workflow Examples: studies examples
- Developer → SuiteQL Examples: studies examples
- Developer → Optimization Examples: studies examples
