Create Bulk Job

salesforce.bulk_create_job
ActionCRM & salesconnection required

Calls the Salesforce REST API at the connection's instance URL.

Open a Bulk API 2.0 ingest job for a CSV load of one sObject.

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

6 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
sobject
sObject the job loads, e.g. Contact. Supports {{ }}.
stringYes———
operation
What the job does to each CSV row.
stringYes—one of "insert", "update", "upsert", "delete", "hardDelete"—
external_id_field
API name of the external-id field to match on. Required for an upsert job.
stringNo———
line_ending
How the uploaded CSV ends its lines. Salesforce defaults to LF.
stringNo—one of "LF", "CRLF"—
column_delimiter
How the uploaded CSV separates columns. Salesforce defaults to COMMA.
stringNo—one of "BACKQUOTE", "CARET", "COMMA", "PIPE", "SEMICOLON", "TAB"—
assignment_rule_id
Id of an assignment rule to run over Lead or Case rows.
stringNo———

Output

One shape.

result

FieldTypeExample
job_id
The ingest job id.
string—
state
Open, UploadComplete, InProgress, JobComplete, Aborted or Failed.
string—
object
The sObject the job loads.
string—
operation
insert, update, upsert, delete or hardDelete.
string—
created_date
When the job was created.
string—
content_url
Where the CSV batch is uploaded (the batches path).
string—
records_processed
How many records Salesforce has processed so far.
number—
records_failed
How many records failed.
number—
error_message
Why the job failed, when it did.
string—
job_type
V2Ingest for a Bulk API 2.0 ingest job.
string—
content_type
Always CSV for Bulk API 2.0 ingest.
string—
line_ending
LF or CRLF.
string—
column_delimiter
The CSV delimiter the job expects.
string—
{
  "column_delimiter": "",
  "content_type": "",
  "content_url": "",
  "created_date": "",
  "error_message": "",
  "job_id": "",
  "job_type": "",
  "line_ending": "",
  "object": "",
  "operation": "",
  "records_failed": 0,
  "records_processed": 0,
  "state": ""
}

Notes

  • The job opens in state Open and loads nothing until it is closed with salesforce.bulk_close_job.

See Create Bulk Job 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.