contact/delete
Delete a Contact record from Salesforce. Records are soft-deleted to the Recycle Bin for 15 days.
Destructive Operation: Contact deletion is soft-deleted and remains in the Recycle Bin for 15 days. After that period, it is permanently removed. Consider using a custom IsInactive field or updating the contact's email to a placeholder as a non-destructive alternative for audit scenarios.
When to Use
- Remove a duplicate contact after merging it into the canonical record.
- Delete test contacts created during workflow QA.
- Process a GDPR right-to-erasure request that requires contact-level data removal.
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 of the record to delete. |
Sample Configuration
{
"Resource": "contact",
"Operation": "delete",
"InstanceUrl": "https://myorg.my.salesforce.com",
"AccessToken": "{{credentials.salesforce.accessToken}}",
"ContactId": "{{nodes.FindDuplicateContact.Id}}"
}
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 deleted. |
resource | string | Always contact. |
operation | string | Always delete. |
Error Port
| Field | Type | Description |
errorCode | string | Machine-readable error code. |
message | string | Error description. |
Sample Output
{ "status": "deleted", "resource": "contact", "operation": "delete" }
Expression Reference
| Expression | Description |
{{nodes.DeleteContact.status}} | Deletion result. |
{{nodes.DeleteContact.errorCode}} | Error code from error port. |
Node Policies & GuardRails
| Policy | Detail |
| Recycle Bin | Deleted contacts remain recoverable for 15 days. |
| Prefer deactivation | For contacts you want to suppress but not remove permanently, use a custom field or update their email to a placeholder address. |
| GDPR compliance | Confirm identity verification before processing erasure. Log deletion in your compliance system. |
| Permission required | Authenticated user must have Delete permission on Contact. |
| Error port wiring | Always wire the error port. |
Examples
Remove Duplicate After Merge
{ "ContactId": "{{nodes.DedupeCheck.duplicateContactId}}" }
GDPR Erasure for Contact
// SOQL find: SELECT Id FROM Contact WHERE Email = '{{trigger.subjectEmail}}'
{ "ContactId": "{{nodes.FindContact.records[0].Id}}" }
// Log: write to compliance audit table
Cleanup QA Test Contacts
// GetAll: Query = "LastName = 'QA_TEST_DELETE'"
// Loop: contact/delete each
{ "ContactId": "{{loop.current.Id}}" }