Composite Batch
salesforce.composite_batch
ActionCRM & salesconnection required
Calls the Salesforce REST API at the connection's instance URL.
Send up to 25 independent REST subrequests in one call and get every result.
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
2 fields, 1 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 |
|---|---|---|---|---|---|
batch_requests Subrequests as JSON: [{"method": "GET", "url": "v59.0/sobjects/Account/001..."}]. Add "richInput" for a body. | array | Yes | — | array of object | — |
halt_on_error True to stop after the first subrequest that fails. | boolean | No | false | — | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"halt_on_error": false
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
has_errors True when any subrequest failed. | boolean | — |
results One entry per subrequest. | array | — |
results[].statusCode The subrequest's HTTP status. | number | — |
results[].result The subrequest's response body. | any | — |
count How many subrequest results came back. | number | — |
{
"count": 0,
"has_errors": false,
"results": [
{
"result": null,
"statusCode": 0
}
]
}Notes
- Salesforce caps a batch at 25 subrequests, and each one counts against the org's API limits.
- A batch subrequest url starts at the version, not at /services/data — "v59.0/sobjects/Account/001…". (The /composite node's urls are the full path.)
- Subrequests are not one transaction: a failure rolls back only that subrequest.
Templates that use Salesforce
Solutions with Salesforce
See Composite Batch 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.