Publish / saas · All operations
Update or upsert records in an application
A variant of Write to an application's API
Change the application's existing records matched by key, or create them where none match.
Status
- In arcform
Not built yet
arcform does not do this yet. Its place on the roadmap
What other tools call it
Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).
Apache Hop (2)
Salesforce Updateread 2026-09-27Update records in a Salesforce object
Salesforce Upsertread 2026-09-27Insert or update records in a Salesforce object by key
Bruin (3)
EasyMorph (4)
Update/delete records in Salesforceread 2026-09-27Update or delete records of a Salesforce object (paid editions only)
Update/delete rows in Airtableread 2026-09-27Update or delete rows of an Airtable table (paid editions only)
Update/delete rows in SharePoint listread 2026-09-27Update or delete rows of a SharePoint list (paid editions only)
Zendesk commandread 2026-09-27Create, update or delete Zendesk tickets
Pentaho Data Integration (3)
OpenERP object output (deprecated)read 2026-09-27Deprecated: update records on an OpenERP server over XML-RPC
Salesforce Updateread 2026-09-27Update records in a Salesforce module
Salesforce Upsertread 2026-09-27Insert or update records in a Salesforce module
RapidMiner Studio (1)
Update Salesforceread 2026-09-27Update Salesforce records from the input rows
Background
In Bruin, the merge strategy is an upsert: it updates the matching record in the target application, or creates it if there is none.[1] Bruin's update strategy changes matching records only, and a row with no match is rejected, never created.[1] Apache Hop's Salesforce Upsert transform updates existing records and inserts new records in Salesforce through the Salesforce Web Service.[2]
When to use it
Choose update when a missing record is a mistake you want to hear about, and upsert when it is a record the application should now have. (Meridian's view) In EasyMorph's Salesforce action, Update mode fails a record that does not already exist, while Upsert mode creates it.[3]
In Bruin, a NULL in the source is written through by default, clearing the field in the application.[1] In Bruin, setting write_nulls to false omits a NULL cell and leaves the value already stored untouched.[1] EasyMorph's Airtable update can either keep the values of a row that are not updated or blank them out.[4] In RapidMiner's Update Salesforce operator, attributes that are not selected for update are ignored.[5] Decide before the first run whether an empty value in your result means clear the field or leave it alone. (Meridian's view)
RapidMiner's Update Salesforce operator always treats datetime fields as Coordinated Universal Time (UTC).[5] EasyMorph's Airtable update has a setting that prevents Airtable from typecasting text values automatically.[4]
The method
In Apache Hop's Salesforce Upsert transform, the Upsert Comparison Field determines whether a row updates an existing record or inserts a new one.[2] Apache Hop's Salesforce Update and Upsert transforms can flag a field as linking to an external ID, which Salesforce resolves from the object type, column name and relationship name.[6][2] In Bruin, the remote field to match on is set on the destination_table parameter, such as Contact?external_id=Email on Salesforce.[1] RapidMiner's Update Salesforce operator needs an ID column in its input, and each input row updates one record identified by that ID.[5] An upsert keyed on a field the application keeps unique is the safest write to repeat after a failed run. (Meridian's view)
Compared with the alternatives
In Structured Query Language (SQL), the MERGE statement, also called upsert, inserts new records or updates or deletes existing ones depending on whether a condition matches.[7] The MERGE statement was officially introduced in the SQL:2003 standard.[7] Some database implementations use the term upsert for a statement that inserts a record if it does not exist or, if it already exists, updates the existing record.[7]
Sources
- [1]Reverse ETL | Bruin CLIdocumentation
- [2]Salesforce Upsert | Apache Hopdocumentation
- [3]UPDATE/DELETE RECORDS IN SALESFORCE [EasyMorph Help]documentation
- [4]UPDATE/DELETE ROWS IN AIRTABLE [EasyMorph Help]documentation
- [5]Update Salesforce - Rapidminer Documentationdocumentation
- [6]Salesforce Update | Apache Hopdocumentation
- [7]Merge (SQL) - Wikipediasecondary source