<a id="salesforce-source-connector"></a>

# Salesforce Connector (Source and Sink) for Confluent Platform

The Salesforce Connector integrates [Salesforce.com](https://developer.salesforce.com) with Apache Kafka® now includes both a sink connector and a source connector.

The Salesforce Source connector provides the capability to capture changes from Salesforce.com by way of [Salesforce Streaming API PushTopics](https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/pushtopic_events_intro.htm) or [Salesforce Enterprise Messaging Platform Events](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_intro_emp.htm).
*PushTopics* provide the ability to subscribe to create, update, delete, and undelete events related to Salesforce Objects (SObjects).
*Platform Events* are user defined publish/subscribe events.
*CDC* provides a way to monitor Salesforce records.

#### NOTE
The connector dynamically creates PushTopics if needed when the connector is launched. However, Platform Events must be pre-defined and published in Salesforce. More information on [defining platform events](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_define.htm) and [publishing platform events](https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_events_publish.htm) is available at Salesforce.com.

The Salesforce Sink connector provides the ability to consume Kafka topics and perform the corresponding create, update, delete, and upsert operations on Salesforce SObjects and publishing Platform Events.

#### NOTE
The Salesforce SObjects sink connector requires the Kafka records to have the same structure and format as the records output by the PushTopic source connector. Similarly, the Platform Events sink connector requires the Kafka records to have the same structure and format as the records output by the Platform Events source connector.

## Install the Salesforce Connector

You can install this connector by using the [instructions](https://docs.confluent.io/kafka-connectors/self-managed/confluent-hub/client.html) or you can
manually download the ZIP file.

### Install the connector using Confluent Marketplace

Prerequisite
: [Confluent Marketplace Client](https://docs.confluent.io/kafka-connectors/self-managed/confluent-hub/client.html) must be installed. This is installed by default with Confluent Enterprise.

Navigate to your Confluent Platform installation directory and run the following command to install the latest (`latest`) connector version. The connector must be installed on every machine where Connect will run.

```bash
confluent-hub install confluentinc/kafka-connect-salesforce:latest
```

You can install a specific version by replacing `latest` with a version number. For example:

```bash
confluent-hub install confluentinc/kafka-connect-salesforce:1.2.0
```

### Install the connector manually

[Download and extract the ZIP file](https://www.confluent.io/hub/confluentinc/kafka-connect-salesforce) for your connector and then follow the manual connector installation [instructions](/kafka-connectors/self-managed/userguide.html#connect-installing-plugins).

<a id="salesforce-connector-license"></a>

## License

You can use this connector for a 30-day trial period without a license key.

After 30 days, you must purchase a connector subscription which includes [Confluent enterprise license](/platform/current/installation/license.html#enterprise-subscription-license) keys to subscribers, along with [enterprise-level support](https://www.confluent.io/subscription/) for Confluent Platform and your connectors. If you are a subscriber, you can contact [Confluent Support](https://support.confluent.io/) for more information.

Each Salesforce connector counts as a separate connector type for
Connector Pack licensing purposes on Confluent Platform:

- Salesforce PushTopic Source Connector
- Salesforce Change Data Capture Source Connector
- Salesforce Platform Event Source Connector
- Salesforce Platform Event Sink Connector
- Salesforce SObject Sink Connector
- Salesforce Bulk API Source Connector
- Salesforce Bulk API Sink Connector

Although these connectors share a single installation artifact and connect
to the same Salesforce system, each functions as a distinct connector type. Factor
this into your Connector Pack allocation when planning your deployment.

For license properties, see [Confluent Platform license](platformevents/salesforce_platformevent_source_connector_config.md#salesforce-connector-license-config) and for information about the license
topic, see:

- [Salesforce Platform Event Source connector license topic configuration](platformevents/salesforce_platformevent_source_connector_config.md#salesforce-platformevent-source-license-topic-configuration)
- [Salesforce Platform Events Sink connector license topic configuration](platformevents_sink/salesforce_platformevent_sink_connector_config.md#salesforce-platformevent-sink-license-topic-configuration)
- [Salesforce Push Topic Source connector license topic configuration](pushtopics/salesforce_pushtopic_source_connector_config.md#salesforce-pushtopic-source-license-topic-configuration)
- [Salesforce SObject Sink connector license topic configuration](sobjects_sink/salesforce_sobject_sink_connector_config.md#salesforce-sobject-sink-license-topic-configuration)
- [Salesforce CDC Source connector license topic configuration](change-data-capture/salesforce_cdc_source_connector_config.md#salesforce-cdc-source-license-topic-configuration)

## Configuration Properties

Refer to the specific Salesforce connector document for configuration properties.

For an example of how to get Kafka Connect connected to [Confluent Cloud](/cloud/current/index.html), see
[Connect Self-Managed Kafka Connect to Confluent Cloud](/cloud/current/cp-component/connect-cloud-config.html#distributed-cluster).
