Compare Data Source To DataSet

Perform a comparison between a GoFormz Data Source and a comparison DataSet file, and output three smaller DataSets representing the Data Source rows that must be added, updated and deleted in order to make the Data Source identical to the comparison DataSet.

Inputs

KeyValue
dataSourceUrlRequiredThe URL of the Data Source DataSet. This DataSet should represent an existing GoFormz Data Source that you wish to update, and is typically obtained using the Get Data Source action.
dataSetUrlRequiredThe URL of the comparison DataSet. This typically comes from an external data source that we want to use to update the GoFormz Data Source.
dataSetKeyColumnRequiredThe name of the comparison DataSet column containing the key. This should match the "Key" column from the the GoFormz Data Source — e.g. if the Data Source is keyed by customer name, then the comparison DataSet should also be keyed by customer name.

Outputs

KeyValue
add_dataSetUrlThe URL of the Add DataSet. This is a DataSet JSON file containing the rows from the comparison DataSet (dataSetUrl) that do not have matching keys in the Data Source DataSet (dataSourceUrl).
add_storageFileNameThe filename of the Add Dataset from add_dataSetUrl. Use this as an input for the Add Data Source Rows action to add the rows in this DataSet to your Data Source.
update_dataSetUrlThe URL of the Update DataSet. This is a DataSet JSON file containing the rows from the Data Source DataSet (dataSourceUrl) that do have matching keys in the comparison DataSet (dataSetUrl).
update_storageFileNameThe filename of the Update DataSet from update_dataSetUrl. Use this as an input for the Update Data Source Rows action to update the Data Source rows contained in this DataSet.
deleteListA comma delimited list of row IDs from the Data Source DataSet (dataSourceUrl) for rows that do not have equivalent keys in the Comparison DataSet (dataSetUrl). Use this as an input for the Delete Data Source Rows action to delete the rows indicated in this list.

Usage

This action compares a DataSet file representing a GoFormz Data Source (dataSourceUrl) and another DataSet file representing an external data source (dataSetUrl). The files are compared using the "Key" column from the GoFormz Data Source and the dataSetKeyColumn column from the external data source. So, for instance, if dataSourceUrl has a row with "Acme, Inc." in its "Key" column, and dataSetUrl has a row with "Acme, Inc." in its dataSetKeyColumn column, then those two rows are considered to be matching.

The comparison output consists of 3 components:

  • A DataSet file containing all rows from the external data that do not have have a match in the GoFormz data (add_dataSetUrl, add_storageFileName). These rows should be added to the GoFormz Data Source.
  • A DataSet file containing all rows from the GoFormz data that DO have a match in the external data (update_dataSetUrl, update_storageFileName). These are rows that you may want to update in the GoFormz Data Source.
  • A comma-separated list of GoFormz row IDs corresponding to rows in the GoFormz data that do not have a match in the SalesForce data (deleteList). These are rows that you may want to delete from the GoFormz Data Source.

This action is typically used as part of a workflow to sync a GoFormz Data Source with an external data source. See here for a full step-by-step example of this use case, with screenshots.