.. _salesforce-source-connector:

|kconnect-long| Salesforce Connector (Source and Sink)
======================================================

The Salesforce Connector integrates `Salesforce.com <https://developer.salesforce.com>`_ with |ak-tm| now includes both a sink connector and a source connector. 

The Salesforce source connector provides the capability to capture changes from Salesforce.com via `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.

.. 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 |ak| 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 |ak| 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 |ak| records to have the same structure and format as the records output by the Platform Events source connector.


     
Install Salesforce Connector
----------------------------

.. include:: ../includes/connector-install.rst

.. include:: ../includes/connector-install-hub.rst

.. codewithvars:: bash

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

.. include:: ../includes/connector-install-version.rst

.. codewithvars:: bash

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


Install Connector Manually
--------------------------

`Download and extract the ZIP file <https://www.confluent.io/connector/kafka-connect-salesforce/#download>`_ for your
connector and then follow the manual connector installation :ref:`instructions <connect_install_connectors>`.

.. _salesforce_connector_license:

License
-------

.. include:: ../includes/enterprise-license.rst

For license properties, see :ref:`salesforce-connector-license-config` and for information about the license
topic, see:

- :ref:`Salesforce Platform Event Source Connector license topic configuration <salesforce-platformevent-source_license-topic-configuration>`
- :ref:`Salesforce Platform Events Sink Connector license topic configuration <salesforce-platformevent-sink-license-topic-configuration>`
- :ref:`Salesforce Push Topic Source Connector license topic configuration <salesforce-pushtopic-source-license-topic-configuration>`
- :ref:`Salesforce SObject Sink Connector license topic configuration <salesforce-sobject-sink-license-topic-configuration>`



Additional Documentation
------------------------

.. toctree::
   :maxdepth: 1

   pushtopics/index
   sobjects_sink/index
   platformevents/index
   platformevents_sink/index
   changelog