| name | sf-data |
| description | Data operations including SOQL queries, single record CRUD, bulk import/export/update, and search. |
sf data Operations
Commands for data operations.
sf data query
Execute SOQL queries.
sf data query --target-org myOrg --query "SELECT Id, Name FROM Account LIMIT 10"
sf data query --target-org myOrg \
--query "SELECT Id, Name, BillingCity FROM Account WHERE BillingCity = 'San Francisco'" \
--result-format json
sf data query --target-org myOrg \
--query "SELECT Id, Name FROM Account" > accounts.json
sf data query --target-org myOrg \
--query "SELECT Id, Name FROM ApexClass" \
--use-tooling-api
sf data query --target-org myOrg \
--query "SELECT Id, Name FROM Account" \
--all-rows
sf data export bulk --target-org myOrg \
--query "SELECT Id, Name FROM Account" \
--output-file accounts.json \
--result-format json
Flags
| Flag | Description |
|---|
-q, --query | SOQL query string |
-o, --target-org | Target org |
-r, --result-format | Output format: human, json, csv |
--use-tooling-api | Use Tooling API |
--all-rows | Include deleted records |
--output-file | Write CSV or JSON query output to a file |
sf data create record
Create a single record.
sf data create record --target-org myOrg \
--sobject Account \
--values "Name='Test Account' Industry='Technology'"
sf data get record
Retrieve a single record.
sf data get record --target-org myOrg --sobject Account --record-id 001xx
sf data get record --target-org myOrg --sobject Account \
--where "Name='Test Account'"
sf data update record
Update a single record.
sf data update record --target-org myOrg \
--sobject Account \
--record-id 001xx \
--values "Name='Updated Name'"
sf data delete record
Delete a single record.
sf data delete record --target-org myOrg --sobject Account --record-id 001xx
sf data import bulk
Bulk insert records from a CSV file using Bulk API 2.0.
sf data import bulk --target-org myOrg \
--sobject Account \
--file accounts.csv \
--line-ending LF
sf data import bulk --target-org myOrg \
--sobject Contact \
--file contacts.csv \
--line-ending LF \
--column-delimiter COMMA
Flags
| Flag | Description |
|---|
-s, --sobject | Target object API name (required) |
-f, --file | CSV file with records (required) |
--line-ending | Line ending: CRLF or LF (required) |
--column-delimiter | Delimiter: BACKQUOTE, CARET, COMMA, PIPE, SEMICOLON, TAB |
-w, --wait | Wait time in minutes |
sf data export bulk
Bulk export records to a file using SOQL query with Bulk API 2.0.
sf data export bulk --target-org myOrg \
--query "SELECT Id, Name FROM Account" \
--output-file accounts.csv \
--result-format csv
sf data export bulk --target-org myOrg \
--query "SELECT Id, Name, BillingCity FROM Account WHERE BillingCity = 'Sydney'" \
--output-file accounts.json \
--result-format json
sf data export bulk --target-org myOrg \
--query "SELECT Id FROM Account" \
--output-file all.csv \
--all-rows
Flags
| Flag | Description |
|---|
-q, --query | SOQL query to execute |
--query-file | File containing SOQL query |
-r, --result-format | Output format: csv or json (default: csv) |
--output-file | Output file path (required) |
--all-rows | Include deleted records |
sf data update bulk
Bulk update records from a CSV file using Bulk API 2.0.
sf data update bulk --target-org myOrg \
--sobject Account \
--file updates.csv \
--line-ending LF
CSV must include the Id column. Flags same as sf data import bulk.
sf data upsert bulk
Bulk upsert records using Bulk API 2.0.
sf data upsert bulk --target-org myOrg \
--sobject Account \
--file accounts.csv \
--external-id Id
sf data upsert bulk --target-org myOrg \
--sobject Account \
--file accounts.csv \
--external-id Account_External_Id__c
Flags
Same as sf data import bulk, plus:
| Flag | Description |
|---|
--external-id | External ID field for matching (required) |
sf data delete bulk
Bulk delete records using Bulk API 2.0.
sf data delete bulk --target-org myOrg \
--sobject Account \
--file delete_accounts.csv
CSV must include the Id column.
sf data tree export / import
Export/import data in tree format (parent-child relationships).
sf data tree export --target-org myOrg \
--query "SELECT Id, Name, (SELECT Id, Name FROM Contacts) FROM Account LIMIT 10" \
--output-dir export-data
sf data tree import --target-org myOrg \
--sobject-tree-files export-data/Account.json
sf data search
Execute SOSL search.
sf data search --target-org myOrg --query "FIND {John} IN ALL FIELDS"
sf data create file
Upload file to Salesforce.
sf data create file --target-org myOrg \
--file path/to/document.pdf \
--title "My Document" \
--parent-id 001xx000003DGbY
sf data import/export/update/upsert/delete resume
Resume bulk operations. There is no generic sf data bulk status,
sf data bulk results, or sf data resume bulk command in CLI 2.140.6; use
the operation-specific resume command printed by the original bulk command.
sf data import resume --job-id <job-id> --json
sf data export resume --job-id <job-id> --json
sf data update resume --job-id <job-id> --target-org myOrg --json
sf data upsert resume --job-id <job-id> --target-org myOrg --json
sf data delete resume --job-id <job-id> --target-org myOrg --json