Skip to main content
salesforce icon

Salesforce Connector

SourceAPI DocsAPI ChangelogConnector Changelog

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.

Example Integration

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: basic

Prerequisites

  • 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/)
InputNotesExample
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: oauth2

OAuth 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
Connected App Creation Restricted as of Spring '26

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.
A Local app only works in its own org

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.

  1. Log in to the Salesforce account
  2. Navigate to Setup by clicking the gear icon in the upper right corner
  3. In the Quick Find box, search for External Client App Manager and select it
  4. Click New External Client App
  5. 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
  6. Expand API (Enable OAuth Settings) and check Enable OAuth
  7. Enter the OAuth callback URL https://oauth2.prismatic.io/callback as the Callback URL
  8. 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)
  9. 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
  10. Leave Enable Client Credentials Flow unselected. That is a separate connection type
  11. Click Save
Enable the PKCE requirement

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.

Where the settings live after saving

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.

Local vs. Packaged

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:

  1. From External Client App Manager, click the app name
  2. Select Settings
  3. 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.

A packaged app has one set of credentials for every org

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.

No security review for direct distribution

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.

  1. 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
  2. In sfdx-project.json, add the package name and version fields to the force-app entry:

    {
    "packageDirectories": [
    {
    "path": "force-app",
    "default": true,
    "package": "My Salesforce Integration",
    "versionName": "ver 0.1",
    "versionNumber": "0.1.0.NEXT"
    }
    ]
    }
  3. 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 MyOrg
    sf org list metadata --metadata-type ExtlClntAppOauthSettings --target-org MyOrg
  4. 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 typeIncluded in the package
ExternalClientApplicationYes
ExtlClntAppOauthSettings (OAuth scopes)Yes
ExtlClntAppGlobalOauthSettings (callback URL, consumer key)No. Salesforce distributes these globally rather than through the package
ExtlClntAppOauthSecuritySettingsNo. 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
What this means for access policies

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

  1. Create the package in the Dev Hub. This returns a package ID that begins with 0Ho and writes it into sfdx-project.json:

    sf package create \
    --name "My Salesforce Integration" \
    --package-type Managed \
    --path force-app \
    --target-dev-hub MyDevHub
    Check the default package directory

    This command rewrites sfdx-project.json and may set "default": false on the package directory. If later commands report that no default package directory is configured, set the value back to true.

  2. 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 MyDevHub
    Include --code-coverage or the version cannot be released

    Code coverage is calculated during version creation and cannot be added afterward. A version built without --code-coverage can 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.

  3. 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
    # or
    sf 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.

Version builds are rate limited

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 keys

--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
Promotion is effectively permanent

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.

Beta versions cannot be upgraded

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:

  1. Log in to the target Salesforce org as an administrator
  2. Open the installation URL in the same browser session
  3. Enter the installation key, if the package version was created with one
  4. 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
  5. Click Install and wait for the confirmation. Salesforce sends an email when an install takes long enough to be processed in the background
Installing into a sandbox

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.

Reaching the same screen from the org's own domain

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 AdminsOnly grants access to administrators only. Use AllUsers to grant access to all users in the target org
  • Add --installation-key <key> if the version was created with an installation key
Packaging orgs cannot install the package

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 InstallUrl field 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.com in place of login.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)

For existing Connected Apps only

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.

  1. Log in to the Salesforce account
  2. Navigate to Setup by clicking the gear icon in the upper right corner
  3. Open Apps > App Manager
  4. Select New Connected App
  5. Check Enable OAuth Settings
  6. Enter the OAuth callback URL https://oauth2.prismatic.io/callback as the Callback URL
  7. 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)
  8. Select Require Secret for the Web Server Flow and Require Secret for Refresh Token Flow

Manage Connected Apps in Salesforce Platform Tools

  1. Select Save and Continue
  2. Click Manage Consumer Details to retrieve the Consumer Key and Consumer Secret

Take note of these keys:

Manage Connected Apps in Salesforce Platform Tools with Consumer and Secret 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.

InputNotesExample
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: salesforceClientCredentials

OAuth 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

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.

  1. Enable Client Credentials Flow:

    1. Navigate to Setup > Apps > App Manager
    2. Find the Connected App and select Edit from the dropdown menu
    3. Under API (Enable OAuth Settings), check Enable Client Credentials Flow
    4. Click Save
  2. Configure Run As User — the Client Credentials flow requires specifying which user the integration will authenticate as:

    1. From the Connected App, select Manage from the dropdown menu
    2. Click Edit Policies
    3. Under Client Credentials Flow, select a user from the Run As dropdown
    4. 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
Connecting to a Salesforce Sandbox

For sandbox environments, use the sandbox My Domain URL format: https://your-company--sandbox.sandbox.my.salesforce.com

InputNotesExample
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

InputNotesExample
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.

{
  "label": "A new flow"
}
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

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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

InputNotesExample
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
Action Required: Salesforce Workflow Rules Retiring December 31, 2025

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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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
Loading…

Abort Bulk Query Job

Abort a bulk query job. | key: abortBulkQueryJob

InputNotesExample
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
Loading…

Activate Flow

Activate a Flow in Salesforce by name. | key: activateFlow

InputNotesExample
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
Loading…

Add Attachment

Attach a file to a parent record object (Account, Opportunity, etc.). | key: addAttachment

InputNotesExample
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
Loading…

Add User Permission Set

Add a permission set to the specified user. | key: addUserPermissionSet

InputNotesExample
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
Loading…

Bulk Insert Records

Create new Salesforce records in bulk. | key: bulkInsertRecords

InputNotesExample
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
Loading…

Bulk Upsert Records

Update Salesforce records if they exist, otherwise create new Salesforce records. | key: bulkUpsertRecords

InputNotesExample
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
Loading…

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

InputNotesExample
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
Loading…

Create Account

Create a Salesforce account record. | key: createAccount

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Create Bulk Job

Create a bulk ingest job representing an operation and its associated data for asynchronous processing in Salesforce. | key: createBulkJob

InputNotesExample
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
Loading…

Create Bulk Query Job

Create a bulk query job. | key: createBulkQueryJob

InputNotesExample
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
Loading…

Create Contact

Create a Salesforce contact. | key: createContact

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Create Customer

Create a Salesforce customer. | key: createCustomer

InputNotesExample
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
Loading…

Create Flow

Create a draft Flow in Salesforce. | key: createFlow

InputNotesExample
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.

{
  "label": "A new flow"
}
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
Loading…

Create Lead

Create a Salesforce lead record. | key: createLead

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Create Metadata

Create new metadata components. | key: createObjectsFromMetadata

InputNotesExample
Connection

The Salesforce connection to use.

Metadata

See JSforce Metadata API documentation for related documentation.

[
  {
    "fullName": "TestObject1__c",
    "label": "Test Object 1",
    "pluralLabel": "Test Object 1",
    "nameField": {
      "type": "Text",
      "label": "Test Object Name"
    },
    "deploymentStatus": "Deployed",
    "sharingModel": "ReadWrite"
  }
]
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
Loading…

Create Metadata Fields

Create custom fields from metadata. | key: createFieldsFromMetadata

InputNotesExample
Connection

The Salesforce connection to use.

Metadata

See JSforce Metadata API documentation for related documentation.

[
  {
    "fullName": "Contact.FieldName1__c",
    "label": "Field Name 1",
    "type": "Text",
    "length": 80,
    "inlineHelpText": "Text that appears in the ? next to a field."
  }
]
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
Loading…

Create Opportunity

Create a Salesforce opportunity record representing a sale or pending deal. | key: createOpportunity

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Create Outbound Message

Create an Outbound Message in Salesforce. | key: createWorkflowOutboundMessage

InputNotesExample
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
Loading…

Create Profile

Create a Salesforce profile. | key: createProfile

InputNotesExample
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
Loading…

Create Record

Create a Salesforce record. | key: createRecord

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Create User

Create a Salesforce user. | key: createUser

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Create Workflow Rule

Create a Workflow Rule. Workflow Rules are deprecated by Salesforce; migrate to Flow-based actions. | key: createWorkflowRule

InputNotesExample
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.

[{"field":"Account.CreatedDate","operation":"notEqual","value":"01/01/2022"}]
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
Loading…

Deactivate Flow

Deactivate a Flow in Salesforce by name. | key: deactivateFlow

InputNotesExample
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
Loading…

Delete Account

Delete an existing account record. | key: deleteAccount

InputNotesExample
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

InputNotesExample
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
Loading…

Delete Bulk Query Job

Delete a bulk query job. | key: deleteBulkQueryJob

InputNotesExample
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
Loading…

Delete Contact

Delete an existing contact record. | key: deleteContact

InputNotesExample
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
Loading…

Delete Customer

Delete an existing customer record. | key: deleteCustomer

InputNotesExample
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
Loading…

Delete Flow

Delete a Flow from Salesforce by name. | key: deleteFlow

InputNotesExample
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
Loading…

Delete Instanced Flows and Outbound Messages

Delete all instanced flows and outbound messages for a given endpoint URL. | key: deleteInstancedFlowsAndOutboundMessages

InputNotesExample
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
Loading…

Delete Lead

Delete a Salesforce lead record. | key: deleteLead

InputNotesExample
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
Loading…

Delete Metadata

Delete one or more metadata components. | key: deleteMetadata

InputNotesExample
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).

[
  "TestObject1__c",
  "TestObject2__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
Loading…

Delete Opportunity

Delete an existing opportunity record. | key: deleteOpportunity

InputNotesExample
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
Loading…

Delete Profile

Delete a Salesforce profile. | key: deleteProfile

InputNotesExample
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
Loading…

Delete Record

Delete an existing Salesforce record. | key: deleteRecord

InputNotesExample
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
Loading…

Delete Workflow Outbound Message

Delete a Workflow Outbound Message. | key: deleteWorkflowOutboundMessage

InputNotesExample
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
Loading…

Delete Workflow Rule

Delete a Workflow Rule. Workflow Rules are deprecated by Salesforce; migrate to Flow-based actions. | key: deleteWorkflowRule

InputNotesExample
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
Loading…

Describe Customer SObject

Describe metadata attributes of a Salesforce Customer object. | key: describeCustomerSObject

InputNotesExample
Connection

The Salesforce connection to use.

Version

The Salesforce API version number to use for requests.

63.0
Example Payload for Describe Customer SObject
Loading…

Describe Object

Describe attributes of a Salesforce record type. | key: describeObject

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Find Records

Find and fetch Salesforce records. | key: findRecords

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Get Attachment

Get a file attachment from an account, opportunity, or contact. | key: getAttachment

InputNotesExample
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
Loading…

Get Bulk Job Failed Record Results

Retrieve a list of failed records for a completed insert, delete, update, or upsert bulk job. | key: getJobFailedRecordResults

InputNotesExample
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

InputNotesExample
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
Loading…

Get Bulk Job Successful Record Results

Retrieve the successful record results for a bulk ingest job. | key: getJobSuccessfulRecordResults

InputNotesExample
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

InputNotesExample
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
Loading…

Get Bulk Query Job Results

Retrieve the results for a completed bulk query job. | key: getQueryJobResults

InputNotesExample
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
Loading…

Get Current User

Retrieve information about the currently authenticated user. | key: getCurrentUser

InputNotesExample
Connection

The Salesforce connection to use.

Version

The Salesforce API version number to use for requests.

63.0
Example Payload for Get Current User
Loading…

Get Customer

Retrieve a customer record by ID. | key: getCustomer

InputNotesExample
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
Loading…

Get File

Retrieve a file from Salesforce ContentVersion. | key: getFile

InputNotesExample
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
Loading…

Get Flow

Get details of a specific Flow by name. | key: getFlow

InputNotesExample
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
Loading…

Get Object Metadata

Get the metadata of an object by full name. | key: getObjectMetadataByName

InputNotesExample
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
Loading…

Get Record

Get a single Salesforce record by ID. | key: getRecord

InputNotesExample
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
Loading…

List All Bulk Query Job Information

Retrieve information about all bulk query jobs in the org. | key: getAllQueryJobInformation

InputNotesExample
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
Loading…

List Bulk Jobs

List all bulk ingest jobs in the org. | key: listBulkJobs

InputNotesExample
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
Loading…

List Composite Resources

Retrieve a list of URIs for available composite resources. | key: listCompositeResources

InputNotesExample
Connection

The Salesforce connection to use.

Version

The Salesforce API version number to use for requests.

63.0
Example Payload for List Composite Resources
Loading…

List Contacts

List all contact records. | key: listContacts

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

List Customers

List all customer records. | key: listCustomers

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

List Flows

List all Flows in the Salesforce org. | key: listFlows

InputNotesExample
Connection

The Salesforce connection to use.

Version

The Salesforce API version number to use for requests.

63.0
Example Payload for List Flows
Loading…

List Leads

List all lead records. | key: listLeads

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

List Metadata

List all metadata components in Salesforce. | key: listObjectMetadata

InputNotesExample
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
Loading…

List Opportunities

List all opportunity records. | key: listOpportunities

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

List Outbound Messages

Retrieve all Outbound Messages in the Salesforce org. | key: listWorkflowOutboundMessages

InputNotesExample
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

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

List Users

List all user records. | key: listUsers

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

List Workflow Rules

List all Workflow Rules. Workflow Rules are deprecated by Salesforce; migrate to Flow-based actions. | key: listWorkflowRules

InputNotesExample
Connection

The Salesforce connection to use.

Version

The Salesforce API version number to use for requests.

63.0
Example Payload for List Workflow Rules
Loading…

Query

Run an SOQL query against Salesforce. | key: query

InputNotesExample
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

InputNotesExample
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

InputNotesExample
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
Loading…

Send Composite Request

Send multiple requests in a single HTTP call. | key: compositeRequests

InputNotesExample
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.

[
  {
    "method": "POST",
    "url": "/services/data/v59.0/sobjects/Account",
    "referenceId": "refAccount",
    "body": {
      "Name": "Sample Account"
    }
  },
  {
    "method": "GET",
    "url": "/services/data/v59.0/sobjects/Account/@{refAccount.id}",
    "referenceId": "NewAccountFields"
  },
  {
    "method": "PATCH",
    "url": "/services/data/v59.0/sobjects/Account/ExternalAcctId__c/ID12345",
    "referenceID": "NewAccount",
    "body": {
      "Name": "Acme"
    }
  },
  {
    "method": "POST",
    "url": "/services/data/v59.0/sobjects/Account",
    "referenceId": "refAccount",
    "body": {
      "Name": "Sample Account"
    }
  },
  {
    "method": "POST",
    "url": "/services/data/v59.0/sobjects/Contact",
    "referenceId": "refContact",
    "body": {
      "LastName": "Sample Contact",
      "AccountId": "@{refAccount.id}"
    }
  }
]
Connection

The Salesforce connection to use.

Version

The Salesforce API version number to use for requests.

63.0
Example Payload for Send Composite Request
Loading…

Send Transactional Email

Send a transactional email message to a single recipient via Salesforce. | key: sendTransactionalEmail

InputNotesExample
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
Loading…

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

InputNotesExample
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.

[{"field":"Account.CreatedDate","operation":"notEqual","value":"01/01/2022"}]
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
Loading…

Subscribe to Record Changes

Subscribe to Record Changes in Salesforce using an outbound message action. | key: subscribeToRecordChanges

InputNotesExample
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.

{
  "label": "A new flow"
}
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
Loading…

Update Account

Update an existing account record. | key: updateAccount

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Update Contact

Update an existing contact record. | key: updateContact

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Update Customer

Update an existing customer record. | key: updateCustomer

InputNotesExample
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
Loading…

Update Flow

Update an existing Flow in Salesforce by name. | key: updateFlow

InputNotesExample
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.

{
  "label": "A new flow"
}
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
Loading…

Update Lead

Update a Salesforce lead record. | key: updateLead

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Update Metadata

Update one or more metadata components. | key: updateMetadata

InputNotesExample
Connection

The Salesforce connection to use.

Metadata

Check https://jsforce.github.io/document/#update-metadata for related documentation

[
  {
    "fullName": "TestObject1__c.AutoNumberField__c",
    "label": "Auto Number #2",
    "length": 50
  }
]
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
Loading…

Update Opportunity

Update an existing opportunity record. | key: updateOpportunity

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Update Profile

Update a Salesforce profile. | key: updateProfile

InputNotesExample
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
Loading…

Update Record

Update an existing Salesforce record. | key: updateRecord

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Update User

Update a Salesforce user. | key: updateUser

InputNotesExample
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.

[
  {
    "key": "Name",
    "value": "My Example Account"
  },
  {
    "key": "Phone",
    "value": "5551234567"
  }
]
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
Loading…

Upload Bulk Job Data

Upload CSV data for a bulk ingest job. | key: uploadJobData

InputNotesExample
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
Loading…

Upload File

Upload a file to Salesforce ContentVersion. | key: uploadFile

InputNotesExample
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
Loading…

Upsert Record

Update a Salesforce record if it exists, otherwise create a new Salesforce record. | key: upsertRecord

InputNotesExample
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.

[
  {
    "Name": "Record #1",
    "ExtId__c": "ID-0000001"
  },
  {
    "Name": "Record #2",
    "ExtId__c": "ID-0000002"
  }
]
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
Loading…

Validate Connection

Validate the provided connection and return whether it is valid. | key: validateConnection

InputNotesExample
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 Organization record instead of WorkflowOutboundMessage (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