Skip to main content
Version: Current

Upsert Record

Description

The Upsert Record activity inserts a new record or updates an existing record in a specified database table based on configured unique columns.

The activity checks for an existing record that matches the values of the specified unique columns:

  • If a matching record exists, the record is updated.
  • If no matching record exists, a new record is inserted.

This provides a simple, UI-based way to synchronize individual records without requiring separate select, insert, and update activities.


Common Capabilities

Process Data Support

info

This activity supports dynamic configuration using variables from the Process Data drawer.

You can bind values from Model Data, Form Data, System Data, Enterprise Variables, and Activity Outputs.

Learn more → Using Process Data


Design-Time Configuration

The following properties define how the activity connects to the database and performs the upsert operation.

Connection Type

Specifies the database engine (for example, SQL Server, Oracle, MySQL, PostgreSQL). Selecting the correct type ensures compatibility with the target database.

Connection Name

Select a preconfigured database connection that defines the server, credentials, and security settings.

Schema

Specifies the database schema that contains the target table.

Table Name

Specifies the database table in which the record will be inserted or updated.


Unique Columns

Specifies one or more columns used to determine whether a matching record already exists in the target table.

The activity compares the values of these columns with existing records:

  • If a matching record is found, the existing record is updated.
  • If no matching record is found, a new record is inserted.
note

Select columns that reliably identify a unique record in the target table. The values required for the selected unique columns must be available as part of the upsert operation.


Column Mapping

Defines how workflow values are mapped to columns in the target database table.

Use the Resource Mapper to map values from workflow data and activity outputs to the corresponding database columns.

The mapped values are used to identify the record using the configured Unique Columns and to insert or update the corresponding database values.

note

Ensure that the mapped values are compatible with the data types of the corresponding database columns.


Timeout

Specifies the maximum time (in seconds) that the activity will wait for the upsert operation to complete.

The default value is 600 seconds.


Outputs

Inserted Records Count

Returns the number of new records successfully inserted into the target database table.

For an Upsert Record operation, this value is typically 1 when a new record is inserted and 0 when an existing record is updated.

Updated Records Count

Returns the number of existing records successfully updated in the target database table.

For an Upsert Record operation, this value is typically 1 when an existing record is updated and 0 when a new record is inserted.


Wait All Incoming

Execution Control

Controls how this activity behaves when multiple incoming execution paths converge.

Determines whether the activity executes when:

  • any incoming path completes, or
  • all relevant paths have completed before execution

Learn more → Execution Control


On Error

Error Handling Strategy

Defines how the workflow behaves if this activity encounters a runtime error.

Supported strategies include Fault, Continue, Suspend, and Retry.

Learn more → Error Handling