Articles in this section

Install and use the integrator.io SuiteApp

Currently available for NetSuite integrations, the integrator.io SuiteApp (Celigo Integrator.io on SuiteScript 2.0) is built on SuiteCloud Development Framework (SDF). This technology upgrade offers several advantages over the NetSuite bundles that are coded for the popular but less robust SuiteScript v1.0.

The SuiteApp and SuiteScript 2.0 Advantage

When you configure a flow (to either export from NetSuite or import into NetSuite), the Celigo platform will prompt you to install the integrator.io SuiteApp. Customers who switch to the integrator.io SuiteApp (Celigo Integrator.io on SuiteScript 2.0) will have access to the following features:

  • Faster integrator.io SuiteApp upgrades

  • Native functionality that takes advantage of the new NetSuite SDF architecture

  • Support for newer NetSuite record types that might be supported only in SuiteScript 2.0

  • Unlimited dynamic lookups for NetSuite imports – that is, you won’t have to worry about exceeding SuiteScript point restrictions in common import operations

  • Support for hooks in SuiteScript 2.0 (that is, if your export/import uses SuiteScript 2.0 APIs)

Note

For the NetSuite API version in the Advanced section of exports/imports:

  • The old options in existing NetSuite steps will be automatically mapped to the new options (see image below). The earlier SuiteScript 1.0 option will be mapped to SuiteBundle SuiteScript 1.0 now; and, the earlier SuiteScript 2.0 option to SuiteApp SuiteScript 2.x now. These new Netsuite API version options do not impact existing NetSuite DIY flows or Integration App flows.

  • Celigo plans to deprecate the SuiteBundle SuiteScript 1.0 option in the future. We will inform you in advance of migrating your SuiteScript 1.0 SuiteBundle to the latest version. We suggest that you move to SuiteApp SuiteScript 2.x because NetSuite is not making any updates to SuiteScript 1.0. This is not a mandatory requirement; it is a recommendation because of NetSuite changes. See also, the NetSuite recommendation to move to SuiteScript 2.0 . (However, in your integrations, the SuiteScript version that you use in your export/import and hook must be the same. So you can choose SuiteApp SuiteScript 1.0 if required.)

suiteapps-ss2.png

Known differences in SuiteScript 2.0

SuiteScript 2.0 differences may have a slight effect on your current integration logic:

  • Checkboxes have the standard value of true or false (instead of the earlier "T" or "F")

  • SuiteScript hooks have a slightly different sequence

Install the SuiteApp

To install any SuiteApp, you must be signed in to NetSuite as an administrator. Then, you can choose either installation method, simply as a matter of convenience:

Apply SuiteScript 2.0 to a NetSuite export

  1. Open a new export from NetSuite to modify its settings.

  2. Expand the Advanced section.

  3. For the NetSuite API version, select SuiteApp SuiteScript 2.x.

  4. Save the export, and verify that any SuiteScript hooks in your integration are written for the corresponding version (SuiteScript 1.0 and 2.0 are incompatible).

export-ss2-default-option.png

Tip

Depending on your flows’ requirements, you may apply different SuiteScript versions to each flow step and they will work correctly. For example, most of your imports may stay at the SuiteScript 1.0, while another import is set to SuiteScript 2.0. Or, an export using SuiteScript 2.0 may send records to an import using SuiteScript 1.0.

Apply SuiteScript 2.0 to a NetSuite listener (in a “real-time” flow)

  1. In Flow Builder , click Add source.

  2. Select NetSuite for the Application.

  3. Under What would you like to do? choose Listen for real-time data in source application.

  4. Select your NetSuite connection (or create one if you have not already done so).

  5. Click Next. The Create listener panel opens.

    1. Name the new listener, and specify the Record type, Execution context, and Execution type.

    2. If needed, provide any Sublists to include and Field-specific qualification criteria.

  6. Expand the Advanced section, and click SuiteApp SuiteScript 2.x.

listener-ss2-default-option.png

If you have not yet installed the integrator.io Suite App (Celigo integrator.io on SuiteScript 2.0), a reminder with a link appears at the top of the panel:

4407118750363-ss2-real-time-2.png

Apply SuiteScript 2.0 to a NetSuite import

  1. Open a new import to NetSuite, and modify its settings.

  2. Expand the Advanced section.

  3. For the NetSuite API version, select SuiteApp SuiteScript 2.x.

  4. Save the import, and verify that any SuiteScript hooks in your integration are written for the corresponding version (SuiteScript 1.0 and 2.0 are incompatible).

import-ss2-default-option.png

Updates to integrator.io SuiteScript hooks

Your integration hooks will differ slightly after you upgrade to NetSuite Integrator 2.0.

integrator.io SuiteScript hooks (for NetSuite SuiteScript 2.0) can be written in SuiteScript 2.0 and can use completely native NetSuite modules.

SuiteScript 1.0

SuiteScript 2.0

preMap

Language: JavaScript

preMap

Language: JavaScript

preMap

Language: SuiteScript 1.0

n/a

n/a

postMap

Language: JavaScript

postMap

Language: SuiteScript 1.0

postMap

Language: SuiteScript 2.0

postSubmit

Language: SuiteScript 1.0

postSubmit

Language: SuiteScript 2.0

postSubmit

Language: JavaScript

postSubmit

Language: JavaScript

Celigo NetSuite script descriptions

The following scripts are included in the NetSuite bundle:

Script name

Functionality

Celigo Batch DataFlow Scheduler

Celigo core script that schedules the batch flow build on the legacy framework V2 (not IO).

Celigo Batch DataFlow Scheduler 2(Not IO)

A backup scheduler for Celigo Batch DataFlow Scheduler.

Celigo Batch File Poller

Celigo internal script to fetch files from FTP for integration build using the legacy integration (not IO)

Celigo Consumer Runner(IO)

Celigo core script to process data for RealTime export and send them to the external system.

Celigo Integration Job Status Checker

Celigo core script to ensure that a job doesn't get stuck due to any unexpected error by NetSuite or by Celigo(not IO).

Celigo Integrator Batch Manager

Celigo core script that processes the batch flow build on the legacy framework V1(not IO).

Celigo Realtime Import Restlet Runner (IO)

Celigo core script that communicates with Integrator for batch data flows. This restlet is used to create/update/transform records during an Page Processor Import. And also export records out of NetSuite.

Troubleshooting and FAQs

What does the error "Failed to create, update/transform record because Cannot find function getSelectOptions in object Field" mean?

If you are using a newer NetSuite import step that uses SuiteApp 2.0 and are getting this error, you need to Use dynamic mode to map the fields in the same order that you would enter that data into the NetSuite interface.

Why does my real-time flow not get triggered in certain cases?

In cases where a real-time flow does not get triggered when a user with an External Role makes a change on a record in NetSuite, it could be because the script deployment, associated with the real-time flow, does not include that external role as part of the audience. This scenario is caused by a NetSuite change in the 2025.1 release that now requires external roles to be explicitly added to the audience for script deployment. For more information, see Adding external roles to the audience for script deployment.