Contact Us 1-800-596-4880

Salesforce Connector Reference

Use Salesforce as a data source (take new Salesforce records and copy them to a Google Sheet, for example) or a data target (take a new employee in Workday and create a contact in Salesforce). Some details of how to work with data in a flow are specific to the data source or data target. The details also depend on the trigger or actions you choose.


To connect to a system, whether it is a source of data or the target where you are sending data, you must create a connection with that system’s required credentials. You typically connect to different systems within a flow and can reuse each connection every time you need to connect.

This system requires the following credential information for its connections:

Connection Name

Enter a connection name that will help you remember the details of this connection. You can reuse connections multiple times in a single flow, and in more than one flow, and the credentials are hidden after you create the connection. Therefore, it’s helpful to provide a name that easily identifies this connection from others.

Only you can see the connection. Other users in your Composer app must create their own connections.

Username and password

The username and password that you used to log in to Salesforce. You’ll need to create a connection even if the data source is the same Salesforce org where you operate Composer. However, Composer won’t ask for your password again. Instead, it displays an authentication approval dialog.


The URL that you used to log in to Salesforce, for example,

Salesforce Connected App Limits

Salesforce allows each user to grant access to no more than five connected apps at a time. Because of this limit, if you create more than five Composer connections to the same Salesforce org, Salesforce revokes tokens from the oldest to the most recently created, without notice, until the number of authorized tokens returns to five.

If possible, create only one connection per user per Salesforce org to avoid this issue.

For more about Salesforce connected apps and authorization, see the Salesforce documentation.

Relaxed IP Restrictions

If your org has IP restrictions set, errors that reference IP or OAuth failures may occur. Relax the IP restrictions to resolve this error.

To relax IP restrictions on a connection to Salesforce:

  1. Log into the Salesforce org. You must be a Salesforce admin in that org.

  2. Navigate to Setup > Connected Apps OAuth Usage.

  3. Find MuleSoft Platform in the list with the description MuleSoft OCS app for KPROD, and click Install.

  4. Click Install on the authorization dialog.

    This makes the connected app (the connection you created) available so that you can relax the IP restrictions. It doesn’t reinstall the Composer app.

  5. Click Edit Policies.

  6. Change IP Relaxation to Relax IP Restrictions and then save your change.

IP restrictions are now relaxed for the connection.

Change a Connection

To change a connection:

  1. Open the flow.

  2. Click the change icon in the trigger or every action that connects to a sandbox:

    Change the connection control
  3. Choose a new connection and save your changes.

Salesforce Sandbox and Production Orgs

You can connect to Salesforce sandbox and production orgs.

To protect your production org:

  1. Connect to a sandbox org when you build and test a flow.

  2. After testing is complete, connect to a production org, test the flow with the new connection, and then activate the flow.

    Remember to change the connection from sandbox to production in every trigger and action that uses the sandbox connection.

Null Values

By default, Composer ignores fields with empty (null) values. To change this behavior to clear the existing value of the field when the field value is null, on the card, click the gear, and then select Clear on Null Values.

Transfer Binary Files

You can transfer binary files as field inputs using data pills from within your Composer flow. For example, when keeping files in sync between Salesforce instances, you can download binary file content from one instance and later upload that same file content to another instance.

The following Salesforce objects support binary transfers:

  • Content

  • Version Document

  • Attachment

The recommended file size limit per transfer is 25MB and files transferred across systems cannot be truncated.


Each flow starts with either a scheduler or a trigger. Schedulers are set to a default frequency of 15 minutes. Triggers, such as "each time a new record is created", are defined by you and provide multiple options related to the data in your system.

Triggers use a polling process to actively check for new updates from an external system. The polling frequency is 15 seconds.

This system provides the following trigger options:

New record

Checks for a new record every 15 seconds.

New or updated record

Checks for new or updated records of the specified object type every 15 seconds.

Deleted record

Checks for soft-deleted records. Soft-deleted records are stored in Salesforce for approximately 15 days.

Records are typically stored for approximately 15 days before being hard-deleted and irretrievable. * You can’t modify the soft-delete timestamp.

Trigger Conditions

You can add trigger conditions to specify which conditions should trigger a workflow, for example, you can restrict a workflow to trigger only when a specific field meets the conditions you specify.

To add a trigger condition:

  1. Select a trigger.

  2. In the Trigger Conditions section, click on the Criteria dropdown menu and select either All Conditions Must Be Met (AND) or Any Condition Must Be Met (OR).

  3. Specify your conditions for specific fields.

To add more trigger conditions, click Add Condition.

Polling Frequency

For triggers in this connector, the Polling Frequency field is required. This field enables you to select how often Composer makes a request to the underling system API to look for changes to records in active flows. You can select a different polling frequency for each flow in your organization. With a shorter frequency, the flow executes more often; however, a shorter frequency consumes more API calls. For example, if you have an order management flow, you might require nearly real-time updates, which can be achieved with a 15-second polling interval (which equates to 5760 API calls per day). In contrast, if your flow updates a pricing catalog, you could poll the flow every hour (which equates to 24 API calls per day).


After you connect to a system and define the trigger or configure a scheduler, you define the actions that the flow performs. For example, you can copy a record between different systems, such as Workday and Salesforce. The actions you can perform depend on which system you are connected to.

This system provides the following actions:

Create new record

Create a standard or custom record.

Update record

Update any standard or custom record as specified by an external ID.

Get records

Return all the records that match specified criteria:

Query builder UI
  • You can choose which fields the action fetches in the Result fields section.

  • You can add one or more conditions to specify which types of records should be returned in the Criteria section. For example, you could specify that the last name begin with "B."

  • You can control the sort order of the returned records in the Sort records section. Records can be sorted in ascending or descending order of a field that you specify.

  • You can select All records in the How Many Records to Retrieve section to retrieve a list of records that match your criteria. The All records option is selected by default. If you want to access a single record from the list, you must add a For Each loop to your flow.

  • If you have filtered your search with a unique identifier, you can select Only the first record in the How Many Records to Retrieve section to return a single record. Returning a single record will change the output of the search from a list to a single record. The Get records action searches for all records and returns only the first record in the list.
    If you previously selected All records and then changed your selection to Only the first record, data pills in your existing flow could be invalidated.

When Get Records is a step in your flow, if Field-Level Encryption is enabled and you’re trying to filter on an encrypted field, only the following string operators are supported: equals, not equals, or empty. Field-Level Encryption doesn’t support contains, starts with, or ends with. For more information on Field-Level Encryption, see the Salesforce documentation.

Create or update record

Update any standard or custom record as specified by record ID. If the record ID isn’t found, create the record.

Delete record

Delete a record specified by its object type and record ID.

Upload file

Adds a file to a folder in Salesforce.

Download file

Returns the binary contents of the specified file.

Set Error from Action Preferences

If an error occurs within your flow, the error details appear on the Run History page. The Run History page displays the date and time on which the error occurred, an explanation of the error, and the location within the flow where the error occurred. Using this information, you can troubleshoot issues within your flow. However, you can proactively set preferences in advance for handling errors that may occur.

To set an error from action preference:

  1. Select an action.

  2. In the If an error occurs section, select one of the following:

    1. Stop Flow

    2. Continue to next step

    3. Create an error branch

    4. Continue to another branch

The error from action preference is set. If an error occurs, the selected preference is enacted in the flow.


All standard and custom Salesforce objects are available.

Some products in Marketing Cloud and Commerce Cloud use data that is not stored in Salesforce records and therefore is not available with a Salesforce connection.