diff --git a/salesforce-composite/2.20/modules/ROOT/pages/index.adoc b/salesforce-composite/2.20/modules/ROOT/pages/index.adoc
index 70bee36f39..c84832b4b4 100644
--- a/salesforce-composite/2.20/modules/ROOT/pages/index.adoc
+++ b/salesforce-composite/2.20/modules/ROOT/pages/index.adoc
@@ -1,5 +1,4 @@
= Salesforce Composite Connector 2.20
-:page-aliases: connectors::salesforce/salesforce-composite-connector.adoc
diff --git a/salesforce-composite/2.20/modules/ROOT/pages/salesforce-composite-connector-reference.adoc b/salesforce-composite/2.20/modules/ROOT/pages/salesforce-composite-connector-reference.adoc
index b4a21e674c..b1939ef31b 100644
--- a/salesforce-composite/2.20/modules/ROOT/pages/salesforce-composite-connector-reference.adoc
+++ b/salesforce-composite/2.20/modules/ROOT/pages/salesforce-composite-connector-reference.adoc
@@ -1,5 +1,4 @@
= Salesforce Composite Connector 2.20 Reference
-:page-aliases: connectors::salesforce/salesforce-composite-connector-reference.adoc
diff --git a/salesforce-composite/2.21/antora.yml b/salesforce-composite/2.21/antora.yml
new file mode 100644
index 0000000000..7feafbfa4d
--- /dev/null
+++ b/salesforce-composite/2.21/antora.yml
@@ -0,0 +1,17 @@
+name: salesforce-composite-connector
+version: '2.21'
+display_version: 2.21 (Mule 4)
+title: Salesforce Composite Connector
+nav:
+- modules/ROOT/nav.adoc
+asciidoc:
+ attributes:
+ page-component-desc: Enables you to work with the Salesforce Batch and SObject Tree APIs.
+ page-connector-type: Connector
+ page-connector-level: Select
+ page-exchange-group-id: com.mulesoft.connectors
+ page-exchange-asset-id: mule-salesforce-composite-connector
+ page-release-notes-page: release-notes::connector/salesforce-composite-connector-release-notes-mule-4.adoc
+ page-vendor-name: salesforce
+ page-vendor-title: Salesforce
+ page-notice-banner-message: Standard support for Java 8 and 11 ends in August 2026 for 4.6 LTS. Plan your upgrade path for apps that are running on Java 8 or 11 accordingly.
diff --git a/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-global-config.png b/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-global-config.png
new file mode 100644
index 0000000000..16bb4dc503
Binary files /dev/null and b/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-global-config.png differ
diff --git a/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-prequery-flow.png b/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-prequery-flow.png
new file mode 100644
index 0000000000..8b0b2eb6ce
Binary files /dev/null and b/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-prequery-flow.png differ
diff --git a/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-studio-basic-auth.png b/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-studio-basic-auth.png
new file mode 100644
index 0000000000..1e91ee8b49
Binary files /dev/null and b/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-studio-basic-auth.png differ
diff --git a/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-studio-use-case.png b/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-studio-use-case.png
new file mode 100644
index 0000000000..3ea71e2d8c
Binary files /dev/null and b/salesforce-composite/2.21/modules/ROOT/images/salesforce-composite-studio-use-case.png differ
diff --git a/salesforce-composite/2.21/modules/ROOT/nav.adoc b/salesforce-composite/2.21/modules/ROOT/nav.adoc
new file mode 100644
index 0000000000..485db14b90
--- /dev/null
+++ b/salesforce-composite/2.21/modules/ROOT/nav.adoc
@@ -0,0 +1,6 @@
+.xref:index.adoc[Salesforce Composite Connector]
+* xref:index.adoc[Salesforce Composite Connector Overview]
+* xref:salesforce-composite-connector-studio.adoc[Using Anypoint Studio to Configure Salesforce Composite Connector]
+* xref:salesforce-composite-connector-xml-maven.adoc[Salesforce Composite Connector XML and Maven Support]
+* xref:salesforce-composite-connector-examples.adoc[Salesforce Composite Connector Examples]
+* xref:salesforce-composite-connector-reference.adoc[Salesforce Composite Connector Reference]
diff --git a/salesforce-composite/2.21/modules/ROOT/pages/index.adoc b/salesforce-composite/2.21/modules/ROOT/pages/index.adoc
new file mode 100644
index 0000000000..b65cb8939c
--- /dev/null
+++ b/salesforce-composite/2.21/modules/ROOT/pages/index.adoc
@@ -0,0 +1,48 @@
+= Salesforce Composite Connector 2.21
+:page-aliases: connectors::salesforce/salesforce-composite-connector.adoc
+
+
+
+Anypoint Connector for Salesforce Composite enables you to work with the Salesforce Batch and SObject Tree APIs. The connector exposes convenient methods for preparing subordinate requests, executing them in one batch, and parsing the results.
+
+Salesforce Composite Connector also enables you to create SObject trees by using the *Create sobject tree* operation, which is separate from the batch operations.
+
+This connector provides DataSense for execution and to:
+
+* Prepare subordinate requests and then parse the responses
+* Create SObject trees
+
+For compatibility information and fixed issues, see Salesforce Composite Connector Release Notes.
+
+== Before You Begin
+
+To use this connector, you must be familiar with:
+
+* The Salesforce Composite API
+* Anypoint Connectors
+* Mule runtime engine (Mule)
+* Elements and global elements in a Mule flow
+* Creating a Mule app using Anypoint Studio or Anypoint Code Builder
+
+Before creating an app, you must have:
+
+* Credentials to access the Salesforce Composite target resource
+* Anypoint Studio version 7.0 or later
+
+== Authentication Types
+
+Salesforce Composite Connector connections use the following authentication types:
+
+* OAuth v2.0
+* OAuth JWT
+* OAuth SAML
+* OAuth Username and Password
+* Token Connection
+
+For information about configuring these authentication types, see xref:salesforce-composite-connector-studio.adoc[Using Anypoint Studio to Configure Salesforce Composite Connector].
+
+== See Also
+
+* xref:connectors::introduction/introduction-to-anypoint-connectors.adoc[Introduction to Anypoint Connectors]
+* xref:connectors::introduction/intro-use-exchange.adoc[Use Exchange to Discover Connectors, Templates, and Examples]
+* https://help.salesforce.com[Salesforce Help]
diff --git a/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-examples.adoc b/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-examples.adoc
new file mode 100644
index 0000000000..1fe61af94d
--- /dev/null
+++ b/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-examples.adoc
@@ -0,0 +1,463 @@
+= Salesforce Composite Connector 2.21 - Examples
+
+== SObject Tree Operation Example
+
+This example uses the following operations to create an SObject tree to connect to Salesforce and transform and output the results in JSON format:
+
+* HTTP *Listener*
++
+Accepts data from HTTP requests
+* *Transform Message*
++
+Transforms the HTTP input
+* *Create sobject tree*
++
+Connects with Salesforce and creates an SObject tree
+* *Transform Message*
++
+Outputs the results of the *Create sobject tree* operation in JSON format
+
+image::salesforce-composite-studio-use-case.png["Studio flow with an HTTP Listener component, Transform components, and a Create operation"]
+
+=== Add an HTTP Listener
+
+The HTTP *Listener* source operation initiates the flow when it detects an event in the `createSObjectTree` path. To add the listener and trigger the flow, follow these steps:
+
+. Create a new Mule project in Studio.
+. In the *Mule Palette* view, search for `http` and select the *Listener* operation.
+. Drag the *Listener* operation onto the canvas.
+. In the Listener properties window, set the *Path* field to `/createSObjectTree`.
+
+=== Add the First Transform Message Component
+
+The first Transform Message component uses input data to transform the HTTP input for the following Create operation. To add the component, follow these steps:
+
+. In the *Mule Palette* view, search for *Transform Message*.
+. Drag the *Transform Message* component onto the canvas, to the right of *Listener*.
+. Enter the name `Transform HTTP input for Create SObject Tree`.
+
+The following is an example of HTTP input for the Transform Message component:
+
+[source,json,linenums]
+----
+{
+ "records":[
+ {
+ "ChildAccounts":{
+ "records":[
+ {
+ "Phone":"4321098765",
+ "Website":"www.salesforce.com",
+ "attributes":{
+ "objectType":"Account",
+ "referenceId":"ref5"
+ },
+ "NumberOfEmployees":"10",
+ "Name":"ChildAccount1"
+ }
+ ]
+ },
+ "Contacts":{
+ "records":[
+ {
+ "Email":"sample@salesforce.com",
+ "Title":"President",
+ "attributes":{
+ "objectType":"Contact",
+ "referenceId":"ref6"
+ },
+ "LastName":"Jones"
+ }
+ ]
+ },
+ "Phone":"5556543210",
+ "Website":"www.salesforce.com",
+ "attributes":{
+ "objectType":"Account",
+ "referenceId":"ref4"
+ },
+ "NumberOfEmployees":"101",
+ "Name":"CreateSobjectTreeAccount2"
+ },
+ {
+ "Contacts":{
+ "records":[
+ {
+ "Email":"sample@salesforce.com",
+ "Title":"President",
+ "attributes":{
+ "objectType":"Contact",
+ "referenceId":"ref2"
+ },
+ "LastName":"Smith"
+ },
+ {
+ "Email":"sample@salesforce.com",
+ "Title":"Vice President",
+ "attributes":{
+ "objectType":"Contact",
+ "referenceId":"ref3"
+ },
+ "LastName":"Evans"
+ }
+ ]
+ },
+ "Phone":"1234567890",
+ "Website":"www.salesforce.com",
+ "attributes":{
+ "objectType":"Account",
+ "referenceId":"ref1"
+ },
+ "NumberOfEmployees":"100",
+ "Name":"CreateSobjectTreeAccount1"
+ }
+ ]
+}
+----
+
+=== Add the Create SObject Tree Operation
+
+Add the Create SObject Tree operation to connect with Salesforce and create an SObject tree. To add the operation, follow these steps:
+
+. In the *Mule Palette* view, search for `salesforce` and select *Create sobject tree*.
+. Drag *Create sobject tree* operation to the right of *Transform Message*.
+. Click the green plus sign (*+*) to the right of *Connector configuration* to access the Salesforce Composite global element configuration fields.
+. In the *Create sobject tree* properties window, enter `Account` in the *SObject Root Type* field.
+. In the properties file `src/main/mule/mule-app.properties`, declare and enter values for the variables in the global element.
+
+=== Add the Second Transform Message Component
+
+The second Transform Message component transforms the output result into JSON. To add the component, follow these steps:
+
+. Drag *Transform Message* again to the right of *Create sobject tree*.
+. Enter the following:
++
+[source,dataweave,linenums]
+----
+%dw 2.0
+%output application/json
+payload
+---
+{
+"Id": payload.Id,
+"Fields" : ["Id", "Name"],
+"Type": "Account"
+}
+----
+
+=== XML for the SObject Tree Operation Flow
+
+Paste this XML code into the *Configuration XML* tab of the Anypoint Studio canvas to experiment with the flow:
+
+[source,xml,linenums]
+----
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ "attributes": {
+ "type": record.attributes.objectType,
+ "referenceId": record.attributes.referenceId
+ },
+ "Name": record.Name,
+ "Phone": record.Phone,
+ "Website": record.Website,
+ "NumberOfEmployees": record.NumberOfEmployees as Number,
+ ("ChildAccounts": {
+ "records": record.ChildAccounts.records map ((record01, indexOfRecord01) -> {
+ "attributes": {
+ "type": record01.attributes.objectType,
+ "referenceId": record01.attributes.referenceId
+ },
+ "Name": record01.Name,
+ "Phone": record01.Phone,
+ "Website": record01.Website,
+ "NumberOfEmployees": record01.NumberOfEmployees as Number
+ })
+ }),
+ "Contacts": {
+ "records": record.Contacts.records map ((record01, indexOfRecord01) -> {
+ "attributes": {
+ "type": record01.attributes.objectType,
+ "referenceId": record01.attributes.referenceId
+ },
+ "LastName": record01.LastName,
+ "Email": record01.Email,
+ "Title": record01.Title
+ })
+ }
+})
+]]>
+
+
+
+
+
+
+
+
+
+
+----
+
+== Pre-Query Example
+
+This example provides metadata for an object to query, generates two subrequests that contain this metadata, and then executes the subrequests:
+
+* HTTP *Listener*
++
+Accepts data from HTTP requests
+* *Transform Message*
++
+Specifies a name for the object
+* *Pre create*
++
+Provides metadata for the object to be created and generates a subrequest used in execution
+* *Transform Message*
++
+Specifies values for fields
+* *Pre query*
++
+Provides metadata for the object that is going to be queried and generates a subrequest used in execution
+* *Transform Message*
++
+Passes output from *Pre query* operation
+* *Execute composite batch*
++
+Sends all subrequests in one batch
+* *Transform Message*
++
+Outputs the results in JSON format
+
+image::salesforce-composite-prequery-flow.png["Studio flow with an HTTP Listener component, Transform components, and multiple Salesfore Composite operations"]
+
+=== Add an HTTP Listener
+
+The HTTP *Listener* source operation initiates the flow when it detects an event in the `executeFlow` path. To add the listener and trigger the flow, follow these steps:
+
+. Create a new Mule project in Studio.
+. In the *Mule Palette* view, search for `http` and select the *Listener* operation.
+. Drag the *Listener* operation onto the canvas.
+. In the Listener properties window, set the *Path* field to `/executeFlow`.
+
+=== Add the First Transform Message Component
+
+The first Transform Message component specifies a name for the created object and passes the name to the *Pre create* operation. To add the component, follow these steps:
+
+. In the *Mule Palette* view, search for *Transform Message*.
+. Drag *Transform Message* onto the canvas, to the right of *Listener*.
+. Enter the name `MyNewAccount`:
++
+[source,dataweave,linenums]
+----
+%dw 2.0
+%output application/java
+---
+{
+ Name: "MyNewAccount"
+}
+----
+
+=== Add the Pre Create Operation
+
+The Pre Create operation provides metadata for creating an object called `NewAccount` and generates a subrequest for the `executeCompositeBatch` operation. To add the operation, follow these steps:
+
+. In the *Mule Palette* view, search for `salesforce` and select the Salesforce Composite *Pre create* operation.
+. Drag the *Pre create* operation to the right of *Transform Message*.
+. Click the green plus icon (*+*) to the right of the *Connector configuration* field to access the Salesforce Composite global element configuration fields.
+. In the *Pre create* properties window, enter `Account` in the *Type* field.
+. In the properties file `src/main/mule/mule-app.properties`, declare and enter values for the variables in the global element.
+
+image::salesforce-composite-global-config.png["Salesforce Composite Connector global element configuration window"]
+
+=== Add the Second Transform Message Component
+
+The second Transform Message component specifies values for the *ID* and *Type* fields, and then passes these values to the *Pre query* operation. To add the component, follow these steps:
+
+. Drag a second *Transform Message* component to the right of *Pre create*.
+. Enter the following name-value pairs:
++
+[source,dataweave,linenums]
+----
+%dw 2.0
+%output application/java
+---
+{
+ "Id": payload.Id,
+ "Fields" : ["Id", "Name"],
+ "Type": "Account"
+}
+----
+
+=== Add the Pre Query Operation
+
+The Pre Query operation provides metadata for an object to be queried. It generates a subrequest for the *Execute composite batch* operation. To add the operation, follow these steps:
+
+. Drag a Salesforce Composite *Pre query* operation to the right of the second *Transform Message*.
+. In the *Query* field, enter the following:
++
+`Select Name from Account WHERE Name LIKE '%:name %'`
+
+=== Add the Third Transform Message Component
+
+The third Transform Message operation passes the output of the *Pre query* operation to the *Execute composite batch* operation. To add the component, follow these steps:
+
+. Drag a third *Transform Message* component to the right of *Pre query*.
+. Set the output to `payload`:
++
+[source,dataweave,linenums]
+----
+%dw 2.0
+%output application/java
+---
+[
+payload
+]
+----
+
+=== Add the Execute Composite Batch Operation
+
+The Execute Composite Batch operation executes the subrequests that the Pre Create and Pre Query operations created.
+
+To add the operation, drag a Salesforce Composite *Execute composite batch* operation to the right of the third *Transform Message*.
+
+=== Add the Fourth Transform Message Component
+
+The fourth Transform Message operation converts the output to JSON format. To add the component, follow these steps:
+
+. Drag a fourth *Transform Message* component to the right of *Execute composite batch*.
+. Set the output to `application/json`:
++
+[source,dataweave,linenums]
+----
+%dw 2.0
+%output application/json
+---
+payload
+----
+
+
+=== XML for the Pre-Query Example
+
+Paste this code into your XML editor to quickly load the flow for this example to your Mule app. If needed, change the values to reflect your environment.
+
+[source,xml,linenums]
+----
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Select Name from Account WHERE Name LIKE '%:name %'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+----
+
+
+== See Also
+
+* xref:salesforce-composite-connector-reference.adoc[Salesforce Composite Connector Reference]
+* https://help.salesforce.com[Salesforce Help]
diff --git a/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-reference.adoc b/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-reference.adoc
new file mode 100644
index 0000000000..eb60762201
--- /dev/null
+++ b/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-reference.adoc
@@ -0,0 +1,1423 @@
+= Salesforce Composite Connector 2.21 Reference
+:page-aliases: connectors::salesforce/salesforce-composite-connector-reference.adoc
+
+
+
+== Configurations
+---
+[[composite-config]]
+=== Default Configuration
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+|Name | String | The name for this configuration. Connectors reference the configuration with this name. | | x
+| Connection a| * <>
+* <>
+* <>
+* <>
+* <>
+| The connection types to provide to this configuration. | | x
+| Expiration Policy a| <> | Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This does not mean that the platform expires the instance at the exact moment that it becomes eligible. Mule purges the instances as appropriate. | |
+|===
+
+== Connection Types
+
+[[composite-config_config-with-oauth]]
+=== OAuth v2.0
+
+include::connectors::partial$oauth2-description.adoc[]
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| TLS configuration a| <> | Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol, then, at a minimum, the user must configure the key store in the `tls:context` child element of the `listener-config`. | |
+| Host a| String | Hostname of the proxy. Required if a proxy is used. If this property is not set, then no proxy is used. | |
+| Port a| Number | Port of the proxy. If the Host is set, then this property is required and the value cannot be a negative number. | |
+| Username a| String | Username used to authenticate against the proxy. If this property is not set, then no authentication is used against the proxy. | |
+| Password a| String | Password used to authenticate against the proxy. | |
+| Response timeout a| Number | Wait time until a response is received. This attribute works in tandem with Response Timeout Unit. Values less than one millisecond are converted to `0`. | 5 |
+| Response timeout unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | Time unit to use for the Response Timeout parameter. | SECONDS |
+| Connection Timeout a| Number | The socket connection timeout value. This attribute works in tandem with Connection Timeout Time Unit. | 30 |
+| Connection Timeout Time Unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | A time unit that qualifies the Connection Timeout. | SECONDS |
+| Reconnection a| <> | When the application is deployed, a connectivity test is performed on all connectors. If set to `true`, deployment fails if the test doesn't pass after exhausting the associated reconnection strategy. | |
+| Consumer Key a| String | The OAuth consumerKey as registered with the service provider. | | *x*
+| Consumer Secret a| String | The OAuth consumerSecret as registered with the service provider. | | *x*
+| Authorization Url a| String | The service provider's authorization endpoint URL. The default is `+https://login.salesforce.com/services/oauth2/authorize+`. | |
+| Access Token Url a| String | The service provider's accessToken endpoint URL. The default is `+https://login.salesforce.com/services/oauth2/token+`. | |
+| Scopes a| String | The OAuth scopes to request during the dance. If not provided, it defaults to the scopes provided in the annotation. | |
+| Resource Owner Id a| String | The resource owner ID that each component uses if it is not otherwise referenced. | |
+| Before a| String | The name of a flow to execute immediately before starting the OAuth dance. | |
+| After a| String | The name of a flow to execute immediately after an accessToken is received. | |
+| Listener Config a| String | A reference to a `` to use to create the listener that receives the access token callback endpoint. | | *x*
+| Callback Path a| String | The path of the access token callback endpoint. | | *x*
+| Authorize Path a| String | The path of the local HTTP endpoint that triggers the OAuth dance. | | *x*
+| External Callback Url a| String | If the callback endpoint is behind a proxy or accessed through a non direct URL, use this parameter to tell the OAuth provider the URL to use to access the callback. | |
+| Object Store a| String | A reference to the object store to use to store each resource owner ID's data. If an object store is not specified, Mule automatically provisions the default object store. | |
+|===
+
+[[composite-config_oauth-jwt]]
+=== OAuth JWT
+
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| TLS configuration a| <> | Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol, then, at a minimum, the user must configure the key store in the `tls:context` child element of the `listener-config`. | |
+| Host a| String | Hostname of the proxy. Required if a proxy is used. If this property is not set, then no proxy is used. | |
+| Port a| Number | Port of the proxy. If the Host is set, then this property is required and the value cannot be a negative number. | |
+| Username a| String | Username used to authenticate against the proxy. If this property is not set, then no authentication is used against the proxy. | |
+| Password a| String | Password used to authenticate against the proxy. | |
+| Response timeout a| Number | Wait time until a response is received. This attribute works in tandem with Response Timeout Unit. Values less than one millisecond are converted to `0`. | 5 |
+| Response timeout unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | Time unit to use for the Response Timeout parameter. | SECONDS |
+| Connection Timeout a| Number | The socket connection timeout value. This attribute works in tandem with Connection Timeout Time Unit. | 30 |
+| Connection Timeout Time Unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | A time unit that qualifies the Connection Timeout. | SECONDS |
+| Consumer Key a| String | Consumer key for the Salesforce-connected app. | | *x*
+| Key Store a| String | Path to the key store used to sign data during authentication. | | *x*
+| Store Password a| String | Password of the key store. | | *x*
+| Certificate Alias a| String | Alias of the certificate. | |
+| Principal a| String | Username of the Salesforce user on whose behalf to take action. | | *x*
+| Token Endpoint a| String a| URL pointing to the server responsible for providing the authentication token. The default is `+https://login.salesforce.com/services/oauth2/token+`.
+
+If implementation is for a community, `+https://acme.force.com/customers/services/oauth2/token+`, where `acme.force.com/customers` is your community URL. | |
+| Audience Url a| String a| The audience identifies the authorization server as an intended audience. The authorization server must verify that it is an intended audience for the token.
+
+Use the authorization server's URL for the audience value: `+https://login.salesforce.com+`. For testing, use: `+https://test.salesforce.com+`. For a community implementation, use: `+https://community.force.com/customers+`. | |
+| Reconnection a| <> | When the application is deployed, a connectivity test is performed on all connectors. If set to `true`, deployment fails if the test doesn't pass after exhausting the associated reconnection strategy. | |
+|===
+
+[[composite-config_oauth-saml]]
+=== OAuth SAML
+
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| TLS configuration a| <> | Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol, then, at a minimum, the user must configure the key store in the `tls:context` child element of the `listener-config`. | |
+| Host a| String | Hostname of the proxy. Required if a proxy is used. If this property is not set, then no proxy is used. | |
+| Port a| Number | Port of the proxy. If the Host is set, then this property is required and the value cannot be a negative number. | |
+| Username a| String | Username used to authenticate against the proxy. If this property is not set then no authentication is used against the proxy. | |
+| Password a| String | Password used to authenticate against the proxy. | |
+| Response timeout a| Number | Wait time until a response is received. This attribute works in tandem with Response Timeout Unit. Values less than one millisecond are converted to `0`. | 5 |
+| Response timeout unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | Time unit to use for the Response Timeout parameter. | SECONDS |
+| Connection Timeout a| Number | The socket connection timeout value. This attribute works in tandem with Connection Timeout Time Unit. | 30 |
+| Connection Timeout Time Unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | A time unit that qualifies the Connection Timeout. | SECONDS |
+| Consumer Key a| String | Consumer key for the Salesforce-connected app. | | *x*
+| Key Store a| String | Path to the key store used to sign data during authentication. | | *x*
+| Store Password a| String | Password of the key store. | | *x*
+| Certificate Alias a| String | Alias of the certificate. | |
+| Principal a| String | Username of the Salesforce user on whose behalf to take action. | | *x*
+| Token Endpoint a| String | URL pointing to the server responsible for providing the authentication token. The default is `+https://login.salesforce.com/services/oauth2/token+`.
+
+If implementation is for a community, `+https://acme.force.com/customers/services/oauth2/token+`, where `acme.force.com/customers` is your community URL. | |
+| Reconnection a| <> | When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn't pass after exhausting the associated reconnection strategy | |
+|===
+
+[[composite-config_oauth-user-pass]]
+=== OAuth Username Password
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| TLS configuration a| <> | Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol, then, at a minimum, the user must configure the key store in the `tls:context` child element of the `listener-config`. | HTTP |
+| Host a| String | Hostname of the proxy. Required if a proxy is used. If this property is not set, then no proxy is used. | |
+| Port a| Number | Port of the proxy. If the Host is set, then this property is required and the value cannot be a negative number. | |
+| Username a| String | Username used to authenticate against the proxy. If this property is not set, then no authentication is used against the proxy. | |
+| Password a| String | Password used to authenticate against the proxy. | |
+| Response Timeout a| Number | Wait time until a response is received. This attribute works in tandem with Time Unit. Values less than one millisecond are converted to `0`. | 5 |
+| Time unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | Time unit to use for the Response Timeout parameter. | SECONDS |
+
+| Connection Timeout a| Number | The socket connection timeout value. This attribute works in tandem with Connection Timeout Time Unit. | 30 |
+| Connection Timeout Time Unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | A time unit that qualifies the Connection Timeout. | SECONDS |
+| Consumer Key a| String | Consumer key for Salesforce-connected app. | | x
+| Consumer Secret a| String | Your application's client secret (consumer secret in Remote Access Detail). | | x
+| Username a| String | Username used to initialize the session. | | x
+| Password a| String | Password used to authenticate the user | | x
+| Security Token a| String | User's security token. It can be omitted if your IP has been allowlisted on Salesforce. | |
+| Token Endpoint a| String | URL pointing to the server responsible for providing the authentication token. The default is `+https://login.salesforce.com/services/oauth2/token+`.
+
+If implementation is for a community, `+https://acme.force.com/customers/services/oauth2/token+`, where `acme.force.com/customers` is your community URL. | |
+| Reconnection a| <> | When the application is deployed, a connectivity test is performed on all connectors. If set to `true`, deployment fails if the test doesn't pass after exhausting the associated reconnection strategy. | |
+|===
+
+[[composite-config_token-connection]]
+=== Token Connection
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Session Id a| String | Session ID. | | x
+| Instance Url a| String | Instance URL. | | x
+| TLS configuration a| <> | Defines a configuration for TLS, which can be used from both the client and server sides to secure communication for the Mule app. When using the HTTPS protocol, the HTTP communication is secured using TLS or SSL. If HTTPS is configured as the protocol, then, at a minimum, the user must configure the key store in the `tls:context` child element of the `listener-config`. | `HTTP` |
+| Host a| String | Hostname of the proxy. Required if a proxy is used. If this property is not set, then no proxy is used. | |
+| Port a| Number | Port of the proxy. If *Host* is set, then this property is required and the value cannot be a negative number. | |
+| Username a| String | Username used to authenticate against the proxy. If this property is not set, then no authentication is used against the proxy. | |
+| Password a| String | Password used to authenticate against the proxy. | |
+| Response timeout a| Number | How long Mule waits for a response to complete before the request times out. | `5`|
+| Response timeout unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | Time unit for the *Response timeout* field. | `SECONDS` |
+| Connection Timeout a| Number | Socket connection timeout value. | 30 |
+| Connection Timeout Time Unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | Time unit for the *Connection Timeout* field. | `SECONDS` |
+| Reconnection a| <> | Configures a reconnection strategy to use when a connector operation fails to connect to an external server. | |
+|===
+
+== Operations
+
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+* <>
+
+[[createSobjectCollections]]
+=== Create Sobject Collections
+``
+
+Add up to 200 records and return a list of `SaveResult` objects. You can roll back the entire request if an error occurs.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Request Body a| Object | The request body. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Array of Object
+| Attributes Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[createSobjectTree]]
+=== Create sObject Tree
+``
+
+Sends a list of sObject trees to Salesforce to be created.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| SObject Root Type a| String | The sObject type of the root of the trees. | | x
+| SObject Tree a| Array of Object | A list of maps containing representing the list of trees that need to be created. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+| Attributes Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[deleteSobjectCollections]]
+=== Delete sObject Collections
+``
+
+Delete up to 200 records and return a list of `DeleteResult` objects. You can roll back the entire request if an error occurs.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Ids a| Array of String | The IDs of the entities to be deleted. | | x
+| All Or None a| Boolean | Indicates whether to roll back the entire request when the deletion of any object fails. | false |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Array of Object
+| Attributes Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[executeCompositeBatch]]
+=== Execute Composite Batch
+``
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Sub Requests a| Array of Object | The list of subrequests to execute. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+| Attributes Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[executeCompositeGraph]]
+=== Execute Composite Graph
+``
+
+Performs composite requests by executing a series of REST API requests in a single call.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | Name of the configuration to use | | x
+| Graphs a| Array of Object | List of graphs to execute | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+| Attributes Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:VALIDATION
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+
+[[executeCompositeRequest]]
+=== Execute Composite Request
+``
+
+Execute a series of REST API requests in a single call. You can use the output of one request as the input to a subsequent request. The response bodies and HTTP statuses of the requests are returned in a single response body. The entire request counts as a single call toward your API limits.
+
+[NOTE]
+You can add `httpHeaders` within `compositeRequest`, for example: `"httpHeaders" : { "X-REQUEST-ID" : "ReferenceId" }`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | Name of the configuration to use | | x
+| Request Body a| Object | Request body | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+| Attributes Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[getSobjectCollections]]
+=== Get sObject Collections
+``
+
+Retrieve one or more records of the same object type.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Type a| String | The sObject type of the root of the trees. | | x
+| List of ids a| Array of String | A list of one or more IDs of the objects to return. All IDs must belong to the same object type. | | x
+| List of fields a| Array of String | A list of fields to include in the response. | | x
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Array of Object
+| Attributes Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[postCreate]]
+=== Post Create
+``
+
+Provide metadata for the result of a create. This operation takes as input one record from the result returned by `executeCompositeBatch(String, java.util.List)`, which belongs to a create subrequest generated by `preCreate(String, java.util.Map)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Create Result a| Object | The result of the create subrequest. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[postDelete]]
+=== Post Delete
+``
+
+Provide metadata for the result of a delete. This operation takes as input one record from the result returned by `executeCompositeBatch(String, java.util.List)`, which belongs to a delete subrequest generated by `preDelete(String, java.util.Map)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Delete Result a| Object | The result of the delete subrequest. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[postGetLimits]]
+=== Post Get Limits
+``
+
+Provide metadata for the result of a get limits request. This operation takes as input one record from the result returned by `executeCompositeBatch(String, java.util.List)`, which belongs to a get limits subrequest generated by `preGetLimits()`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Get Limits Result a| Object | The result of the create subrequest. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[postQuery]]
+=== Post Query
+``
+
+Provide metadata for the result of a query. This operation takes as input one record from the result returned by `executeCompositeBatch(String, java.util.List)`, which belongs to a query subrequest generated by `preQuery(String, java.util.Map)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Query a| String | The query that was used in the `preQuery` operation - needed for metadata. | | x
+| Query Result a| Object | The result of the query subrequest. | `#[payload]` |
+| Streaming Strategy a| * <>
+* <>
+* non-repeatable-iterable | Configure how Mule processes streams with streaming strategies. Repeatable streams are the default behavior. | |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Array of Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[postQueryAll]]
+=== Post Query All
+``
+
+Provide metadata for the result of a query. This operation takes as input one record from the result returned by `executeCompositeBatch(String, java.util.List)`, which belongs to a query subrequest generated by `preQueryAll(String, java.util.Map)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Query Result a| Object | The result of the create subrequest. | `#[payload]` |
+| Streaming Strategy a| * <>
+* <>
+* non-repeatable-iterable | Configure how Mule processes streams with streaming strategies. Repeatable streams are the default behavior. | |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Array of Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[postRetrieve]]
+=== Post Retrieve
+``
+
+Provide metadata for the result of a retrieve. This operation takes as input one record from the result returned by `executeCompositeBatch(String, java.util.List)`, which belongs to a retrieve subrequest generated by `preRetrieve(String, java.util.Map)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Type a| String | The type of the retrieved object - used for metadata. | | x
+| Retrieve Data a| Object | The result of the retrieve subrequest. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[postSearch]]
+=== Post Search
+``
+
+Provide metadata for the result of a search. This operation takes as input one record from the result returned by `executeCompositeBatch(String, java.util.List)`, which belongs to a search subrequest generated by `preSearch(String, java.util.Map)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Search Result a| Object | The result of the search subrequest. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Array of Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[postUpdate]]
+=== Post Update
+``
+
+Provide metadata for the result of an update. This operation takes as input one record from the result returned by `executeCompositeBatch(String, java.util.List)`, which belongs to an update subrequest generated by `preUpdate(String, java.util.Map)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Update Result a| Object | The result of the update subrequest. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[preCreate]]
+=== Pre Create
+``
+
+Provide metadata for a create based on an object that is created and generates a subrequest for execution by `executeCompositeBatch(String, java.util.List)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Type a| String | Type of object to create. | | x
+| S Object a| Object | Object to create as a map that sticks to metadata for a selected type. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[preDelete]]
+=== Pre Delete
+``
+
+Provide metadata for a delete based on an object that is deleted and generates a subrequest for execution by `executeCompositeBatch(String, java.util.List)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Type a| String | Type of object that is deleted. | | x
+| Id a| String | The ID of the object that is deleted. | | x
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[preGetLimits]]
+=== Pre Get Limits
+``
+
+Provide metadata for getLimits and generate a subrequest for execution by `executeCompositeBatch(String, java.util.List)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[preQuery]]
+=== Pre Query
+``
+
+Provides metadata for a query based on an object that is queried, and generates a subrequest for execution by `executeCompositeBatch(String, java.util.List)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Query a| String | The query that is run in `executeCompositeBatch`.| | x
+| Parameters a| Object | The parameters to use in a parameterized query. | |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[preQueryAll]]
+=== Pre Query All
+``
+
+Provide metadata for a query based on an object that is queried and generates a subrequest for execution by `executeCompositeBatch(String, java.util.List)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Query a| String | The query that is run in `executeCompositeBatch`. | | x
+| Parameters a| Object | The parameters to use in a parameterized query. | |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[preRetrieve]]
+=== Pre Retrieve
+``
+
+Provide metadata for a retrieve based on an object that is retrieved and generates a subrequest for execution by `executeCompositeBatch(String, java.util.List)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Retrieve Data a| Object | Object to retrieve as a map that sticks to metadata for a selected type. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[preSearch]]
+=== Pre Search
+``
+
+Provide the user a way to input a SOSL String and generate a subrequest for execution by `executeCompositeBatch(java.util.List)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Search a| String | The SOSL string that is run in executeCompositeBatch. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[preUpdate]]
+=== Pre Update
+``
+
+Provide metadata for a create based on an object that is created and generates a subrequest for execution by `executeCompositeBatch(String, java.util.List)`.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Type a| String | Type of object that is created. | | x
+| SObject a| Object | Object to create as a map that sticks to metadata for a selected type. | `#[payload]`. |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[unauthorize]]
+=== Unauthorize
+``
+
+Deletes all the access token information of a given resource owner ID so that it's impossible to execute any operation for that user without repeating the authorization dance.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | *x*
+| Resource Owner Id a| String | The ID of the resource owner for whom to invalidate access | |
+|===
+
+==== For Configurations
+
+* <>
+
+[[updateSobjectCollections]]
+=== Update sObject Collections
+``
+
+Update up to 200 records and return a list of `SaveResult` objects. You can roll back the entire request if an error occurs.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Request Body a| Object | The request body. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Array of Object
+| Attributes Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+[[upsertSobjectCollections]]
+=== Upsert sObject Collections
+``
+
+Upsert up to 200 records of same type and return a list of `SaveResult` objects. You can roll back the entire request if an error occurs.
+
+==== Parameters
+[%header,cols="20s,20a,35a,20a,5a"]
+|===
+| Name | Type | Description | Default Value | Required
+| Configuration | String | The name of the configuration to use. | | x
+| Type a| String | The sObject type. | | x
+| External Field Name a| String | The name of the external field for this sobject type. | | x
+| Request Body a| Object | The request body. | `#[payload]` |
+| Target Variable a| String | Name of the variable in which to store the operation's output | |
+| Target Value a| String | Expression that evaluates the operation's output. The expression outcome is stored in the target variable. | `#[payload]` |
+| Reconnection Strategy a| * <>
+* <> | A retry strategy in case of connectivity errors. | |
+|===
+
+==== Output
+[%autowidth.spread]
+|===
+| Type a | Array of Object
+| Attributes Type a | Object
+|===
+
+==== For Configurations
+
+* <>
+
+==== Throws
+
+* SALESFORCE-COMPOSITE:CONNECTIVITY
+* SALESFORCE-COMPOSITE:INVALID_SESSION
+* SALESFORCE-COMPOSITE:RETRY_EXHAUSTED
+* SALESFORCE-COMPOSITE:TRANSACTION
+* SALESFORCE-COMPOSITE:TRANSFORMATION
+* SALESFORCE-COMPOSITE:UNKNOWN
+* SALESFORCE-COMPOSITE:VALIDATION
+
+== Types
+
+[[tls-configuration]]
+=== TLS Configuration
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Enabled Protocols a| String | A comma separated list that defines the enabled TLS protocols, which must be a subset of the globally enabled TLS protocols. | By default, the globally enabled TLS protocols are used. |
+| Enabled Chiper Suites a| String | A comma separated list that defines the enabled TLS cipher suites, which must be a subset of the globally enabled cipher suites. | By default, the globally enabled cipher suites are used. |
+| Trust Store Configuration a| <> | Contains the configuration parameters for the trust store configuration | |
+| Key Store Configuration a| <> | Contains the configuration parameters for the key store configuration | |
+| Revocation Check a| * <>
+* <>
+* <> | | |
+|===
+
+[[trust-store-configuration]]
+=== Trust Store Configuration
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Path a| String | Defines the location of the trust store to use, which will be resolved relative to the current classpath and file system, if possible. A password is also required. | |
+| Password a| String | The password to access the trust store that is specified in the path. | |
+| Type a| String | The type of store used. | |
+| Algorithm a| String | The algorithm used by the trust store. | |
+| Insecure a| Boolean | If `true`, no certificate validations will be performed, rendering connections vulnerable to attacks. Use at your own risk. | |
+|===
+
+[[key-store-configuration]]
+=== Key Store Configuration
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Path a| String | Defines the location of the key store to use, which will be resolved relative to the current classpath and file system, if possible. | |
+| Type a| String | The type of store used. | |
+| Alias a| String | Defines the alias of the key to use when the key store contains many private keys. By default, the first key in the file is used. | |
+| Key Password a| String| Defines the password used to protect the private key. | |
+| Password a| String| Defines the password to access the key store that is specified in the path. | |
+| Algorithm a| String | Defines the algorithm used by the key store. | |
+|===
+
+[[standard-revocation-check]]
+=== Standard Revocation Check
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Only End Entities a| Boolean | Only verify the last element of the certificate chain. | |
+| Prefer CRLs a| Boolean | Try CRL instead of OCSP first. | |
+| No Fallback a| Boolean | Do not use the secondary checking method (the one not selected before). | |
+| Soft Fail a| Boolean | Avoid verification failure when the revocation server cannot be reached or is busy. | |
+|===
+
+[[custom-ocsp-responder]]
+=== Custom OCSP Responder
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| URL a| String | The URL of the OCSP responder. | |
+| Cert Alias a| String | Alias of the signing certificate for the OCSP response, if present. The certificate must be in the trust store. | |
+|===
+
+[[crl-file]]
+=== CRL File
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Path a| String | The path to the CRL file. | |
+|===
+
+[[Reconnection]]
+=== Reconnection
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Fails Deployment a| Boolean | When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn't pass after exhausting the associated reconnection strategy. | |
+| Reconnection Strategy a| * <>
+* <> | The reconnection strategy to use. | |
+|===
+
+[[reconnect]]
+=== Reconnect
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Frequency a| Number | How often to reconnect (in milliseconds). | |
+| Count a| Number | The number of reconnection attempts to make. | |
+|===
+
+[[reconnect-forever]]
+=== Reconnect Forever
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Frequency a| Number | How often in milliseconds to reconnect. | |
+|===
+
+[[ExpirationPolicy]]
+=== Expiration Policy
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Max Idle Time a| Number | A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it's considered eligible for expiration. | |
+| Time Unit a| Enumeration, one of:
+
+** NANOSECONDS
+** MICROSECONDS
+** MILLISECONDS
+** SECONDS
+** MINUTES
+** HOURS
+** DAYS | A time unit that qualifies the maxIdleTime attribute. | |
+|===
+
+[[repeatable-in-memory-iterable]]
+=== Repeatable In Memory Iterable
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Initial Buffer Size a| Number | The amount of instances that is initially allowed to be kept in memory to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the *Buffer Size Increment* attribute, with an upper limit of `maxInMemorySize`. Default value is 100 instances. | |
+| Buffer Size Increment a| Number | This is by how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer should not expand, meaning that a `STREAM_MAXIMUM_SIZE_EXCEEDED` error is raised when the buffer gets full. Default value is 100 instances. | |
+| Max Buffer Size a| Number | The maximum amount of memory to use. If more than that is used then a `STREAM_MAXIMUM_SIZE_EXCEEDED` error is raised. A value lower than or equal to zero means no limit. | |
+|===
+
+[[repeatable-file-store-iterable]]
+=== Repeatable File Store Iterable
+
+[%header,cols="20s,25a,30a,15a,10a"]
+|===
+| Field | Type | Description | Default Value | Required
+| Max In Memory Size a| Number | The maximum amount of instances to keep in memory. If more than that is required, then it will start to buffer the content on disk. | |
+| Buffer Unit a| Enumeration, one of:
+
+** BYTE
+** KB
+** MB
+** GB | The unit in which `maxInMemorySize` is expressed. | |
+|===
+
+== See Also
+
+https://help.salesforce.com[Salesforce Help]
diff --git a/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-studio.adoc b/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-studio.adoc
new file mode 100644
index 0000000000..462a4c5356
--- /dev/null
+++ b/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-studio.adoc
@@ -0,0 +1,136 @@
+= Using Anypoint Studio to Configure Salesforce Composite Connector 2.21
+
+Anypoint Studio (Studio) editors help you design and update your Mule applications, properties, and configuration files.
+
+To add and configure a connector in Studio:
+
+. <>.
+. <>.
+. <>.
+. <>.
+. <>.
+
+When you run the connector, you can view the app log to check for problems, as described in <>.
+
+If you are new to configuring connectors in Studio, see xref:connectors::introduction/intro-config-use-studio.adoc[Using Anypoint Studio to Configure a Connector]. If, after reading this topic, you need additional information about the connector fields, see the xref:salesforce-composite-connector-reference.adoc[Salesforce Composite Reference].
+
+[[create-mule-project]]
+== Create a Mule Project
+
+In Studio, create a new Mule project in which to add and configure the connector:
+
+. Select *File > New > Mule Project*.
+. Enter a name for your Mule project and click *Finish*.
+
+[[add-connector-to-project]]
+== Add the Connector to Your Mule Project
+
+Add Salesforce Composite Connector to your Mule project to automatically populate the XML code with the connector's namespace and schema location and add the required dependencies to the project's `pom.xml` file:
+
+. In the *Mule Palette* view, click *(X) Search in Exchange*.
+. In *Add Modules to Project*, type `salesforce composite` in the search field.
+. Click *Salesforce Composite* in *Available modules*.
+. Click *Add*.
+. Click *Finish*.
+
+Adding a connector to a Mule project in Studio does not make that connector available to other projects in your Studio workspace.
+
+[[configure-input-source]]
+== Configure a Source
+
+A source initiates a flow when a specified condition is met.
+You can configure one of these sources to use with Salesforce Composite Connector:
+
+* HTTP *Listener* +
+Initiates a flow each time it receives a request on the configured host and port
+* *Scheduler* +
+Initiates a flow when a time-based condition is met
+
+For example, to configure an HTTP listener, follow these steps:
+
+. In the *Mule Palette* view, select *HTTP > Listener*.
+. Drag *Listener* to the Studio canvas.
+. On the *Listener* configuration screen, optionally change the value of the *Display Name* field.
+. Specify a value for the *Path* field.
+. Click the plus sign (+) next to *Connector configuration* to configure a global element that can be used by all instances of HTTP Listener in the app.
+. On the *General* tab, specify connection information for the connector.
+. On the *TLS* tab, optionally specify the TLS information for the connector.
+. On the *Advanced* tab, optionally specify reconnection information, including a reconnection strategy.
+. Click *Test Connection* to confirm that Mule can connect with the specified server.
+. Click *OK*.
+
+[[add-connector-operation]]
+== Add a Connector Operation to the Flow
+
+When you add a connector operation to your flow, you immediately define a specific operation for that connector to perform.
+
+To add an operation for Salesforce Composite Connector, follow these steps:
+
+. In the *Mule Palette* view, select *Salesforce Composite* and then select the desired operation.
+. Drag the operation onto the Studio canvas to the right of the input source.
+
+[[configure-global-element]]
+== Configure a Global Element for the Connector
+
+When you configure a connector, it’s best to configure a global element that all instances of that connector in the app can use. Configuring a global element requires you to provide the authentication credentials that the connector requires to access the target Salesforce Composite system. Salesforce Composite Connector supports OAuth v2.0, OAuth JWT, OAuth SAML, and OAuth Username and Password.
+
+To configure the global element for Salesforce Composite Connector, follow these steps:
+
+. Select the name of the connector in the Studio canvas.
+. In the configuration screen for the operation, click the plus sign (+) next to the *Connector configuration* field to access the global element configuration fields.
+. On the *General* tab, in *Connection*, select the authentication method to configure:
++
+* *OAuth v2.0*
+* *OAuth JWT*
+* *OAuth SAML*
+* *<>*
+* *Token Connection*
++
+You can reference a configuration file that contains ANT-style property placeholders (recommended), or you can enter your authorization credentials in the global configuration properties. For information about the benefits of using property placeholders and how to configure them, see xref:connectors::introduction/intro-connector-configuration-overview.adoc[Anypoint Connector Configuration].
+. On the *Advanced* tab, optionally specify reconnection information, including a reconnection strategy.
+. Click *Test Connection* to confirm that Mule can connect with the specified server.
+. Click *OK*.
+. On the *Advanced* tab, optionally specify reconnection information, including a reconnection strategy.
+. Click *Test Connection* to confirm that Mule can connect with the specified server.
+. Click *OK*.
+
+[[oauth-username-password]]
+=== OAuth Username and Password
+
+Enter the following information on the *General* tab of the *Global Element Properties* screen to configure Basic authentication:
+
+* Consumer Key +
+The consumer key for the Salesforce connected app
+* Consumer Secret +
+The consumer secret for the connector to access Salesforce
+* Username +
+The Salesforce username
+* Password +
+The corresponding password
+** Security Token +
+The corresponding security token
++
+.The basic authentication includes a consumer key, consumer secret, username, and password.
+image::salesforce-composite-studio-basic-auth.png["Global configuration window for Basic Authentication"]
+
+
+[[view-app-log]]
+
+== View the App Log
+
+To check for problems, you can view the app log as follows:
+
+* If you’re running the app from Anypoint Platform, the app log output is visible in the Anypoint Studio console window.
+* If you’re running the app using Mule from the command line, the app log output is visible in your OS console.
+
+Unless the log file path is customized in the app’s log file (`log4j2.xml`), you can also view the app log in the default location `MULE_HOME/logs/.log`. You can configure the location of the log path in the app log file `log4j2.xml`.
+
+== Next Step
+
+After you configure a global element and connection information, configure the other fields for the connector. See xref:salesforce-composite-connector-examples.adoc[Examples] for use cases.
+
+== See Also
+
+* xref:connectors::introduction/introduction-to-anypoint-connectors.adoc[Introduction to Anypoint Connectors]
+* xref:salesforce-composite-connector-reference.adoc[Salesforce Composite Connector Reference]
+* https://help.salesforce.com[Salesforce Help]
diff --git a/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-xml-maven.adoc b/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-xml-maven.adoc
new file mode 100644
index 0000000000..d77fcd68ff
--- /dev/null
+++ b/salesforce-composite/2.21/modules/ROOT/pages/salesforce-composite-connector-xml-maven.adoc
@@ -0,0 +1,65 @@
+= Salesforce Composite Connector 2.21 - XML and Maven Support
+
+Although you can manually code a Mule app in XML, it is more efficient to use Anypoint Studio.
+
+* If you manually code a Mule runtime engine (Mule) app in XML, either from the Anypoint Studio XML editor or from a text editor, you can access the connector from your app by adding reference statements to both your XML Mule flow and the Apache Maven `pom.xml` file.
+* If you add the connector in Studio, Studio automatically populates the XML code with the connector's namespace and schema location and it also adds a dependency to the `pom.xml` file.
+
+
+== Add a Namespace for the Connector
+
+Paste the following code inside the `mule` tag of the header of your configuration XML:
+
+[source,xml,linenums]
+----
+http://www.mulesoft.org/schema/mule/salesforce-composite
+http://www.mulesoft.org/schema/mule/salesforce-composite/current/mule-salesforce-composite.xsd
+----
+
+This example shows how the namespace statements are placed in the XML:
+
+[source,xml,linenums]
+----
+
+
+----
+
+== Add a POM File Dependency
+
+The Apache Maven `pom.xml` file generated by Anypoint Studio contains dependencies
+for a Mule app. When you code a Mule app manually, include this XML snippet in
+your `pom.xml` file to enable access to this connector:
+
+[source,xml,linenums]
+----
+
+ com.mulesoft.connectors
+ mule-salesforce-composite-connector
+ x.x.x
+ mule-plugin
+
+----
+
+Verify that the connector `version` corresponds to the one you are using.
+
+To obtain the most up-to-date `pom.xml` file information:
+
+. Go to https://www.mulesoft.com/exchange/[Anypoint Exchange].
+. In Exchange, click *Login* and supply your Anypoint Platform username and password.
+. In Exchange, search for `salesforce composite`.
+. Select the connector.
+. Click *Dependency Snippets* near the upper right of the screen.
+
+== Next Step
+
+After completing your namespace and `pom.xml` file, you can try the xref:salesforce-composite-connector-examples.adoc[Examples].
+
+== See Also
+
+* xref:connectors::introduction/introduction-to-anypoint-connectors.adoc[Introduction to Anypoint Connectors]
+* https://help.salesforce.com[Salesforce Help]