The Upsert Records activity uses the ServiceNow Batch API to update or insert one or more records.
After completing the operation, the activity outputs the result of the insert in a
DataTable object (Result) and the operation status (success/failure information) in in a
ResponseStatus object (ServiceNowStatus) that you can use in subsequent activities (e.g., conditional logic).
The Update ServiceNow Record, Insert ServiceNow Record, and Upsert Records activities use REST APIs to write directly to a production table. The Insert ImportSet Records activity uses the REST Import Set API to write to an import set table from which the data gets transformed into the target production table.
To avoid writing directly to production tables, it's recommended that you use the Insert ImportSet Records activity to update or insert a new record.
For detailed information, including troubleshooting import set performance, see the import sets in the ServiceNow documentation.
The following steps and message sequence diagram is an example of how the activity works from design time (i.e., the activity dependencies and input/output properties) to run time.
- Complete the Setup steps.
- Add the ServiceNow Scope activity to your project.
- Add the Upsert Records activity inside the ServiceNow Scope activity.
- Click the Configure button inside the Upsert Records activity (this opens the Object Wizard).
- Select the Object that you want to use for your import set and enter your Input properties.
- Create and enter a
DataTablevariable and a
ResponseStatusvariable for the Output properties.
- Your input property values are sent to the Batch API.
- The API returns the
DataTable andResponseStatus` values to your output property variables.
To select your object, you must use the Object Wizard by clicking the Configure button.
To learn more about the Object Wizard, see the Business Activity Frameworks page.
- Object - The type of record that you want to insert or update. This will be set and appear in the design-time canvas but not the property panel. Use the Object Wizard to select your object.
If you do not see a list of properties for the object you choose, even looking at the "Add Multiple Fields" option, you may not have sufficient permissions in ServiceNow to see object meta data and modify data. Please see Troubleshooting Permission Issues for more details.
- DisplayName - The display name of the activity. This field supports only
- DataTable - The record data that you want to insert or update. Enter a
- To update an existing record, add the sys_Id value to the data row that contains the updates you want to make.
- Data rows without a sys_id value are inserted as new records (the sys_id of the new record is returned in the Results
- The maximum number of records that you can update or insert per activity run is 200. If you want to insert/update more than 200 records, you can add a for loop or add an Upsert Activity for each
DataTablethat contains 200 records (e.g., if you have 4,000 records total, you can split the records into 20 separate activities). For more information, see Batch API in the ServiceNow documentation.
- Private - If selected, the values of variables and arguments are no longer logged at Verbose level.
- Status - The status of the request (success/failure information). Enter a
ResponseStatusvariable (UiPath.BAF.Models.ResponseStatus). The
ResponseStatusobject includes three properties that you can use in other activities.
- Success -
Boolean- Specifies whether the API request was successful.
- ErrorCode -
String- The response error if the API request is unsuccessful (Success=False).
- Message -
String- The error message.
- Success -
- Result - The result of the inserted or updated record(s). The Results
DataTablehas the same structure as the input DataTable, with the following exceptions:
- New records that were inserted successfully now include a sys_id value.
- A new "ActionType" column is appended and includes a value of either Add or Update to indicate whether a record was updated or added to the table.
- A new "Error" column is appended and includes error information if the operation failed.
Updated 2 months ago