NetSuite Upsert Activity¶
A NetSuite Upsert activity both updates existing records and creates new records in NetSuite and is intended to be used as a target to consume data in an operation. After configuring a NetSuite connection, you can configure as many NetSuite activities as you like for each NetSuite connection.
The Upsert activity requires the use of either an external ID field to (1) create records if they do not already exist and (2) update records if they already exist. If instead you want to use either an internal or external ID field to update existing records without creating new records, use a NetSuite Update activity.
Create a NetSuite Activity¶
An instance of an activity is created from a connection using an activity type.
To create an instance of an activity, drag the activity type to the design canvas or copy the activity type and paste it on the design canvas. For details, see Creating an Activity Instance in Component Reuse.
An existing activity can be edited from these locations:
- The design canvas (see Component Actions Menu in Design Canvas).
- The project pane's Components tab (see Component Actions Menu in Project Pane Components Tab).
Configure a NetSuite Upsert Activity¶
Follow these steps to configure a NetSuite Upsert activity:
Step 1: Enter a Name and Select an Object¶
- Name: Enter a name to use to identify the NetSuite Upsert activity. The name must be unique for each NetSuite Upsert activity and must not contain forward slashes (
/) or colons (
Select an Object: This section displays objects available in the NetSuite endpoint. When reopening an existing activity configuration, only the selected object is displayed instead of reloading the entire object list.
Selected NetSuite Object: After an object is selected, it is listed here.
Search: Enter any part of the object name into the search box to filter the list of objects. The search is not case-sensitive. If objects are already displayed within the table, the table results are filtered in real time with each keystroke. To reload objects from the endpoint when searching, enter search criteria and then refresh, as described below.
Refresh: Click the refresh icon or the word Refresh to reload objects from the NetSuite endpoint. This may be useful if you have recently added objects or fields to NetSuite. This action refreshes all metadata used to build the table of objects displayed in the configuration.
Selecting an Object: Within the table, click anywhere on a row to select an object. Only one object can be selected. The information available for each object is fetched from the NetSuite endpoint:
Name: The object name from NetSuite.
Type: The object type from NetSuite. This includes all standard, transaction, item, and custom objects that are available to search within the NetSuite endpoint.
Depending on the NetSuite permissions set for the NetSuite account, this list may be different than that returned with a NetSuite Search activity.
Object Description: The object description from NetSuite.
If the table does not populate with available objects, the NetSuite connection may not be successful. Ensure you are connected by reopening the connection and retesting the credentials.
- Save & Exit: If enabled, click to save the configuration for this step and close the activity configuration.
- Next: Click to continue to the next step and temporarily store the configuration. The configuration is not saved until you click the Finished button on the last step.
- Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.
Step 2: Review the Data Schemas¶
Data Schema: The request and response data schemas for NetSuite are displayed. If the operation uses a transformation, the data schemas are displayed again during the transformation mapping process, where you can map to target fields using source objects, scripts, variables, custom values, and more.
The NetSuite connector uses the SOAP web services API used in the version of NetSuite WSDL you have configured. Refer to documentation provided in the NetSuite Help Center for information on the schema fields.
During the transformation mapping process, you can map to the
externalIdfield in NetSuite to associate the records to be updated. If there are new records that need to be created, using only the
InternalIdfield would not be sufficient as this field would not be created yet for new records in NetSuite.
To refresh a data schema in an existing activity, you must advance through each activity configuration step again, making at least one change (such as adding and removing a character from the end of the name of the activity) to force a refresh of the schema.
Back: Click to return to the previous step and temporarily store the configuration.
Finished: Click to save the configuration for all steps and close the activity configuration.
After configuring a NetSuite Upsert activity, complete the configuration of the operation by adding and configuring other activities, transformations, or scripts as operation steps. You can also configure an operation's operation settings, which include the ability to chain operations together that are in the same or different workflows.
Once a NetSuite Upsert activity has been created, menu actions for that activity are accessible from the project pane in either the Workflows or the Components tabs, and from the design canvas. See Activity Actions Menu for details.
NetSuite Upsert activities can be used as a target with these operation patterns:
- Transformation Pattern
- Two-target Archive Pattern (as the first target only)
- Two-transformation Pattern (as either the first or second target)
Other patterns are not valid using NetSuite Upsert activities. See the validation patterns on the Operation Validity page.
To use the activity with scripting functions, write the data to a temporary location and then use that temporary location in the scripting function.
When ready, deploy and run the operation and validate behavior by checking the operation logs.