Upsert Data Source Row

Add or update a row in a GoFormz Data Source. The row will be added if the specified key does not already exist in the Data Source. If the key does exist, then the row will be updated.

Inputs

Key

Value

datasource_id

Required

The unique 32-digit hexadecimal identifier of the Data Source where you want to upsert a row. See here for more details.

key

Required

The key of the row you wish to upsert. If this key already exists in the "Key" column of the target Data Source, then the existing row will be updated. Otherwise, a new row will be created with this key.

column_{ColumnName}

Optional

The value to be placed in the {ColumnName} column. For instance, to place the text "Acme, Inc." in the "Customer Name" column — you would name your input column_Customer Name and set it to "Acme, Inc.".

Outputs

None

Usage

Perhaps the most common scenario for using this action is to add/update a Data Source row based on data from a completed form. In the example below, we update a customer contacts Data Source with customer information from a form. We use the company name and contact name as our key: #{trigger.[Customer Name]} - #{trigger.[Contact]} and then fill in the company name, contact name, address, email and phone number.

In this example, the action is only executed for new customers — we use the skip_if_false input to skip the action if the "New Customer" checkbox isn't checked in the form (see Conditional Skip Logic for more). However, this is not necessary; if we wanted to add new customers to the Data Source AND update existing ones, we would simply remove this input.