// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
= image:kamelets/salesforce-source.svg[] Salesforce Source

*Provided by: "Apache Software Foundation"*

Receive updates from Salesforce.

== Configuration Options

The following table summarizes the configuration options available for the `salesforce-source` Kamelet:
[width="100%",cols="2,^2,3,^2,^2,^3",options="header"]
|===
| Property| Name| Description| Type| Default| Example
| *clientId {empty}* *| Consumer Key| The Salesforce application consumer key| string| | 
| *clientSecret {empty}* *| Consumer Secret| The Salesforce application consumer secret| string| | 
| *password {empty}* *| Password| The Salesforce user password| string| | 
| *query {empty}* *| Query| The query to execute on Salesforce| string| | `"SELECT Id, Name, Email, Phone FROM Contact"`
| *topicName {empty}* *| Topic Name| The name of the topic/channel to use| string| | `"ContactTopic"`
| *userName {empty}* *| Username| The Salesforce username| string| | 
| loginUrl| Login URL| The Salesforce instance login URL| string| `"https://login.salesforce.com"`| 
|===

NOTE: Fields marked with ({empty}*) are mandatory.

== Usage

This section summarizes how the `salesforce-source` can be used in various contexts.

=== Knative Source

The `salesforce-source` Kamelet can be used as Knative source by binding it to a Knative object.

.salesforce-source-binding.yaml
[source,yaml]
----
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: salesforce-source-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: salesforce-source
    properties:
      clientId: "The Consumer Key"
      clientSecret: "The Consumer Secret"
      password: "The Password"
      query: "SELECT Id, Name, Email, Phone FROM Contact"
      topicName: "ContactTopic"
      userName: "The Username"
  sink:
    ref:
      kind: InMemoryChannel
      apiVersion: messaging.knative.dev/v1
      name: mychannel

----

Make sure you have xref:latest@camel-k::installation/installation.adoc[Camel K installed] into the Kubernetes cluster you're connected to.

Save the `salesforce-source-binding.yaml` file into your hard drive, then configure it according to your needs.

You can run the source using the following command:

[source,shell]
----
kubectl apply -f salesforce-source-binding.yaml
----
// THIS FILE IS AUTOMATICALLY GENERATED: DO NOT EDIT
