Portal Community

contact/update

Update one or more fields on an existing Salesforce Contact record.

When to Use

Configuration

Connection

FieldTypeRequiredDescription
InstanceUrlstringrequiredSalesforce org URL.
AccessTokenstringrequiredValid OAuth2 access token.

Operation Fields

FieldTypeRequiredDescription
ContactIdstringrequired18-character Salesforce Contact ID.
FirstNamestringoptionalUpdated first name.
LastNamestringoptionalUpdated last name.
EmailstringoptionalUpdated email address.
PhonestringoptionalUpdated office phone.
MobilePhonestringoptionalUpdated mobile phone.
TitlestringoptionalUpdated job title.
DepartmentstringoptionalUpdated department.
AccountIdstringoptionalReassign to a different Account.
OwnerIdstringoptionalNew contact owner User ID.
DescriptionstringoptionalUpdated notes.

Sample Configuration

{
  "Resource": "contact",
  "Operation": "update",
  "InstanceUrl": "https://myorg.my.salesforce.com",
  "AccessToken": "{{credentials.salesforce.accessToken}}",
  "ContactId": "{{trigger.contactId}}",
  "Title": "{{trigger.newTitle}}",
  "Phone": "{{trigger.newPhone}}"
}

Validation Errors

Error CodeCondition
CFG_MISSING_INSTANCEInstanceUrl is missing.
CFG_MISSING_TOKENAccessToken is missing.
VAL_MISSING_FIELDContactId is missing.
UNEXPECTED_ERRORUnexpected exception.

Output

Success Port

FieldTypeDescription
statusstringAlways updated.
resourcestringAlways contact.
operationstringAlways update.

Error Port

FieldTypeDescription
errorCodestringMachine-readable error code.
messagestringError description.

Sample Output

{ "status": "updated", "resource": "contact", "operation": "update" }

Expression Reference

ExpressionDescription
{{nodes.UpdateContact.status}}Operation result.
{{nodes.UpdateContact.errorCode}}Error code from error port.

Node Policies & GuardRails

PolicyDetail
Partial updateOnly fields in configuration are updated; all others retain existing values.
Email uniquenessIf your org enforces unique email addresses on Contact, updating Email to a duplicate value will fail. Wire the error port.
Validation rulesOrg-level rules may reject certain field combinations.
Error port wiringAlways wire the error port.
Sandbox testingTest in sandbox first.

Examples

Update Contact Title on Job Change

{ "ContactId": "{{trigger.contactId}}", "Title": "{{trigger.newTitle}}", "Department": "{{trigger.newDept}}" }

Sync Email from Preference Centre

{ "ContactId": "{{nodes.FindContact.records[0].Id}}", "Email": "{{trigger.newEmail}}" }

Enrich with Data Service Results

{
  "ContactId": "{{trigger.contactId}}",
  "MobilePhone": "{{nodes.Enrich.mobile}}",
  "MailingStreet": "{{nodes.Enrich.street}}",
  "MailingCity": "{{nodes.Enrich.city}}"
}