# batchforce

Bulk operations for Salesforce data.

## Usage

```bash
# Update records from query
batchforce update --query "SELECT Id, Name FROM Account" Account '{Id: record.Id, Name: record.Name + " Updated"}'

# Insert new records from existing
batchforce insert --query "SELECT Id, Name FROM Account WHERE Type = 'Customer'" Account '{Name: record.Name + " Copy"}'

# Upsert from CSV with external ID
batchforce upsert --external-id External_Id__c --file accounts.csv Account '{Name: record.Name}'

# Delete with conditional logic
batchforce delete --query "SELECT Id, Name FROM Account" Account 'record.Name matches "test.*" ? {Id: record.Id} : nil'

# Dry run to preview changes
batchforce update --dry-run --query "SELECT Id, Name FROM Account LIMIT 5" Account '{Id: record.Id, Name: "Test"}'
```

## Why use batchforce?

- **Handles large datasets**: Millions of records, automatic batching
- **Error recovery**: Failed records reported, partial success handling
- **Flexible operations**: Update, delete, upsert, transform
- **Validation**: Dry-run mode, data validation before commit

## Pricing

**Enterprise**: $100/month per org (unlimited users)

**Consulting**: $100/month per user (unlimited orgs)

7-day trial for both models. Subscribe via the [pricing page](/content/tools/batchforce/subscribe/index.html).

## Download

[Download latest release →](https://github.com/octoberswimmer/batchforce/releases)

## Web Version

Try batchforce in your browser without installing anything:

[Launch web version →](https://batchforce.octoberswimmer.com/)

## Links

- [GitHub Repository](https://github.com/octoberswimmer/batchforce)

## Docs

- [Docs →](/content/tools/batchforce/docs/index.html)
