Upsert Record

salesforce.upsert_record
ActionCRM & salesconnection required

Calls the Salesforce REST API at the connection's instance URL.

Create or update a record matched on an external-id field.

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
Salesforce
Secret shape
{"client_id", "client_secret", "refresh_token"}
Config it needs
login_url, api_version
Resolved by
config.connection_id, else node.connection_id

Configuration

4 fields, 4 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
sobject
sObject type, e.g. Contact. Supports {{ }}.
stringYes———
external_id_field
API name of the external-id field to match on, e.g. External_Id__c.
stringYes———
external_id_value
The external-id value to look up. Supports {{ }}.
stringYes———
fields
Field values to set (JSON).
objectYes———

Output

One shape.

result

FieldTypeExample
id
The created or matched record id.
string—
created
True when the record was created, false when updated.
boolean—
success
True when Salesforce accepted the write.
boolean—
{
  "created": false,
  "id": "",
  "success": false
}

Notes

  • Do not repeat the external-id field inside 'fields' — it is already in the URL.
  • Older API versions answer an update with 204 and no body; 'id' is then null.

See Upsert Record run in a workflow.

In a technical demo we add the Salesforce connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.