Skip to main content

Getting Started

Three steps take you from nothing to Salesforce change events flowing into Kafka:

  1. Set up Salesforce — create a Connected App with the Client Credentials (or JWT Bearer) OAuth flow and enable Change Data Capture for the objects you want to stream.
  2. Install the plugins — download a connector ZIP from GitHub Releases (or build with mvn clean package), unzip it onto your Connect worker's plugin.path, and restart the worker.
  3. Run the quickstart — a docker-compose stack plus a ready-to-POST connector config.

Requirements

RequirementVersion
Apache Kafka / Kafka Connect3.x (2.6+ for DLQ support)
Java (Connect worker)17+
Salesforce editionEnterprise, Performance, Unlimited, or Developer (Pub/Sub API)
Salesforce API versionv60.0 default; configurable (Bulk API 2.0 requires ≥ v47.0)

Orgs without Pub/Sub API access (e.g. Government Cloud) can use the legacy Streaming source or the source connector's polling mode.

Verify the plugin installation

After restarting the worker, the connector classes should appear in the plugin list:

curl -s localhost:8083/connector-plugins | jq '.[].class' | grep salesforce
"sh.oso.salesforce.source.SalesforceSourceConnector"
"sh.oso.salesforce.sink.SalesforceSinkConnector"
"sh.oso.salesforce.pesink.SalesforcePlatformEventSinkConnector"
"sh.oso.salesforce.streaming.SalesforceStreamingSourceConnector"