# Components

The Components page lets you upload custom React components to NetSuite's file cabinet, making them available for use in <code class="expression">space.vars.productName</code>'s Page Builder. This feature is for technically advanced deployments where custom-built components extend the standard page builder.

## Accessing Components

{% stepper %}
{% step %}

### Open the NetSuite Admin view

Switch to **NetSuite Admin** in <code class="expression">space.vars.productName</code>.
{% endstep %}

{% step %}

### Click Components

**Components** is in the left sidebar.
{% endstep %}
{% endstepper %}

## Uploading a component

{% stepper %}
{% step %}

### Choose the file

Click **Choose File** under **Select Component File** and select the component file from your computer.
{% endstep %}

{% step %}

### Upload

Click **Upload Component**. The file is uploaded to `/SuiteApps/com.in8sync2.brm/brm_components` in the NetSuite file cabinet.
{% endstep %}
{% endstepper %}

## Upload requirements

* Files are uploaded to: `/SuiteApps/com.in8sync2.brm/brm_components`
* If a file with the same name already exists, it's automatically replaced.
* Components must be in **AMD module format** to work correctly in the Page Builder.

## When to use this

Custom components are needed when the standard blocks in the Page Builder don't meet a specific requirement: for example, a unique display widget, a custom data visualisation, or an integration with a third-party service. These are built by developers and then uploaded here for use by Client Admins.

{% hint style="warning" %}
Replacing an existing component file takes effect immediately; end users will see the updated component the next time they load the relevant page. Test changes thoroughly in Sandbox before deploying to Production.
{% endhint %}

## Tips

* Only upload components that have been tested and approved by your development team.
* Contact your <code class="expression">space.vars.productName</code> implementation partner if you need a custom component built.

## Related Pages

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Default Workflows</strong></td><td>Where custom components can be added to workflow modules.</td><td><a href="/pages/NuNR9Ssy8uVrqIkLMt3v">/pages/NuNR9Ssy8uVrqIkLMt3v</a></td></tr><tr><td><strong>Page Builder (Client Admin)</strong></td><td>How Client Admins use these components.</td><td><a href="/pages/cFWHMzaWYEsdDtvHLkFK">/pages/cFWHMzaWYEsdDtvHLkFK</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.in8sync.com/netsuite-admin-guide/components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
