Upsert Row(s)

Estimated reading: 3 minutes

The Upsert Row(s) component updates existing records or inserts new rows into a DataTable depending on matching criteria. It checks the target table against defined conditions: if a match exists, it updates specified columns; if no match is found, it automatically appends a new row with the provided values.

a. Conditional Insertion/Update: Prevents duplicate records by combining lookup and write operations into a single execution step.
b. Dynamic Mapping: Accepts static strings or global variables for every column parameter.
c. Flexible Matching: Supports up to 50 combined logical condition sets to accurately identify existing records.

Parameters

* Indicates mandatory fields.
Parameter Description Behavior
DataTable* Specifies the target DataTable where rows will be updated or inserted. Evaluates this DataTable against the defined conditions to decide whether to update an existing row or insert a new one.
Columns to Upsert* Defines the column names and values used to update existing rows or populate new rows when no match is found. Generates individual input fields for each column in the DataTable (e.g., Name, Date). Accepts manual string inputs or dynamic global variables.
Must Match* Determines how the defined conditions are evaluated when identifying existing rows. All Conditions (AND) – Considers a row a match only if all specified conditions are satisfied.

Any Condition (OR) – Considers a row a match if at least one condition is satisfied.
Number of Conditions Specifies the total count of comparison rules (0–50) used to check for matching rows. Dynamically displays that many condition row sets (Column Name, Condition, and Value Text).
Column Name (per condition) Specifies the column in the DataTable to evaluate for that condition. Identifies the row as a match based on the value found in this specific column.
Condition (per condition) Defines the logical criterion to apply against the specified column value. Evaluates match conditions (e.g., Equals, Contains, Greater Than).
Value Text (per condition) Specifies the baseline value to compare against the column. Evaluates cell content against this input using the selected condition operator. (Note: Text comparisons are case-sensitive.)
Parameter Description
Timeout (seconds) Maximum wait time for the download request to complete before the operation times out. Default: 30 seconds.
Retry count The number of automated download attempts if the initial request fails.
Delay between retries (s) Wait time between consecutive retry attempts. Default: 1 second.
Delay before execution (s) Time to wait before the component starts processing. Default: 0 seconds.
Delay after execution (s) Time to wait after the component finishes processing. Default: 0 seconds.
Continue on Error Determines the behavior when an unrecoverable error occurs:

Stop Workflow – Halts workflow execution.
Continue – Skips this step and continues without passing the error downstream.
Continue Using Error Output – Continues execution and routes error details through the error output handle.

Output

Output Description
Output Returns the overall operation result in JSON format, indicating whether rows were updated or inserted for downstream workflow steps.
DataFrame Returns the updated DataTable in a structured tabular format for further processing within the workflow.
`
Share this Doc

Upsert Row(s)

Or copy link

CONTENTS
Robility Chatbot
Robility Assistant
Online