Salesforce Connector
Description
Salesforce is a customer relationship management (CRM) platform. This component provides the ability to manage sales leads and records within the Salesforce platform.
API Documentation
This component was built using the following API References currently utilizing v63.0 by default.
This component includes CRUD (create, read, update, delete) actions for records and a create action for leads. For more complex queries, the Salesforce Object Query Language and the query action of this component are available.
Listening for events in Salesforce
Salesforce can send notifications when a record is created, updated, deleted, or undeleted. To listen for these events, use the Outbound Messaging feature of Salesforce.
When a Salesforce Flow is created, the conditions that cause the rule to run are specified. When those conditions are met, Salesforce sends an outbound message to the URL specified in the outbound message.
The Flow Outbound Message Webhook trigger can be used to run on instance deploy and will configure the necessary Flows and outbound messages automatically.
Example integration
An example integration is available in the GitHub examples repo and can be imported and tested.
The integration has three flows:
- Initial Account Import runs when an instance is first deployed. It uses SOQL to query pages of Account records, and for each page it loops over results and posts those results to "Acme". Account records are translated using the field mapping values the customer selected with a code step.
- Process Salesforce Outbound Messages receives notifications when an Account is changed. It fetches the modified account, maps data from SFDC to a format that "Acme Corp" understands, and sends the request to Acme. The subscription to a Salesforce Outbound Message and Workflow Rule are performed on instance deploy automatically. Those resource are deleted on instance removal.
- Create Account from Acme provides bi-directional data flow from SFDC and Acme.
A webhook request can be sent to this flow via its webhook URL, and a corresponding Account will be created in SFDC. A payload should look like this:
{"acct_name": "My New Account","revenue": 12345}
The integration also has a custom field mapper, which fetches fields on the Account object and allows the user to map them to fields on the Acme object. The field mapper in the example integration is built using the Code component, but it is recommended to build a custom field mapper in a custom component so it can be tested locally and dynamically pull data from the app, as well.
Connections
Basic Authentication
key: basicPrerequisites
- A Salesforce account with API access enabled
- The account's security token (if security tokens are enabled)
Setup Steps
When using Basic Auth, supply a Salesforce username and password. Depending on the Salesforce setup, the password may have a security token attached to it. If security tokens in the Salesforce account are disabled, the password to supply is simply the Salesforce password. If security tokens are enabled in the Salesforce account, then the password to enter is the concatenation of the password and the security token.
For example, if the Salesforce password is p@$sw0rD and the security token that Salesforce provides is ExAmPlE0000000000ExAmPlE, then enter p@$sw0rDExAmPlE0000000000ExAmPlE as the password.
Manage security tokens by clicking the profile picture on the top-right of Salesforce, selecting My Settings, and then opening Personal -> Reset My Security Token.
Configure the Connection
Create a connection of type Basic Authentication and enter:
- Username: Enter the Salesforce account username
- Password: Enter the Salesforce password, or the password concatenated with the security token if security tokens are enabled
- Login URL: Enter the Salesforce My Domain URL (e.g.,
https://my-company.my.salesforce.com/)
| Input | Notes | Example |
|---|---|---|
| Login URL | The Salesforce Login URL for Basic Authentication (e.g., https://login.salesforce.com or a custom My Domain URL). | https://my-company.my.salesforce.com/ |
| Password | The password of the Salesforce account | |
| Username | The username of the Salesforce account | myUser |
OAuth 2.0
key: oauth2OAuth 2.0 provides a simple way for users to authorize applications. To use OAuth 2.0, create and configure an External Client App (recommended) or a Connected App within Salesforce.
Prerequisites
- A Salesforce account with Administrator access
- Permission to create External Client Apps or Connected Apps in the Salesforce org
Salesforce restricted the creation of new Connected Apps in the Spring '26 release. To create a new Connected App, contact Salesforce Support. Salesforce recommends using External Client Apps for new integrations.
Existing Connected Apps continue to work and do not require changes.
Choose the Setup
Before creating an External Client App, decide which Salesforce orgs need to authorize the connection. This determines the app's Distribution State and whether additional packaging is required.
- Connecting a single Salesforce org, where the same org that creates the app also authorizes the connection: create the app with the Local distribution state. No packaging is required. Skip the Distribute to Other Orgs section.
- Connecting multiple Salesforce orgs, such as separate customer orgs: create the app with the Packaged distribution state, then package and distribute it. A Local app cannot be authorized from any org other than the one that created it.
An External Client App with the Local distribution state can be used only in the context of its own org. If users in a different Salesforce org attempt to authorize a Local app, the connection fails. To support other orgs, the app must use the Packaged distribution state and be installed in each target org as a managed package.
External Client App Setup (Recommended for New Integrations)
- Log in to the Salesforce account
- Navigate to Setup by clicking the gear icon in the upper right corner
- In the Quick Find box, search for External Client App Manager and select it
- Click New External Client App
- Complete the Basic Information fields:
- Name: Enter a descriptive name for the integration. This label is shown to users on the authorization screen, so choose something they will recognize
- API Name: Accept the generated value or enter one. This becomes part of the app's permanent identity and cannot be changed later
- Contact Email: Enter a valid contact email address
- Distribution State: Select Local for a single-org connection, or Packaged to distribute the app to other orgs
- Expand API (Enable OAuth Settings) and check Enable OAuth
- Enter the OAuth callback URL
https://oauth2.prismatic.io/callbackas the Callback URL - Under Selected OAuth Scopes, add:
- Full access (full): grants the integration the same permissions as the authenticating user
- Perform requests at any time (refresh_token, offline_access)
- Under security settings, select:
- Require Secret for the Web Server Flow
- Require Secret for Refresh Token Flow
- Require Proof Key for Code Exchange (PKCE) Extension
- Leave Enable Client Credentials Flow unselected. That is a separate connection type
- Click Save
This connection sends a PKCE challenge using the SHA-256 method on every authorization, so requiring PKCE adds protection against authorization code interception at no cost. Requiring it is recommended rather than optional.
The create form presents these settings together, but after saving they are split across two tabs on the app detail page. OAuth and security settings such as the callback URL, scopes, and the PKCE and secret requirements are under Settings, while access policies such as Permitted Users and IP Relaxation are under Policies. Expect to visit both when editing an existing app.
The Distribution State controls which orgs can use the app:
- Local: usable only in the org that creates it. Choose this for connecting a single org.
- Packaged: can be added to a second-generation (2GP) managed package and installed in other orgs. Choose this when other Salesforce orgs need to authorize the connection.
To retrieve the app credentials after saving:
- From External Client App Manager, click the app name
- Select Settings
- Click Consumer Key and Secret to view the credentials
Take note of the Consumer Key and Consumer Secret. Both are required when configuring the connection.
For an app with the Packaged distribution state, retrieve the Consumer Key and Consumer Secret once, from the org that created and packaged the app. Salesforce resolves these credentials globally, so the same pair authorizes users in every org that installs the package. Administrators of the orgs that install the package do not retrieve their own credentials, and the connection does not need to be configured differently per org.
Distribute to Other Orgs with a Managed Package
This section applies only when other Salesforce orgs need to authorize the connection. If connecting a single org with a Local app, skip ahead to Configure the Connection.
A Packaged External Client App is distributed by adding it to a second-generation (2GP) managed package and installing that package in each target org. This is done with the Salesforce CLI.
Installing a managed package directly in each target org, with an install URL or sf package install, does not require a Salesforce review. The package can be installed as soon as it is built. A mandatory AppExchange security review applies only when publicly listing an app on the Salesforce AppExchange, which is a separate distribution path and is not required for the direct distribution described here.
Packaging Prerequisites
- The Salesforce CLI (
sf) installed - Dev Hub enabled in a Developer Edition org or production org
- A registered namespace linked to the Dev Hub
- A local Salesforce DX project. The packaging commands read the app from local source files and write the package ID back into
sfdx-project.json, so a project must exist before packaging can begin
Refer to the Second-Generation Managed Packaging Developer Guide for details on each prerequisite.
Create a Project and Retrieve the App
A 2GP package is built from local source files, not from the org. The app created in Setup must therefore be retrieved to disk before it can be packaged.
-
Create a Salesforce DX project. Use the same namespace that is linked to the Dev Hub:
sf project generate --name my-eca-package \--namespace my_namespace \--api-version 67.0 -
In
sfdx-project.json, add the package name and version fields to theforce-appentry:{"packageDirectories": [{"path": "force-app","default": true,"package": "My Salesforce Integration","versionName": "ver 0.1","versionNumber": "0.1.0.NEXT"}]} -
List the app's metadata records to get their exact names. Salesforce generates the names of the child records from the app's API name:
sf org list metadata --metadata-type ExternalClientApplication --target-org MyOrgsf org list metadata --metadata-type ExtlClntAppOauthSettings --target-org MyOrg -
Retrieve the app into the project:
sf project retrieve start \--metadata ExternalClientApplication:My_App \--metadata ExtlClntAppOauthSettings:My_App_oauth \--target-org MyOrg
Exclude the Metadata That Cannot Be Packaged
Only the app definition and its OAuth scopes can be included in a 2GP package. If the other External Client App metadata types are present in the package directory, the build fails.
| Metadata type | Included in the package |
|---|---|
ExternalClientApplication | Yes |
ExtlClntAppOauthSettings (OAuth scopes) | Yes |
ExtlClntAppGlobalOauthSettings (callback URL, consumer key) | No. Salesforce distributes these globally rather than through the package |
ExtlClntAppOauthSecuritySettings | No. Not supported by 2GP packaging |
ExtlClntAppOauthConfigurablePolicies (access policies) | No. Not supported by 2GP packaging |
Add the following to .forceignore so these files are excluded from the package and are not re-added by later retrieves:
**/*.ecaGlblOauth-meta.xml
**/*.ecaOauthSecurity-meta.xml
**/*.ecaOauthPlcy-meta.xml
Because access policies are not packaged, the settings configured on the source app do not carry over to the orgs that install the package. Each installing org receives its own default policy record and manages it locally. See After Installing in a Target Org for the settings an administrator should review.
The callback URL and consumer key are also not packaged, but they are resolved globally from the source app, so they do apply in every org that installs the package.
Create and Version the Package
-
Create the package in the Dev Hub. This returns a package ID that begins with
0Hoand writes it intosfdx-project.json:sf package create \--name "My Salesforce Integration" \--package-type Managed \--path force-app \--target-dev-hub MyDevHubCheck the default package directoryThis command rewrites
sfdx-project.jsonand may set"default": falseon the package directory. If later commands report that no default package directory is configured, set the value back totrue. -
Create a package version. This command is asynchronous and returns a request ID that begins with
08c:sf package version create \--package "My Salesforce Integration" \--installation-key-bypass \--code-coverage \--wait 40 \--target-dev-hub MyDevHubInclude --code-coverage or the version cannot be releasedCode coverage is calculated during version creation and cannot be added afterward. A version built without
--code-coveragecan never be promoted, and promotion is required before the package can be installed in production orgs. Omitting the flag means rebuilding the version from scratch.An External Client App package contains no Apex, so the coverage check passes with nothing to measure. The flag is still required.
-
Retrieve the subscriber package version ID, which begins with
04t, once the version finishes building. Use either the request ID from the previous step or list all versions:sf package version create report \--package-create-request-id 08c... \--target-dev-hub MyDevHub# orsf package version list --target-dev-hub MyDevHub
Take note of the 04t subscriber package version ID. It identifies the package version to install in each target org.
Orgs allow a limited number of package version builds per day, and failed attempts count against that limit. Confirm the package directory contains only the two supported metadata types before building.
--installation-key-bypass creates a version that anyone with the ID can install. To restrict installation, replace it with --installation-key <key> and share the key only with the orgs that should install the package.
Promote the Package Version for Production Installs
Every new package version is created as a beta. A beta version can be installed only in a scratch org, so it cannot be given to customers. Promote the version to release it:
sf package version promote \
--package "My Salesforce Integration@1.0.0-1" \
--target-dev-hub MyDevHub
Confirm the version is released before distributing it:
sf package version list --target-dev-hub MyDevHub
# IsReleased should read true for the version being distributed
Reverting a released version back to beta requires a Salesforce Support case. Confirm the package name, the app label shown to users, and the callback URL are all correct before promoting, because they are what customers will see.
Because a beta version cannot be upgraded in place, avoid installing one into any sandbox that forms part of a release pipeline. Use a scratch org for testing, then promote and install the released version.
Install the Managed Package in a Target Org
Install the released package version in each Salesforce org that needs to authorize the connection. An administrator of the target org performs the install. Distributing an install URL is the usual approach, because it requires nothing to be installed on the administrator's machine.
Install from a browser
The Salesforce CLI generates the installation URL for each package version. Read it from the InstallUrl field:
sf package version list --target-dev-hub MyDevHub --verbose
InstallUrl: https://login.salesforce.com/packaging/installPackage.apexp?p0=04t...
Share this URL with every org that needs the package. Nothing in it is specific to the installing org, so there is no per-org value to substitute.
Steps for the installing administrator:
- Log in to the target Salesforce org as an administrator
- Open the installation URL in the same browser session
- Enter the installation key, if the package version was created with one
- Choose the access level for the package. Install for Admins Only restricts access to administrators, and Install for All Users grants access to all users in the org. This is the same choice the CLI exposes as
--security-type - Click Install and wait for the confirmation. Salesforce sends an email when an install takes long enough to be processed in the background
Change login.salesforce.com to test.salesforce.com in the installation URL when installing into a sandbox. This is the same substitution used for the connection's Authorize, Token, and Revoke URLs.
An administrator already logged in to the target org can instead open
https://MyDomainName.lightning.force.com/packagingSetupUI/ipLanding.app?apvId=04t..., replacing MyDomainName with their org's My Domain. Both routes open the same installation screen. The InstallUrl above is usually easier to distribute because it is identical for every org.
Refer to Salesforce's Use a URL to Install a Second-Generation Managed Package documentation for details.
Install with the Salesforce CLI
For orgs where an administrator already uses the CLI, install directly:
sf package install \
--package 04t... \
--target-org TargetOrg \
--security-type AdminsOnly \
--wait 10
--security-type AdminsOnlygrants access to administrators only. UseAllUsersto grant access to all users in the target org- Add
--installation-key <key>if the version was created with an installation key
A managed 2GP package cannot be installed into an org that is itself a managed first-generation (1GP) packaging org. The install fails with an error stating that a managed 2GP package cannot be installed into a managed 1GP packaging org. Overriding this behavior requires contacting Salesforce Partner Support. Choose a different target org for testing.
An org that owns the package's namespace also cannot install the package.
After Installing in a Target Org
Access policies are not carried in the package, so an administrator of the installing org should review them after installation. Navigate to Setup > External Client App Manager, click the installed app name, and select Policies.
- IP Relaxation: set to Relax IP restrictions. New installations default to enforcing IP restrictions, which applies the authorizing user's profile login IP ranges to API calls made by the integration. Because those calls originate from the integration's servers rather than the user's browser, they can fall outside the permitted ranges in orgs that define login IP ranges
- Permitted Users: confirm this is set to All users may self-authorize, or grant access explicitly to the required users or profiles
Once the package is installed and these settings are reviewed, users in that org can authorize the connection.
Guiding End Users Through the Install
The person configuring the integration is often not a Salesforce administrator, and the package has to be installed before their Connect step will succeed. Adding the install link directly to the configuration wizard removes a support round trip: the user can forward the instructions to their administrator without needing to be told what to ask for.
Add a Raw HTML element to the configuration page, above the connection, and adapt the following. Replace the company name with your own and 04t... with the subscriber package version ID:
<h2>Salesforce Connection</h2>
<p>
Salesforce requires that all external apps be added by a Salesforce
administrator. Have your administrator open the following link and, when
prompted, select <strong>Install for All Users</strong>:
</p>
<p>
<a
href="https://login.salesforce.com/packaging/installPackage.apexp?p0=04t..."
>https://login.salesforce.com/packaging/installPackage.apexp?p0=04t...</a
>
</p>
<p>
Once Acme's Salesforce app has been installed in your Salesforce tenant, click
<strong>Connect</strong> below.
</p>
Notes on adapting it:
- Use the same link for every customer. Read it from the
InstallUrlfield described above. Nothing in it is specific to the installing org. - Install for All Users is suggested because any user who needs to authorize the connection must have access to the package. Say Install for Admins Only instead if only administrators will ever authorize.
- If a customer is installing into a sandbox, they need
test.salesforce.comin place oflogin.salesforce.com. Mention this only if sandbox installs are expected, since it is a common source of confusion when it is not relevant.
Connected App Setup (Existing Apps)
Connected App creation is restricted as of Spring '26. These steps apply only if a Connected App was created before Spring '26 or if Salesforce Support has granted permission to create new ones.
- Log in to the Salesforce account
- Navigate to Setup by clicking the gear icon in the upper right corner
- Open Apps > App Manager
- Select New Connected App
- Check Enable OAuth Settings
- Enter the OAuth callback URL
https://oauth2.prismatic.io/callbackas the Callback URL - Under Selected OAuth Scopes, add:
- Full access (full): grants the integration the same permissions as the authenticating user
- Perform requests at any time (refresh_token, offline_access)
- Select Require Secret for the Web Server Flow and Require Secret for Refresh Token Flow

- Select Save and Continue
- Click Manage Consumer Details to retrieve the Consumer Key and Consumer Secret
Take note of these keys:

To update callback URLs later, select Apps > App Manager, click the dropdown next to the app, and select Edit.
OAuth Policies and Troubleshooting
Authorization can fail for two distinct reasons. Identify which applies before troubleshooting.
Access is controlled along two independent axes:
- Which orgs can connect is set by the app's Distribution State. A Local app serves only the org that created it. A Packaged app serves other orgs once the package is installed there.
- Which users within an org can authorize is governed by the Permitted Users policy and permission-set assignment described below.
Users in another Salesforce org cannot connect
If users in a different org than the one that created the app cannot authorize, often with an unknown-client or invalid-app error, the app is Local or its package is not installed in that org.
To resolve, set the app's distribution state to Packaged, then package and install it in the target org. See Distribute to Other Orgs. When installing, the security type, AdminsOnly or AllUsers, controls which users in the target org receive access to the package.
If the app's distribution state was set to Local when it was created, the value can be changed. Refer to Salesforce's Packageable External Client Apps documentation.
Users in the app's own org cannot connect
Salesforce administrators control which users can authorize through OAuth Policies. The navigation path depends on the app type:
- External Client App: Navigate to Setup > External Client App Manager, click the app name, then select Policies
- Connected App: Navigate to Setup > Apps > App Manager, click the dropdown next to the app, select Manage, then Edit Policies
The Permitted Users setting determines access:
- All users may self-authorize: Any user in the Salesforce org can authenticate with the integration. This is the default setting.
- Admin approved users are pre-authorized: Only users or profiles that an administrator has explicitly granted access can authenticate. All other users see an authorization error when attempting to connect.
If users encounter authorization errors after the connection is configured correctly, verify the Permitted Users policy is set to All users may self-authorize, or that the required users or profiles have been granted access under Manage > Profiles or Permission Sets.
Authorization succeeds but API requests fail
If a user can authorize successfully but subsequent requests fail with insufficient access or restricted IP errors, check the IP Relaxation policy on the app. Set it to Relax IP restrictions. This is a common cause in orgs that were set up by installing a managed package, because that setting defaults to enforcing IP restrictions and is not carried over from the packaged app.
| Input | Notes | Example |
|---|---|---|
| Authorize URL | The OAuth 2.0 Authorization URL for Salesforce | https://login.salesforce.com/services/oauth2/authorize |
| Consumer Key | The Consumer Key from the Salesforce Connected App. | 3MVG9ZL1aBcDeFGHjklMNOpQRsTUVwXyZ1234567890abcdefg |
| Consumer Secret | The Consumer Secret from the Salesforce Connected App. | |
| Revoke URL | The OAuth 2.0 Revocation URL for Salesforce | https://login.salesforce.com/services/oauth2/revoke |
| Scopes | A space-delimited set of one or more OAuth scopes to request access to. | |
| Token URL | The OAuth 2.0 Token URL for Salesforce | https://login.salesforce.com/services/oauth2/token |
OAuth 2.0 Client Credentials
key: salesforceClientCredentialsOAuth 2.0 Client Credentials provides server-to-server authentication without user interaction. Use this connection type for integrations that run in the background without a user context.
Prerequisites
- A Salesforce account with Administrator access
- A Connected App configured for OAuth 2.0 (see OAuth 2.0 connection documentation), or permission to create a new one
Setup Steps
This connection requires a Connected App configured for Client Credentials. If a Connected App already exists for OAuth 2.0, enable Client Credentials on that app. Otherwise, create a new Connected App following the OAuth 2.0 setup steps first.
-
Enable Client Credentials Flow:
- Navigate to Setup > Apps > App Manager
- Find the Connected App and select Edit from the dropdown menu
- Under API (Enable OAuth Settings), check Enable Client Credentials Flow
- Click Save
-
Configure Run As User — the Client Credentials flow requires specifying which user the integration will authenticate as:
- From the Connected App, select Manage from the dropdown menu
- Click Edit Policies
- Under Client Credentials Flow, select a user from the Run As dropdown
- Click Save
The selected user's permissions determine what the integration can access.
Configure the Connection
- Instance URL: Enter the Salesforce My Domain URL (e.g.,
https://acme-corp.my.salesforce.com) - Consumer Key: Enter the Consumer Key from the Connected App
- Consumer Secret: Enter the Consumer Secret from the Connected App
- Scopes: Scopes are configured in the Salesforce Connected App settings
For sandbox environments, use the sandbox My Domain URL format: https://your-company--sandbox.sandbox.my.salesforce.com
| Input | Notes | Example |
|---|---|---|
| Consumer Key | The Consumer Key from the Salesforce Connected App. | 3MVG9ZL1aBcDeFGHjklMNOpQRsTUVwXyZ1234567890abcdefg |
| Consumer Secret | The Consumer Secret from the Salesforce Connected App. | |
| Instance URL | The Salesforce My Domain URL (e.g., https://your-company.my.salesforce.com). For sandbox, use https://your-company--sandbox.sandbox.my.salesforce.com. | https://acme-corp.my.salesforce.com |
| Scopes | Scopes are configured in the Salesforce Connected App settings. | |
| Token URL | {{#instanceUrl}}/services/oauth2/token |
Triggers
Flow Outbound Message Webhook
Receive Flow-based outbound messages from Salesforce. | key: flowOutboundMessageTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Fields | Fields to include in the Outbound Message. | Name, Phone, Email, etc. |
| Filter Formula | Optional formula to filter which records trigger the flow. | ISCHANGED(Email) && NOT(ISBLANK(Email)) |
| Flow Metadata | Additional Flow metadata in JSON format. This will be merged with other inputs. | |
| Prefix | Sets a prefix to the Flow Name and Outbound Messages created. Must start with a letter, can contain letters, numbers, underscores, and be at most 15 characters. | Acme_Services |
| Trigger Record Type | The Salesforce object API name (e.g., Account, Contact) whose record changes will trigger this flow. | |
| Trigger On | When to trigger the flow (record creation, update, or both). | CreateAndUpdate |
| Version | The Salesforce API version number to use for requests. | 63.0 |
The Flow Outbound Message trigger can manage Salesforce Flow based webhook integrations for the instance. Unlike traditional webhook setups that require manual configuration in Salesforce Setup, this trigger handles the entire Flow lifecycle automatically.
How It Works
- On Instance Deploy: The trigger automatically creates a record-triggered Flow in the Salesforce org with an outbound message action pointing to the instance's unique webhook URL. If a previous Flow and Outbound Message exist for this instance, they are deleted and recreated.
- On Instance Deletion: The trigger automatically removes the Salesforce Flow and Outbound Message that were created on deploy, cleaning up all resources in the Salesforce org.
Configuration
- Prefix: A prefix applied to the Flow Name and Outbound Messages created. Must start with a letter, can contain letters, numbers, and underscores, and be at most 15 characters.
- Trigger Record Type: The Salesforce object API name (e.g., Account, Contact) whose record changes will trigger this flow.
- Trigger On: When to trigger the flow — on record creation, update, or both.
- Fields: Fields to include in the Outbound Message payload.
- Filter Formula: An optional formula to filter which records trigger the flow.
- Flow Metadata: Additional Flow metadata in JSON format, merged with other inputs.
- Version: The Salesforce API version to use.
The trigger supports different Flow trigger conditions:
- Create: Triggers when new records are created
- Update: Triggers when existing records are updated
- Create or Update: Triggers on both record creation and updates
Returned Data
The trigger receives deserialized XML payloads from Salesforce outbound messages, automatically converted to JSON. The structure includes the Salesforce object fields configured in the outbound message.
Example Payload
{
"soapenv:Envelope": {
"soapenv:Body": {
"notifications": {
"OrganizationId": { "_text": "00D7F000004xkKaUAI" },
"ActionId": { "_text": "04k7F0000008OKaQAM" },
"Notification": {
"Id": { "_text": "04l7F0000008OKQQA2" },
"sObject": {
"sf:Id": { "_text": "0017000000hOMChAAO" },
"sf:Name": { "_text": "Acme Corp" },
"sf:Email": { "_text": "contact@acme.com" }
}
}
}
}
}
}
New and Updated Records
Checks for new, updated, and optionally deleted records in Salesforce on a recurring schedule. | key: pollChangesTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Field Value Types | For each item, provide the key and the type corresponding to the field value entered above. Valid types are Boolean, Number, or String. | Name:string,Phone:string |
| Max Records To Fetch | The maximum number of records the trigger will fetch. Defaults to 20,000 records. | 20000 |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Return IDs Only | When true, only record IDs and date fields are returned (Id, CreatedDate, LastModifiedDate). Overrides Selected Fields. Use this to minimize data returned by the trigger. | false |
| Selected Fields | Specific field API names to include in results. Leave empty to return all fields. Id, CreatedDate, and LastModifiedDate are always included automatically. | Name |
| Show Deleted Records | When true, recently deleted records are included in the polling results. | false |
| Show New Records | When true, newly created records are included in the polling results. | true |
| Show Updated Records | When true, recently modified records are included in the polling results. | true |
| Version | The Salesforce API version number to use for requests. | 63.0 |
The New and Updated Records trigger checks for new and updated records in Salesforce on a recurring schedule. It uses the configured record type and field values to query for records, then compares timestamps against the last polling time to identify changes.
How It Works
On each polling interval, the trigger queries Salesforce for records of the specified type. It compares each record's CreatedDate and LastModifiedDate against the last poll timestamp to determine which records are new or updated. Only changed records are included in the trigger payload.
The trigger maintains polling state internally, storing the timestamp of each execution to use as the comparison point for the next poll.
Configuration
- Record Type: The Salesforce object API name to poll for changes (e.g., Account, Contact, Opportunity)
- Show New Records: When enabled, newly created records are included in the results
- Show Updated Records: When enabled, recently modified records are included in the results
- Field Values: Key-value pairs to filter which records are returned
- Field Value Types: The data types for the field values (Boolean, Number, or String)
- Dynamic Fields: Additional fields that can be configured at deploy time
- Max Records To Fetch: The maximum number of records per poll. Defaults to 20,000 records
- Version: The Salesforce API version to use
Returned Data
The trigger returns an object containing arrays of new and updated records based on the configuration.
Example Payload
{
"newRecords": [
{
"Id": "0017000000hOMChAAO",
"Name": "New Account",
"CreatedDate": "2025-01-15T10:30:00.000+0000",
"LastModifiedDate": "2025-01-15T10:30:00.000+0000"
}
],
"updatedRecords": [
{
"Id": "0017000000hOMCiAAO",
"Name": "Updated Account",
"CreatedDate": "2024-06-01T08:00:00.000+0000",
"LastModifiedDate": "2025-01-15T10:45:00.000+0000"
}
]
}
Webhook
Receive and validate webhook requests from Salesforce for manually configured webhook subscriptions. | key: webhook
A Salesforce outbound message can be configured to send information to a flow's webhook URL under certain conditions (an "Account" is created, an "Opportunity" is updated, etc.).
This trigger responds to a Salesforce outbound message request with the acknowledgement (ack) response that Salesforce expects.
Since Salesforce always sends XML payloads, the XML is deserialized automatically as part of the trigger, so no additional XML deserialization step is required.
Returned Data
The trigger automatically deserializes the XML payload from Salesforce into a JSON object. The structure depends on which Salesforce object and fields are configured in the outbound message.
Example Payload
{
"soapenv:Envelope": {
"soapenv:Body": {
"notifications": {
"OrganizationId": { "_text": "00D7F000004xkKaUAI" },
"ActionId": { "_text": "04k7F0000008OKaQAM" },
"Notification": {
"Id": { "_text": "04l7F0000008OKQQA2" },
"sObject": {
"sf:Id": { "_text": "0017000000hOMChAAO" },
"sf:Name": { "_text": "Acme Corp" }
}
}
}
}
}
}
Workflow Outbound Message Webhook (Deprecated)
Receive workflow rule outbound messages from Salesforce. | key: workflowTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Description | A text description of the object. | This is a description of the object |
| Fields | Fields to include in the Outbound Message. | Name, Phone, Email, etc. |
| Outbound Message Name | The name of the outbound message to be used. | MyOutboundMessage |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Trigger Type | Conditions in which the trigger fires. On All Changes: The workflow rule is considered on all changes. On Create Only: Considered on creation. On Create or Meets Rule Criteria: Considered on create and when it is updated to meet any Rule Criteria configured to the workflow rule. | onAllChanges |
| Version | The Salesforce API version number to use for requests. | 63.0 |
| Workflow Rule Name | The name of the workflow rule to be used. | MyWorkflowRule |
Salesforce is ending support for Workflow Rules and Process Builder on December 31, 2025 and will no longer provide customer support or bug fixes for Workflow Rules and Process Builder. While existing webhook subscriptions may continue to function, they will become unsupported after the deadline. It is recommended to migrate webhook subscriptions to the Flow Builder by that time.
As a solution, the Salesforce component now offers Flow based features to replace the workflow rule functionality. Outbound Message functionality will remain unaffected and Flows are compatible with Outbound Messages. For an overview of the new Flow trigger functionality please reference the following Flow Outbound Message Webhook demonstration.
Migrating Workflow Rules to Flows: It is recommended to migrate current integrations to Flows before the end of the year.
To migrate, update and configure existing integrations to the new Flow Outbound Message Webhook trigger. On deploy, the trigger will automatically create a brand new active Flow and Outbound Message. The original Outbound Message will be removed to disable the Workflow Rule automation.
- The migration only removes the prior Outbound Message. The Workflow Rule will remain intact but is no longer active.
- The payload returned by the new trigger will be different and may break integration references. Please review and update any input steps that reference the trigger payload.
Data Sources
Map Record Type Fields
A map of a list of fields to Salesforce Record Type fields. | key: mapRecordTypeFields | type: objectFieldMap
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Include Supplemental Metadata | When true, will store all data retrieved from the Salesforce Metadata API for each mapped Record Type. | false |
| Mapping Fields | Provide an ObjectFieldMap that contains the list of fields to map and optional default mappings to object fields. | { "fields": [ { "field": { "key": "name", "label": "Name" }, "defaultObject": { "key": "account", "label": "Account" }, "defaultField": { "key": "contactName", "label": "Contact Name" } }, { "field": { "key": "address", "label": "Address" }, "defaultObject": { "key": "account", "label": "Account" }, "defaultField": { "key": "contactAddress", "label": "Contact Address" } } ] } |
| Selected Record Types | The selected Record Types to use as choices for performing field mapping. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Preview Record Type Field Values
A list of values of the specified Record Type field for use as a preview during configuration. | key: previewRecordTypeFieldValues | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Field Name | The name of field on the Record Type for which to fetch values. | Account Name |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Value Count | The maximum number of values to fetch. Must be less than or equal to 20. | 5 |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Preview Record Type Fields
A list of fields of the specified Record Type for use as a preview during configuration. | key: previewRecordTypeFields | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Bulk Job
A picklist of bulk ingest jobs in the Salesforce org. | key: selectBulkJob | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Filter Query | Filter results by matching this text. | Some text to filter by |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Contact
A picklist of contacts in the Salesforce org. | key: selectContact | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Filter Query | Filter results by matching this text. | Some text to filter by |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Customer
A picklist of customers in the Salesforce org. | key: selectCustomer | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Filter Query | Filter results by matching this text. | Some text to filter by |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Flow
A picklist of available Flows in the Salesforce org. | key: selectFlow | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Filter Query | Filter results by matching this text. | Some text to filter by |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Lead
A picklist of leads in the Salesforce org. | key: selectLead | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Filter Query | Filter results by matching this text. | Some text to filter by |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Opportunity
A picklist of opportunities in the Salesforce org. | key: selectOpportunity | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Filter Query | Filter results by matching this text. | Some text to filter by |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Outbound Message
A picklist of available Outbound Messages in the Salesforce org. | key: selectOutboundMessage | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Filter Query | Filter results by matching this text. | Some text to filter by |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Profile
A picklist of profiles in the Salesforce org. | key: selectProfile | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Filter Query | Filter results by matching this text. | Some text to filter by |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Record Type
A picklist of record types in the Salesforce org. | key: selectRecordType | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Filter Query | Filter results by matching this text. | Some text to filter by |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Record Type
A picklist of available Salesforce Record Types. | key: selectRecordTypes | type: objectSelection
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Default Selected Record Types | The names of the Record Types to default in a selected state. | |
| Include All Custom Record Types | When true, will include all Custom Record Types, even those not included in Record Type Name Filter. | true |
| Include Only Top Level Record Types | When true, will include only Record Types that are top-level, meaning not subtypes of other Types, regardless of other filters. | false |
| Record Type Filter | The names or labels of the Record Types to include; if blank then all types are included. Uses case-insensitive matching. | |
| Show Triggerable Only | When true, only triggerable objects are returned. When false, all objects are returned. | false |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select Record Type With Fields
A picklist of available Salesforce Record Types with their associated fields. | key: selectRecordTypesWithFields | type: objectSelection
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Default Selected Record Types | The names of the Record Types to default in a selected state. | |
| Include All Custom Record Types | When true, will include all Custom Record Types, even those not included in Record Type Name Filter. | true |
| Include Only Top Level Record Types | When true, will include only Record Types that are top-level, meaning not subtypes of other Types | false |
| Record Type Filter | The names or labels of the Record Types to include; if left blank no record types are returned. Uses case-insensitive matching. | |
| Show Triggerable Only | When true, only triggerable objects are returned. When false, all objects are returned. | false |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Select User
A picklist of users in the Salesforce org. | key: selectUser | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Filter Query | Filter results by matching this text. | Some text to filter by |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Actions
Abort Bulk Job
Abort a bulk ingest job. | key: abortBulkJob
| Input | Notes | Example |
|---|---|---|
| Bulk Job ID | The unique identifier of the bulk job returned from the Create Bulk Job action. | 750R0000000zlh9IAA |
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Abort Bulk Job⤓
Abort Bulk Query Job
Abort a bulk query job. | key: abortBulkQueryJob
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Query Job ID | The ID of the query job to abort | 750R0000000zlh9IAA |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Abort Bulk Query Job⤓
Activate Flow
Activate a Flow in Salesforce by name. | key: activateFlow
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Flow Name | The name for the Flow. Accepts both display names and API names. Display names are automatically converted to API format, while API names are used as is. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Activate Flow⤓
Add Attachment
Attach a file to a parent record object (Account, Opportunity, etc.). | key: addAttachment
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| File Contents | Reference a file from a previous step, or enter plain text here. | Hello World |
| File Name | The name of the file to upload, including the file extension. | file.pdf |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Add Attachment⤓
Add User Permission Set
Add a permission set to the specified user. | key: addUserPermissionSet
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Permission Set | The name of the Salesforce Permission Set to assign to or remove from the user. | Standard User |
| User Name | The username of the Salesforce user to reference. | JohnDoe |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Add User Permission Set⤓
Bulk Insert Records
Create new Salesforce records in bulk. | key: bulkInsertRecords
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| External ID Field Name | The name of the column that refers to the External ID Field | ExtId__c |
| File | The binary file data to upload as a Salesforce Content Version. | |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Bulk Insert Records⤓
Bulk Upsert Records
Update Salesforce records if they exist, otherwise create new Salesforce records. | key: bulkUpsertRecords
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| External ID Field Name | The name of the column that refers to the External ID Field | ExtId__c |
| File | The binary file data to upload as a Salesforce Content Version. | |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Bulk Upsert Records⤓
Complete Upload Bulk Job
Notify Salesforce that the upload of job data is complete and ready for processing. No additional job data can be added after this call. | key: completeUploadBulkJob
| Input | Notes | Example |
|---|---|---|
| Bulk Job ID | The unique identifier of the bulk job returned from the Create Bulk Job action. | 750R0000000zlh9IAA |
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Complete Upload Bulk Job⤓
Create Account
Create a Salesforce account record. | key: createAccount
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Phone, Website, Description, Number of Employees, and Annual Revenue. | |
| Billing Address | Street, city, state, postal code, and country for the billing address. | |
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Industry | The industry of the account record. | |
| Name | The name assigned to the Salesforce record. | myExampleObject |
| Shipping Address | Street, city, state, postal code, and country for the shipping address. | |
| Account Type | The type of account record. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Account⤓
Create Bulk Job
Create a bulk ingest job representing an operation and its associated data for asynchronous processing in Salesforce. | key: createBulkJob
| Input | Notes | Example |
|---|---|---|
| Assignment Rule ID | The ID of an assignment rule to run for a Case or a Lead. The assignment rule can be active or inactive. | 01Q7F0000004g8eUAA |
| Column Delimiter | The character delimiter used to separate column values in the bulk query results file. | COMMA |
| Connection | The Salesforce connection to use. | |
| External ID Field Name | The external ID field in the object being updated. Only needed for upsert operations. Field values must also exist in CSV job data. | ExtId__c |
| Line Ending | The line ending character sequence used in the bulk query results file. | LF |
| Object | The object type for the data being processed. Use only a single object type per job. | Account |
| Operation | The data manipulation operation for the bulk job (e.g., insert, update, upsert, delete, or hardDelete). | insert |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Bulk Job⤓
Create Bulk Query Job
Create a bulk query job. | key: createBulkQueryJob
| Input | Notes | Example |
|---|---|---|
| Column Delimiter | The character delimiter used to separate column values in the bulk query results file. | COMMA |
| Connection | The Salesforce connection to use. | |
| Line Ending | The line ending character sequence used in the bulk query results file. | LF |
| Operation | The Salesforce Bulk API operation type. Use 'query' for standard queries and 'queryAll' to include deleted or archived records. | query |
| Query | The SOQL query to execute against the Salesforce Bulk API. | SELECT Id FROM Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Bulk Query Job⤓
Create Contact
Create a Salesforce contact. | key: createContact
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Department, Title, Assistant, Assistant's Phone, and Description. | |
| Other Address | Street, city, state, postal code, and country for the secondary address. | |
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Email Address | The email address for the object. | someone@example.com |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Mailing Address | Street, city, state, postal code, and country for the mailing address. | |
| Name & Contact Information | First and last name, phone, fax, and mobile contact channels, and birthdate. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Contact⤓
Create Customer
Create a Salesforce customer. | key: createCustomer
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Customer Status Type | The status of the customer account. | Active |
| Last Reference Date | The timestamp for when the current user last viewed a record related to this record. | 2021-09-01T00:00:00.000Z |
| Last Viewed Date | The timestamp for when the current user last viewed this record. If this value is null, it's possible that this record was referenced (LastReferencedDate) and not viewed. | 2021-09-01T00:00:00.000Z |
| Name | Name of this customer. | myExampleObject |
| Owner ID | The ID of the user who owns the record. | 00570000001a2fF |
| Party ID | The unique identifier of the individual object related to this customer record. | 0697000000K2g5AAAR |
| Total Lifetime Value | The total revenue amount gained from this customer. | 1000 |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Customer⤓
Create Flow
Create a draft Flow in Salesforce. | key: createFlow
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Description | A text description of the object. | This is a description of the object |
| Flow Metadata | Additional Flow metadata in JSON format. This will be merged with other inputs. | |
| Flow Name | The name for the Flow. Accepts both display names and API names. Display names are automatically converted to API format, while API names are used as is. | |
| Run In Mode | The context user mode the Flow runs as. DefaultMode respects user permissions and sharing rules. SystemModeWithoutSharing grants broad data access but may lead to security warnings. | DefaultMode |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Flow⤓
Create Lead
Create a Salesforce lead record. | key: createLead
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Title, Lead Source, Rating, Number of Employees, Description, and Annual Revenue. | |
| Address | Street, city, state, postal code, and country for the address. | |
| Company | The name of the company associated with the record. | Widgets Inc. |
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Email Address | The email address for the object. | someone@example.com |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Lead Status | The status of the lead. Examples of valid values include: Open, Working, Closed - Converted, Closed - Not Converted. | Converted |
| Name & Contact Information | First and last name, phone, and website. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Lead⤓
Create Metadata
Create new metadata components. | key: createObjectsFromMetadata
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Metadata | See JSforce Metadata API documentation for related documentation. | |
| Metadata Type | The type of metadata to act upon. | CustomObject |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Metadata⤓
Create Metadata Fields
Create custom fields from metadata. | key: createFieldsFromMetadata
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Metadata | See JSforce Metadata API documentation for related documentation. | |
| Metadata Type | The type of metadata to act upon. | CustomObject |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Metadata Fields⤓
Create Opportunity
Create a Salesforce opportunity record representing a sale or pending deal. | key: createOpportunity
| Input | Notes | Example |
|---|---|---|
| Account ID | The ID of the account to reference. | 0017000000hOMChAAO |
| Amount | The monetary amount associated with the opportunity. | 38000 |
| Close Date | The date the sale is expected to close. Format: YYYY-MM-DD. | 2025-12-31 |
| Connection | The Salesforce connection to use. | |
| Description | A text description of the object. | This is a description of the object |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Lead Source | The origin or channel from which the lead was generated (e.g., Web, Phone, Email). | Web |
| Name | The name assigned to the Salesforce record. | myExampleObject |
| Next Step | A description of the next action or milestone for the opportunity. | Follow up with the client |
| Opportunity Type | The category of the opportunity, indicating whether it is for a new or existing customer. | |
| Probability | The probability of the success of the sale. | 50 |
| Stage | The stage the sale is currently in. | Prospecting |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Opportunity⤓
Create Outbound Message
Create an Outbound Message in Salesforce. | key: createWorkflowOutboundMessage
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Description | A text description of the object. | This is a description of the object |
| Dynamic Fields | Dynamic Fields, provided by value collection config variable, to include in the Outbound Message | |
| Endpoint URL | The endpoint URL to send the outbound message / webhook to | https://example.com/webhook |
| Fields | Fields to include in the Outbound Message. | Name, Phone, Email, etc. |
| Integration User Email | The email of the user under which the payload is sent. If not provided, the current user will be used | john@doe.com |
| Outbound Message Name | The name of the Salesforce Outbound Message to create or reference. | MyOutboundMessage |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Outbound Message⤓
Create Profile
Create a Salesforce profile. | key: createProfile
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Description | Description of the profile. | |
| Name | The name of the profile. | |
| Permissions | Key/value object with permission name keys and boolean value indicating if a permission is granted or not. Use 'Describe Permissions' to retrieve the permissions of a Record Type. | |
| User License | Identifier for associated UserLicense. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Profile⤓
Create Record
Create a Salesforce record. | key: createRecord
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Record⤓
Create User
Create a Salesforce user. | key: createUser
| Input | Notes | Example |
|---|---|---|
| Alias | A short identifier for the Salesforce user, typically used in reports and list views. | JD |
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Email Address | The email address for the object. | someone@example.com |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| First Name | The first name of the contact at the company | John |
| Last Name | The last name of the contact at the company | Smith |
| Profile | The name of the Salesforce User Profile that defines the user's permissions and settings. | Standard User |
| Time Zone | The time zone for the user. Uses IANA format (e.g., America/New_York). | |
| User Name | The username of the Salesforce user to reference. | JohnDoe |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create User⤓
Create Workflow Rule
Create a Workflow Rule. Workflow Rules are deprecated by Salesforce; migrate to Flow-based actions. | key: createWorkflowRule
| Input | Notes | Example |
|---|---|---|
| Active | When true, the workflow rule is active and will fire when its criteria are met. | true |
| Connection | The Salesforce connection to use. | |
| Description | A text description of the object. | This is a description of the object |
| Rule Criteria Filter | Filter criteria data structure to use with the rule, use this or Formula. See Salesforce Metadata API - FilterItem for the expected structure. | |
| Formula | Formula to evaluate. Use this input or Filter Criteria | OwnerId <> LastModifiedById |
| Outbound Message Actions | Full Names of the Outbound Message Actions for this Rule to fire. | |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Rule Name | The name of the Salesforce Workflow Rule to create or reference. | |
| Trigger Type | Conditions in which the trigger fires. On All Changes: The workflow rule is considered on all changes. On Create Only: Considered on creation. On Create or Meets Rule Criteria: Considered on create and when it is updated to meet any Rule Criteria configured to the workflow rule. | onAllChanges |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Create Workflow Rule⤓
Deactivate Flow
Deactivate a Flow in Salesforce by name. | key: deactivateFlow
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Flow Name | The name for the Flow. Accepts both display names and API names. Display names are automatically converted to API format, while API names are used as is. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Deactivate Flow⤓
Delete Account
Delete an existing account record. | key: deleteAccount
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Delete Bulk Job
Delete a bulk ingest job. | key: deleteBulkJob
| Input | Notes | Example |
|---|---|---|
| Bulk Job ID | The unique identifier of the bulk job returned from the Create Bulk Job action. | 750R0000000zlh9IAA |
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Bulk Job⤓
Delete Bulk Query Job
Delete a bulk query job. | key: deleteBulkQueryJob
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Query Job ID | The ID of the query job to delete | 750R0000000zlh9IAA |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Bulk Query Job⤓
Delete Contact
Delete an existing contact record. | key: deleteContact
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Contact⤓
Delete Customer
Delete an existing customer record. | key: deleteCustomer
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Customer⤓
Delete Flow
Delete a Flow from Salesforce by name. | key: deleteFlow
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Flow Name | The name for the Flow. Accepts both display names and API names. Display names are automatically converted to API format, while API names are used as is. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Flow⤓
Delete Instanced Flows and Outbound Messages
Delete all instanced flows and outbound messages for a given endpoint URL. | key: deleteInstancedFlowsAndOutboundMessages
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Endpoint URL | The endpoint URL to delete the instanced flows and outbound messages for. | https://example.com/webhook |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Instanced Flows and Outbound Messages⤓
Delete Lead
Delete a Salesforce lead record. | key: deleteLead
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Lead⤓
Delete Metadata
Delete one or more metadata components. | key: deleteMetadata
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Object Full Names | The full API names of the Salesforce metadata objects to act on (e.g., TestObject1__c). | |
| Metadata Type | The type of metadata to act upon. | CustomObject |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Metadata⤓
Delete Opportunity
Delete an existing opportunity record. | key: deleteOpportunity
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Opportunity⤓
Delete Profile
Delete a Salesforce profile. | key: deleteProfile
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Profile⤓
Delete Record
Delete an existing Salesforce record. | key: deleteRecord
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Record⤓
Delete Workflow Outbound Message
Delete a Workflow Outbound Message. | key: deleteWorkflowOutboundMessage
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Full Name Identifier | The unique full name identifier for Salesforce Metadata objects (e.g., CustomObject API name). | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Workflow Outbound Message⤓
Delete Workflow Rule
Delete a Workflow Rule. Workflow Rules are deprecated by Salesforce; migrate to Flow-based actions. | key: deleteWorkflowRule
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Full Name Identifier | The unique full name identifier for Salesforce Metadata objects (e.g., CustomObject API name). | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Delete Workflow Rule⤓
Describe Customer SObject
Describe metadata attributes of a Salesforce Customer object. | key: describeCustomerSObject
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Describe Customer SObject⤓
Describe Object
Describe attributes of a Salesforce record type. | key: describeObject
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Describe Permissions
Describe permissions of a Salesforce record type. | key: describePermissions
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Find Record
Find a single Salesforce record. | key: findRecord
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Field Value Types | For each item, provide the key and the type corresponding to the field value entered above. Valid types are Boolean, Number, or String. | Name:string,Phone:string |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Find Record⤓
Find Records
Find and fetch Salesforce records. | key: findRecords
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Fetch All | When true, automatically fetches all pages of results instead of a single page. | false |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Field Value Types | For each item, provide the key and the type corresponding to the field value entered above. Valid types are Boolean, Number, or String. | Name:string,Phone:string |
| Pagination | Page and page-size controls. | |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Sort Criteria | The criteria by which to sort the records. Use a string to specify the field and order. Prefix with '-' for descending order. For example, '-CreatedDate Name' will sort by 'CreatedDate' in descending order and by 'Name' in ascending order. | -CreatedDate Name |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Find Records⤓
Get Attachment
Get a file attachment from an account, opportunity, or contact. | key: getAttachment
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| File ID | The unique identifier of the file to retrieve. | 0697000000K2g5AAAR |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Get Attachment⤓
Get Bulk Job Failed Record Results
Retrieve a list of failed records for a completed insert, delete, update, or upsert bulk job. | key: getJobFailedRecordResults
| Input | Notes | Example |
|---|---|---|
| Bulk Job ID | The unique identifier of the bulk job returned from the Create Bulk Job action. | 750R0000000zlh9IAA |
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Get Bulk Job Information
Retrieve information about a bulk ingest job. | key: getBulkJob
| Input | Notes | Example |
|---|---|---|
| Bulk Job ID | The unique identifier of the bulk job returned from the Create Bulk Job action. | 750R0000000zlh9IAA |
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Get Bulk Job Information⤓
Get Bulk Job Successful Record Results
Retrieve the successful record results for a bulk ingest job. | key: getJobSuccessfulRecordResults
| Input | Notes | Example |
|---|---|---|
| Bulk Job ID | The unique identifier of the bulk job returned from the Create Bulk Job action. | 750R0000000zlh9IAA |
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Get Bulk Query Job Information
Get information about a single bulk query job. | key: getQueryJobInformation
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Query Job ID | The unique identifier of the bulk query job returned from the Create Bulk Query Job action. | 750R0000000zlh9IAA |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Get Bulk Query Job Information⤓
Get Bulk Query Job Results
Retrieve the results for a completed bulk query job. | key: getQueryJobResults
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Locator | A string that identifies a specific set of query results. Providing a value for this parameter returns only that set of results. | MTAwMDA |
| Max Records | The maximum number of records to retrieve per set of results for the query. The request is still subject to the size limits. | 100 |
| Query Job ID | The unique identifier of the bulk query job returned from the Create Bulk Query Job action. | 750R0000000zlh9IAA |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Get Bulk Query Job Results⤓
Get Current User
Retrieve information about the currently authenticated user. | key: getCurrentUser
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Get Current User⤓
Get Customer
Retrieve a customer record by ID. | key: getCustomer
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Get Customer⤓
Get File
Retrieve a file from Salesforce ContentVersion. | key: getFile
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Content Version ID | The unique identifier of the ContentVersion record for the file to retrieve. | 0697000000K2g5AAAR |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Get File⤓
Get Flow
Get details of a specific Flow by name. | key: getFlow
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Flow Name | The name for the Flow. Accepts both display names and API names. Display names are automatically converted to API format, while API names are used as is. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Get Flow⤓
Get Object Metadata
Get the metadata of an object by full name. | key: getObjectMetadataByName
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Object Full Name | The full API name of the Salesforce custom object (e.g., Widget__c). | Widget__c |
| Metadata Type | The type of metadata to act upon. | CustomObject |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Get Object Metadata⤓
Get Record
Get a single Salesforce record by ID. | key: getRecord
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Get Record⤓
List All Bulk Query Job Information
Retrieve information about all bulk query jobs in the org. | key: getAllQueryJobInformation
| Input | Notes | Example |
|---|---|---|
| Concurrency Mode | For future use. Gets information only about jobs matching the specified concurrency mode. | parallel |
| Connection | The Salesforce connection to use. | |
| Is PK Chunking Enabled | When true, the request only returns information about jobs where PK Chunking is enabled. This only applies to Bulk API (not Bulk API 2.0) jobs. | false |
| Job Type | Gets information only about jobs matching the specified job type. | |
| Query Locator | A string that identifies a specific set of query results. Providing a value for this parameter returns only that set of results. | MTAwMDA |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List All Bulk Query Job Information⤓
List Bulk Jobs
List all bulk ingest jobs in the org. | key: listBulkJobs
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Is PK Chunking Enabled | When true, the request only returns information about jobs where PK Chunking is enabled. This only applies to Bulk API (not Bulk API 2.0) jobs. | false |
| Job Type | Gets information only about jobs matching the specified job type. | |
| Locator | A string that identifies a specific set of query results. Providing a value for this parameter returns only that set of results. | MTAwMDA |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Bulk Jobs⤓
List Composite Resources
Retrieve a list of URIs for available composite resources. | key: listCompositeResources
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Composite Resources⤓
List Contacts
List all contact records. | key: listContacts
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Fetch All | When true, automatically fetches all pages of results instead of a single page. | false |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Field Value Types | For each item, provide the key and the type corresponding to the field value entered above. Valid types are Boolean, Number, or String. | Name:string,Phone:string |
| Pagination | Page and page-size controls. | |
| Sort Criteria | The criteria by which to sort the records. Use a string to specify the field and order. Prefix with '-' for descending order. For example, '-CreatedDate Name' will sort by 'CreatedDate' in descending order and by 'Name' in ascending order. | -CreatedDate Name |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Contacts⤓
List Customers
List all customer records. | key: listCustomers
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Fetch All | When true, automatically fetches all pages of results instead of a single page. | false |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Field Value Types | For each item, provide the key and the type corresponding to the field value entered above. Valid types are Boolean, Number, or String. | Name:string,Phone:string |
| Pagination | Page and page-size controls. | |
| Sort Criteria | The criteria by which to sort the records. Use a string to specify the field and order. Prefix with '-' for descending order. For example, '-CreatedDate Name' will sort by 'CreatedDate' in descending order and by 'Name' in ascending order. | -CreatedDate Name |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Customers⤓
List Flows
List all Flows in the Salesforce org. | key: listFlows
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Flows⤓
List Leads
List all lead records. | key: listLeads
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Fetch All | When true, automatically fetches all pages of results instead of a single page. | false |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Field Value Types | For each item, provide the key and the type corresponding to the field value entered above. Valid types are Boolean, Number, or String. | Name:string,Phone:string |
| Pagination | Page and page-size controls. | |
| Sort Criteria | The criteria by which to sort the records. Use a string to specify the field and order. Prefix with '-' for descending order. For example, '-CreatedDate Name' will sort by 'CreatedDate' in descending order and by 'Name' in ascending order. | -CreatedDate Name |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Leads⤓
List Metadata
List all metadata components in Salesforce. | key: listObjectMetadata
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Metadata Type | The type of metadata to act upon. | CustomObject |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Metadata⤓
List Opportunities
List all opportunity records. | key: listOpportunities
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Fetch All | When true, automatically fetches all pages of results instead of a single page. | false |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Field Value Types | For each item, provide the key and the type corresponding to the field value entered above. Valid types are Boolean, Number, or String. | Name:string,Phone:string |
| Pagination | Page and page-size controls. | |
| Sort Criteria | The criteria by which to sort the records. Use a string to specify the field and order. Prefix with '-' for descending order. For example, '-CreatedDate Name' will sort by 'CreatedDate' in descending order and by 'Name' in ascending order. | -CreatedDate Name |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Opportunities⤓
List Outbound Messages
Retrieve all Outbound Messages in the Salesforce org. | key: listWorkflowOutboundMessages
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
List Profiles
List all profile records. | key: listProfiles
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Fetch All | When true, automatically fetches all pages of results instead of a single page. | false |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Field Value Types | For each item, provide the key and the type corresponding to the field value entered above. Valid types are Boolean, Number, or String. | Name:string,Phone:string |
| Pagination | Page and page-size controls. | |
| Sort Criteria | The criteria by which to sort the records. Use a string to specify the field and order. Prefix with '-' for descending order. For example, '-CreatedDate Name' will sort by 'CreatedDate' in descending order and by 'Name' in ascending order. | -CreatedDate Name |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Profiles⤓
List Users
List all user records. | key: listUsers
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Fetch All | When true, automatically fetches all pages of results instead of a single page. | false |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Field Value Types | For each item, provide the key and the type corresponding to the field value entered above. Valid types are Boolean, Number, or String. | Name:string,Phone:string |
| Pagination | Page and page-size controls. | |
| Sort Criteria | The criteria by which to sort the records. Use a string to specify the field and order. Prefix with '-' for descending order. For example, '-CreatedDate Name' will sort by 'CreatedDate' in descending order and by 'Name' in ascending order. | -CreatedDate Name |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Users⤓
List Workflow Rules
List all Workflow Rules. Workflow Rules are deprecated by Salesforce; migrate to Flow-based actions. | key: listWorkflowRules
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for List Workflow Rules⤓
Query
Run an SOQL query against Salesforce. | key: query
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| SOQL Query | A Salesforce Object Query Language (SOQL) query to execute against the Salesforce API. | SELECT Id, Name FROM Opportunity |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Raw Request
Send raw HTTP request to Salesforce. | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | Input the path only (/chatter/feeds/record/), The base URL is already included (https://<YOUR_INSTANCE_URL_COMING_FROM_CONNECTION>/services/data/v<YOUR_INPUT_VERSION>). For example, to connect to https://instance_name/services/data/v58.0/chatter/feeds/record/, only /chatter/feeds/record/ is entered in this field. | /chatter/feeds/record/ |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Remove User Permission Set
Remove a permission set from the specified user. | key: removeUserPermissionSet
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Permission Set | The name of the Salesforce Permission Set to assign to or remove from the user. | Standard User |
| User Name | The username of the Salesforce user to reference. | JohnDoe |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Remove User Permission Set⤓
Send Composite Request
Send multiple requests in a single HTTP call. | key: compositeRequests
| Input | Notes | Example |
|---|---|---|
| All Or None | When true, any error in a subrequest causes the entire composite request to be rolled back. The top-level request returns HTTP 200 and includes responses for each subrequest. | true |
| Collate Subrequests | When true, the API collates unrelated subrequests to bulkify them for improved performance. | false |
| Composite Request | The JSON array of subrequests to execute in a single Composite API call. Each entry must include method, url, referenceId, and optionally body. | |
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Send Composite Request⤓
Send Transactional Email
Send a transactional email message to a single recipient via Salesforce. | key: sendTransactionalEmail
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Definition Key | The unique key of the message template definition used for the transactional send. | welcome_message |
| Message Key | The unique key identifying the transactional message template to send. | welcome_message |
| Recipient Attributes | Key-value pairs to personalize the message. | |
| Recipient Contact Key | The unique key identifying the recipient contact in Salesforce Marketing Cloud. | sf_contact_0034R00002abcDEF |
| Recipient Email | The email address of the recipient for the transactional send. | john@doe.com |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Send Transactional Email⤓
Subscribe to Record Change
Create a Workflow Rule to subscribe to record changes in Salesforce. Workflow Rules are deprecated by Salesforce; migrate to Flow-based actions. | key: subscribeToRecordChange
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Description | A text description of the object. | This is a description of the object |
| Dynamic Fields | Dynamic Fields, provided by value collection config variable, to include in the Outbound Message | |
| Endpoint URL | The endpoint URL to send the outbound message / webhook to | https://example.com/webhook |
| Fields | Fields to include in the Outbound Message. | Name, Phone, Email, etc. |
| Rule Criteria Filter | Filter criteria data structure to use with the rule, use this or Formula. See Salesforce Metadata API - FilterItem for the expected structure. | |
| Formula | Formula to evaluate. Use this input or Filter Criteria | OwnerId <> LastModifiedById |
| Integration User Email | The email of the user under which the payload is sent. If not provided, the current user will be used | john@doe.com |
| Outbound Message Name | The name of the Salesforce Outbound Message to create or reference. | MyOutboundMessage |
| Trigger Event | The event condition that causes this workflow rule to fire. | onAllChanges |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Subscribe to Record Change⤓
Subscribe to Record Changes
Subscribe to Record Changes in Salesforce using an outbound message action. | key: subscribeToRecordChanges
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | Dynamic Fields, provided by value collection config variable, to include in the Outbound Message | |
| Endpoint URL | The endpoint URL to send the outbound message / webhook to | https://example.com/webhook |
| Fields | Fields to include in the Outbound Message. | Name, Phone, Email, etc. |
| Filter Formula | Optional formula to filter which records trigger the flow. | ISCHANGED(Email) && NOT(ISBLANK(Email)) |
| Flow Metadata | Additional Flow metadata in JSON format. This will be merged with other inputs. | |
| Prefix | Sets a prefix to the Flow Name and Outbound Messages created. Must start with a letter, can contain letters, numbers, underscores, and be at most 15 characters. | Acme_Services |
| Trigger Record Type | The Salesforce object API name (e.g., Account, Contact) whose record changes will trigger this flow. | |
| Trigger On | When to trigger the flow (record creation, update, or both). | CreateAndUpdate |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Subscribe to Record Changes⤓
Update Account
Update an existing account record. | key: updateAccount
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Phone, Website, Description, Number of Employees, and Annual Revenue. | |
| Billing Address | Street, city, state, postal code, and country for the billing address. | |
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Industry | The industry of the account record. | |
| Name | The name assigned to the Salesforce record. | myExampleObject |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Shipping Address | Street, city, state, postal code, and country for the shipping address. | |
| Account Type | The type of account record. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Update Account⤓
Update Contact
Update an existing contact record. | key: updateContact
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Department, Title, Assistant, Assistant's Phone, and Description. | |
| Other Address | Street, city, state, postal code, and country for the secondary address. | |
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Email Address | The email address for the object. | someone@example.com |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Mailing Address | Street, city, state, postal code, and country for the mailing address. | |
| Name & Contact Information | First and last name, phone, fax, and mobile contact channels, and birthdate. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Update Contact⤓
Update Customer
Update an existing customer record. | key: updateCustomer
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Customer Status Type | The status of the customer account. | Active |
| Last Reference Date | The timestamp for when the current user last viewed a record related to this record. | 2021-09-01T00:00:00.000Z |
| Last Viewed Date | The timestamp for when the current user last viewed this record. If this value is null, it's possible that this record was referenced (LastReferencedDate) and not viewed. | 2021-09-01T00:00:00.000Z |
| Name | Name of this customer. | myExampleObject |
| Owner ID | The ID of the user who owns the record. | 00570000001a2fF |
| Party ID | The unique identifier of the individual object related to this customer record. | 0697000000K2g5AAAR |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Total Lifetime Value | The total revenue amount gained from this customer. | 1000 |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Update Customer⤓
Update Flow
Update an existing Flow in Salesforce by name. | key: updateFlow
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Description | Updated description for the Flow. | This is a description of the object |
| Flow Metadata | Additional Flow metadata in JSON format. This will be merged with other inputs. | |
| Flow Name | The name for the Flow. Accepts both display names and API names. Display names are automatically converted to API format, while API names are used as is. | |
| Flow Status | The publication status of the Flow. Active flows execute when triggered; Draft and Obsolete flows do not. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Update Flow⤓
Update Lead
Update a Salesforce lead record. | key: updateLead
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Title, Lead Source, Rating, Number of Employees, Description, and Annual Revenue. | |
| Address | Street, city, state, postal code, and country for the address. | |
| Company | The name of the company associated with the record. | Widgets Inc. |
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Email Address | The email address for the object. | someone@example.com |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Lead Status | The status of the lead. Examples of valid values include: Open, Working, Closed - Converted, Closed - Not Converted. | Converted |
| Name & Contact Information | First and last name, phone, and website. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Update Lead⤓
Update Metadata
Update one or more metadata components. | key: updateMetadata
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Metadata | Check https://jsforce.github.io/document/#update-metadata for related documentation | |
| Metadata Type | The type of metadata to act upon. | CustomObject |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Update Metadata⤓
Update Opportunity
Update an existing opportunity record. | key: updateOpportunity
| Input | Notes | Example |
|---|---|---|
| Account ID | The ID of the account to reference. | 0017000000hOMChAAO |
| Amount | The monetary amount associated with the opportunity. | 38000 |
| Close Date | The date the sale is expected to close. Format: YYYY-MM-DD. | 2025-12-31 |
| Connection | The Salesforce connection to use. | |
| Description | A text description of the object. | This is a description of the object |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Lead Source | The origin or channel from which the lead was generated (e.g., Web, Phone, Email). | Web |
| Name | The name assigned to the Salesforce record. | myExampleObject |
| Next Step | A description of the next action or milestone for the opportunity. | Follow up with the client |
| Opportunity Type | The category of the opportunity, indicating whether it is for a new or existing customer. | |
| Probability | The probability of the success of the sale. | 50 |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Stage | The stage the sale is currently in. | Prospecting |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Update Opportunity⤓
Update Profile
Update a Salesforce profile. | key: updateProfile
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Description | Description of the profile. | |
| Name | The name of the profile. | |
| Permissions | Key/value object with permission name keys and boolean value indicating if a permission is granted or not. Use 'Describe Permissions' to retrieve the permissions of a Record Type. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Update Profile⤓
Update Record
Update an existing Salesforce record. | key: updateRecord
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| Record ID | The unique identifier for a Salesforce record. | 0017000000hOMChAAO |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Update Record⤓
Update User
Update a Salesforce user. | key: updateUser
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Dynamic Fields | A field for dynamic inputs that can be configured at deploy time with the use of a key value config variable. | |
| Field Values | Key-value pairs mapping Salesforce field API names to the values to set on the record. | |
| User Name | The username of the Salesforce user to reference. | JohnDoe |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Update User⤓
Upload Bulk Job Data
Upload CSV data for a bulk ingest job. | key: uploadJobData
| Input | Notes | Example |
|---|---|---|
| Bulk Job ID | The unique identifier of the bulk job returned from the Create Bulk Job action. | 750R0000000zlh9IAA |
| Connection | The Salesforce connection to use. | |
| File | The binary file data to upload as a Salesforce Content Version. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Upload Bulk Job Data⤓
Upload File
Upload a file to Salesforce ContentVersion. | key: uploadFile
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| File | The binary file data to upload as a Salesforce Content Version. | |
| Path On Client | The complete path of the document. One of the fields that determines the FileType. Specify a complete path including the path extension in order for the document to be visible in the Preview tab. | path/to/file.csv |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Upload File⤓
Upsert Record
Update a Salesforce record if it exists, otherwise create a new Salesforce record. | key: upsertRecord
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| External ID Field Name | The name of the column that refers to the External ID Field | ExtId__c |
| Records | The JSON array of records to be upserted. Each record must include the external ID field. | |
| Record Type | The Salesforce object API name to act on (e.g., Account, Contact, Opportunity). | Account |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Example Payload for Upsert Record⤓
Validate Connection
Validate the provided connection and return whether it is valid. | key: validateConnection
| Input | Notes | Example |
|---|---|---|
| Connection | The Salesforce connection to use. | |
| Version | The Salesforce API version number to use for requests. | 63.0 |
Changelog
2026-07-02
Restructured action inputs into structured objects for an improved user experience
- Create Lead / Update Lead combine their name and contact-channel inputs into a Name & Contact Information group, group their address inputs into Address, and group their optional secondary inputs into Additional Fields
- Create Contact / Update Contact combine their name and contact-channel inputs into a Name & Contact Information group, group their address inputs into Mailing Address and Other Address, and group their optional secondary inputs into Additional Fields
- Create Account / Update Account group their address inputs into Shipping Address and Billing Address, and group their optional secondary inputs into Additional Fields
- List actions (List Contacts, List Leads, List Opportunities, List Customers, List Users, List Profiles) and Find Records group their pagination controls into a Pagination structured object; Fetch All stays a flat top-level toggle
2026-05-11
Resolved DUPLICATE_DEVELOPER_NAME failure on Flow Outbound Message Webhook redeploy in orgs with managed packages shipping WorkflowOutboundMessage records:
- Namespace prefix now read from the
Organizationrecord instead ofWorkflowOutboundMessage(which could return a managed package prefix) - Added debug-gated diagnostics to the Outbound Message delete path for easier namespace-related troubleshooting
- Underlying Salesforce error detail now logged when an expected "no ... named" response is suppressed
2026-04-30
Updated spectral version
2026-03-27
Added Show Deleted Records option to the New and Updated Records polling trigger to optionally include recently deleted records in polling results.
Added field selection options to the New and Updated Records polling trigger to optimize memory usage:
- Added Selected Fields input to limit which fields are returned per record using SOQL queries
- Added Return IDs Only input to return only record IDs and date fields for minimal payload size
2026-03-18
Various documentation improvements
2026-03-16
Improved input field documentation with formatted URL links for better readability
2026-02-04
Added OAuth 2.0 Client Credentials connection for server-to-server authentication without user interaction.
2025-10-17
Enhanced Flow management and data selection capabilities:
- Improved the Flow Outbound Message Trigger to verify Namespace prefix settings for deploying and deleting outbound messages
- Added Delete Instanced Flows and Outbound Messages action for cleanup of flows and outbound messages associated with a specific endpoint URL
- Enhanced Subscribe to Record Changes action with improved flow creation and webhook subscription management
- Improved record type selection with inline data source functionality and filter query capability for better data selection
2025-09-15
Added comprehensive Flow management actions as a functional replacement for workflow rules:
- Create Flow - Create record triggered flows with outbound message functionality
- Activate Flow - Activate existing flows
- Deactivate Flow - Deactivate active flows
- Update Flow - Update flow metadata and configuration
- Delete Flow - Remove flows from the org
- Get Flow - Retrieve flow details
- List Flows - List all flows in the org
- Flow Outbound Message Trigger - Webhook trigger that receives Salesforce outbound messages from flows, providing real time event processing for record changes
2025-05-09
Added inline data sources for bulk jobs, contacts, customers, leads, opportunities, profiles, record types, and users to enhance data selection capabilities