contact/getAll
Query and retrieve multiple Contact records from Salesforce with an optional filter and limit.
When to Use
- Retrieve all contacts for an account before sending an account-wide announcement.
- Sync contacts to an email marketing platform for campaign segmentation.
- Pull contacts by department or title for targeted outreach.
- Export all contacts for a compliance or data audit report.
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 |
Query | string | optional | SOQL WHERE clause filter, e.g. AccountId = '0015g000007HijKAB'. |
Limit | int | optional | Maximum number of records to return. |
Sample Configuration
{
"Resource": "contact",
"Operation": "getAll",
"InstanceUrl": "https://myorg.my.salesforce.com",
"AccessToken": "{{credentials.salesforce.accessToken}}",
"Query": "AccountId = '{{trigger.accountId}}'",
"Limit": 100
}
Validation Errors
| Error Code | Condition |
CFG_MISSING_INSTANCE | InstanceUrl is missing. |
CFG_MISSING_TOKEN | AccessToken is missing. |
UNEXPECTED_ERROR | Unexpected exception. |
Output
Success Port
| Field | Type | Description |
records | array | Array of Contact objects. |
totalSize | int | Number of contacts returned. |
resource | string | Always contact. |
operation | string | Always getAll. |
Error Port
| Field | Type | Description |
errorCode | string | Machine-readable error code. |
message | string | Error description. |
Sample Output
{
"records": [
{ "Id": "0035g000006LmnOPQ", "FirstName": "Alex", "LastName": "Rivera", "Email": "alex@acme.com" },
{ "Id": "0035g000006XyzABC", "FirstName": "Sam", "LastName": "Torres", "Email": "sam@acme.com" }
],
"totalSize": 2,
"resource": "contact",
"operation": "getAll"
}
Expression Reference
| Expression | Description |
{{nodes.GetAllContacts.records}} | Array of all Contact records. |
{{nodes.GetAllContacts.totalSize}} | Count of contacts returned. |
{{nodes.GetAllContacts.records[0].Email}} | First contact's email. |
Node Policies & GuardRails
| Policy | Detail |
| Credential storage | Store AccessToken in BizFirst Credentials Manager. |
| Query filter safety | Never interpolate unsanitized input into Query. |
| Limit enforcement | Always set a Limit in production. |
| Large datasets | Use soql/executeWithPagination for full contact exports. |
| Error port wiring | Always wire the error port. |
Examples
All Contacts for an Account
{ "Query": "AccountId = '{{trigger.accountId}}'", "Limit": 200 }
Contacts by Title for Executive Outreach
{ "Query": "Title LIKE '%VP%' OR Title LIKE '%Director%'", "Limit": 100 }
Sync New Contacts to Marketing Platform
{ "Query": "CreatedDate = LAST_7_DAYS", "Limit": 500 }
// Loop: send each contact to email marketing API