contact/update
Update one or more fields on an existing Salesforce Contact record.
When to Use
- Update a contact's title or department when they change roles at their company.
- Sync updated phone number or email received from a preference centre form.
- Reassign contact owner during territory or account realignment.
- Enrich contact data with mobile phone and mailing address from a third-party data service.
- Update contact description with notes from a recent support interaction.
Configuration
Connection
| Field | Type | Required | Description |
InstanceUrl | string | required | Salesforce org URL. |
AccessToken | string | required | Valid OAuth2 access token. |
Operation Fields
| Field | Type | Required | Description |
ContactId | string | required | 18-character Salesforce Contact ID. |
FirstName | string | optional | Updated first name. |
LastName | string | optional | Updated last name. |
Email | string | optional | Updated email address. |
Phone | string | optional | Updated office phone. |
MobilePhone | string | optional | Updated mobile phone. |
Title | string | optional | Updated job title. |
Department | string | optional | Updated department. |
AccountId | string | optional | Reassign to a different Account. |
OwnerId | string | optional | New contact owner User ID. |
Description | string | optional | Updated 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 Code | Condition |
CFG_MISSING_INSTANCE | InstanceUrl is missing. |
CFG_MISSING_TOKEN | AccessToken is missing. |
VAL_MISSING_FIELD | ContactId is missing. |
UNEXPECTED_ERROR | Unexpected exception. |
Output
Success Port
| Field | Type | Description |
status | string | Always updated. |
resource | string | Always contact. |
operation | string | Always update. |
Error Port
| Field | Type | Description |
errorCode | string | Machine-readable error code. |
message | string | Error description. |
Sample Output
{ "status": "updated", "resource": "contact", "operation": "update" }
Expression Reference
| Expression | Description |
{{nodes.UpdateContact.status}} | Operation result. |
{{nodes.UpdateContact.errorCode}} | Error code from error port. |
Node Policies & GuardRails
| Policy | Detail |
| Partial update | Only fields in configuration are updated; all others retain existing values. |
| Email uniqueness | If your org enforces unique email addresses on Contact, updating Email to a duplicate value will fail. Wire the error port. |
| Validation rules | Org-level rules may reject certain field combinations. |
| Error port wiring | Always wire the error port. |
| Sandbox testing | Test 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}}"
}