Provides integration with Salesforce for OAuth-backed record queries and mutations generated from the connected org.
0.1.0.0 - Added S256 PKCE for OAuth authorization and persisted rotated refresh tokens.
0.0.1.2 - Changed Get to return a single object.
0.0.0.39 - Restarted the V2 contract so read rows stay provider-shaped and mutation rows use the top-level Flowgear object with IsSuccess and Message.
0.0.0.38 - Standardized the public V2 help article.
0.0.0.7 - Initial release.
0.0.0.11 - Fix template: Returns array types.
0.0.0.14 - Fix template: Returns array.
0.0.0.15 - Fix template: Data types for front end compatibility.
0.0.0.16 - Fixed shared OAuthConnection lock handling.
0.0.0.17 - Changed template key format for AI system.
0.0.0.19 - Added interim invoke methods and changed the Query template Sample to Value.
0.0.0.29 - Invoke Methods completed with Create, Update and Delete.
0.0.0.30 - Minor updates: Template samples, token error messages and parameter name format.
0.0.0.31 - Added Get, QueryAll and Upsert methods.
0.0.0.32 - Minor maintenance updates.
0.0.0.33 - Removed user-configurable batch sizes and enabled automatic batching.
0.0.0.37 - Standardized mutation responses and changed query failures to surface as errors.
Use a Salesforce OAuth Connection for all methods.
| Property |
Type |
Description |
Url |
String |
Salesforce login host used during OAuth, for example https://login.salesforce.com or https://test.salesforce.com. |
Client Id |
String |
Salesforce Connected App consumer key. |
Client Secret |
Masked |
Salesforce Connected App consumer secret. |
Scope |
String |
OAuth scopes requested for the connection. The default is full refresh_token offline_access. |
Use PKCE |
Boolean |
Uses S256 Proof Key for Code Exchange for new authorization and reconnect attempts. The default is true. |
PKCE Verifiers |
Masked |
Runtime-managed verifier state for pending OAuth authorization attempts. This Property is hidden in the designer. |
Access Token |
Masked |
Short-lived OAuth access token populated after account authentication. |
Refresh Token |
Masked |
OAuth refresh token used to obtain a new access token when the current one expires. |
Instance URL |
String |
Base URL for the authenticated Salesforce org. This is populated after account authentication. |
API Version |
String |
Optional Salesforce REST API version override. Leave blank to use the node default. |
Don't Interleave Request in Response |
Boolean |
Specifies whether input data is echoed back with the response. |
- Create a Salesforce Connected App and enable OAuth for it.
- Add the Flowgear callback URL shown during connection setup to the Connected App configuration.
- Use
https://login.salesforce.com for production orgs and https://test.salesforce.com for sandbox orgs unless your Salesforce environment requires a custom domain.
- The default
Scope value is full refresh_token offline_access. Change it only when your Salesforce security policy requires a different scope set.
- Leave
Use PKCE enabled for new Connections. Disable it only when a legacy Salesforce Connected App does not support PKCE.
- Leave
API Version blank unless you need to target a specific Salesforce REST API version.
Salesforce exposes object-specific templates for each method so you can discover available objects and fields from the connected org.
Create, Update, Upsert, and Delete return one response row per input item. Each row includes a Flowgear object containing IsSuccess, Message, and a copy of the original item in Request.
Gets one Salesforce record by ID and returns only the fields you request in IncludedFields.
| Parameter |
Type |
Description |
Connection |
Connection |
Salesforce OAuth connection. |
ObjectName |
String |
Salesforce object name to read, for example Account or Contact. |
Id |
String |
Salesforce record ID to retrieve. |
IncludedFields |
Array |
Field names to include in the returned record. |
| Return |
Type |
Description |
Response |
Array |
One raw Salesforce record row containing the selected fields for the requested record. Read rows do not append the mutation Flowgear object. |
Executes a SOQL query and streams current Salesforce records across all result pages.
| Parameter |
Type |
Description |
Connection |
Connection |
Salesforce OAuth connection. |
Query |
String |
SOQL query to execute. Templates can prepopulate this for a selected object. |
| Return |
Type |
Description |
Response |
Array |
One raw Salesforce record row per query result. Query rows omit the mutation Flowgear object. |
Executes a SOQL query and streams Salesforce records including deleted or archived rows when Salesforce exposes them for the target object.
| Parameter |
Type |
Description |
Connection |
Connection |
Salesforce OAuth connection. |
Query |
String |
SOQL query to execute. Templates can prepopulate this for a selected object. |
| Return |
Type |
Description |
Response |
Array |
One raw Salesforce record row per query result, including deleted or archived rows when Salesforce includes them. Query rows omit the mutation Flowgear object. |
Creates one or more Salesforce records for the selected object.
| Parameter |
Type |
Description |
Connection |
Connection |
Salesforce OAuth connection. |
ObjectName |
String |
Salesforce object name to create, for example Account or Contact. |
Items |
Array |
Records to create. |
| Return |
Type |
Description |
Response |
Array |
One response row per input item. Mutation responses include the provider fields Salesforce returns, such as id, success, created, errors, errorCode, and message, together with a nested Flowgear object that carries IsSuccess and Message. |
Updates one or more Salesforce records for the selected object.
| Parameter |
Type |
Description |
Connection |
Connection |
Salesforce OAuth connection. |
ObjectName |
String |
Salesforce object name to update. |
IdFieldName |
String |
Field in each input item that identifies the record to update. Defaults to Id. |
Items |
Array |
Records to update. |
| Return |
Type |
Description |
Response |
Array |
One response row per input item. Mutation responses include the provider fields Salesforce returns, such as id, success, errors, errorCode, and message, together with a nested Flowgear object that carries IsSuccess and Message. |
Creates or updates Salesforce records depending on whether a record already exists for the field identified by IdFieldName.
| Parameter |
Type |
Description |
Connection |
Connection |
Salesforce OAuth connection. |
ObjectName |
String |
Salesforce object name to upsert. |
IdFieldName |
String |
Field used to identify each record. Use Id for Salesforce record IDs, or provide a writable external-ID field for larger upsert batches. |
Items |
Array |
Records to upsert. |
| Return |
Type |
Description |
Response |
Array |
One response row per input item. Mutation responses include the provider fields Salesforce returns, such as id, success, created, errors, errorCode, statusCode, referenceId, and message, together with a nested Flowgear object that carries IsSuccess and Message. |
Deletes one or more Salesforce records.
| Parameter |
Type |
Description |
Connection |
Connection |
Salesforce OAuth connection. |
IdFieldName |
String |
Field in each input item that contains the record ID to delete. Defaults to Id. |
Items |
Array |
Records to delete. |
| Return |
Type |
Description |
Response |
Array |
One response row per input item. Mutation responses include the provider fields Salesforce returns, such as id, success, deleted, errors, errorCode, and message, together with a nested Flowgear object that carries IsSuccess and Message. |
Query returns current records only. Use QueryAll when your Workflow also needs deleted or archived rows.
Get returns zero rows when the requested Salesforce record is not found.
Query and QueryAll page through Salesforce results internally, so you do not need a separate continuation method in V2.
- If
Query or QueryAll finds no matching records, the node returns zero rows.
- If the first Salesforce query request fails, the node surfaces that provider error and stops before it emits rows.
Create, Update, and Delete support up to 200 records per request.
Upsert supports two batching modes: Id-based upserts support up to 25 records per request, while external-ID upserts support up to 1000 records per composite request in 200-record subrequests.
- Batch sizing is internal to the node and is not exposed as a public method parameter.
- Templates are generated from the connected Salesforce org, so available objects and fields can differ between environments.
- Changing
Use PKCE affects only new authorization or reconnect attempts. Existing access and refresh tokens continue to work until reauthorization is required.
- When Salesforce rotates a refresh token, the Node persists the replacement token on the Connection automatically.
- External-ID
Upsert requires the target Salesforce object to expose a writable external-ID field in the connected org.