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.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
sobject sObject type, e.g. Contact. Supports {{ }}. | string | Yes | — | — | — |
external_id_field API name of the external-id field to match on, e.g. External_Id__c. | string | Yes | — | — | — |
external_id_value The external-id value to look up. Supports {{ }}. | string | Yes | — | — | — |
fields Field values to set (JSON). | object | Yes | — | — | — |
Output
One shape.
result
| Field | Type | Example |
|---|---|---|
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.
Templates that use Salesforce
Solutions with Salesforce
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.