Skip to main content

Salesforce Feeds v2

Salesforce is the industry-leading CRM platform for managing sales, service, marketing, and customer data across standard and custom objects. The Salesforce Feeds v2 connector is a source-only ELT connector that ingests Salesforce objects (sobjects) as feeds. Nexla discovers the standard and custom objects available in your Salesforce org, lets you select which objects to ingest, and reads each selected object as its own feed using either an incremental (auto-increment) or full-refresh sync strategy.

Salesforce Feeds v2 icon

Power end-to-end data operations for your Salesforce Feeds v2 API with Nexla. Our bi-directional Salesforce Feeds v2 connector is purpose-built for Salesforce Feeds v2, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Salesforce Feeds v2 or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Salesforce Feeds v2 workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Nexla connects to Salesforce over OAuth 2.0. You sign in to Salesforce and approve access — Nexla never asks for or stores a Salesforce password. Before you begin, check that:

  • Your Salesforce edition includes API access. Enterprise, Unlimited, Performance, and Developer editions include it. Professional Edition requires the API add-on. If you aren't sure, ask your Salesforce administrator.

  • Your Salesforce user has the API Enabled permission. This is standard on most profiles, but restricted profiles sometimes have it turned off. An administrator can enable it under Setup > Users, on the user's profile or an assigned permission set, under System Permissions.

  • That user can see the objects you want to ingest. This connector reads through the permissions of whoever authorizes the connection, so object- and field-level security in Salesforce directly controls which feeds Nexla can discover and read. For repeatable pipelines, authorize with a dedicated integration user rather than a personal account.

Set up Salesforce

Nexla connects either through an app you create in your own Salesforce org, or through Nexla's Salesforce app. Each needs a one-time action from a Salesforce administrator. After that, creating credentials in Nexla is the same either way.

Your own Salesforce appNexla's Salesforce app
One-time Salesforce setupAn administrator creates an external client appAn administrator approves Nexla for your org
Scopes, token policies, and IP restrictionsSet by you, in your orgSet by Nexla
Choose this ifYour security team wants control over the app's permissions and policiesYou want to connect without creating an app

Ask your Salesforce administrator to follow these steps and send you the resulting Consumer Key and Consumer Secret. Everything happens in Salesforce Setup — no Nexla access is needed.

  1. Go to Setup. In the Quick Find box, enter External Client, select External Client App Manager, and click New External Client App.

  2. Enter a name that identifies the integration, such as Nexla, and a Contact Email. Set Distribution State to Local, which keeps the app private to your org.

  3. Expand the API (Enable OAuth Settings) section and select Enable OAuth.

  4. In the Callback URL field, enter both of these, one per line:

    https://dataops.nexla.io/oauth2Auth
    https://dataops.nexla.io/nexla-api/oauth/callback

    Each has to match exactly, or Salesforce rejects the authorization with a redirect_uri_mismatch error. If your organization runs a dedicated Nexla installation, replace https://dataops.nexla.io with your own Nexla address.

  5. From Available OAuth Scopes, move these three to Selected OAuth Scopes:

    • Manage user data via APIs (api) — reads your Salesforce records over the REST API.
    • Perform requests at any time (refresh_token, offline_access) — keeps scheduled flows running without anyone re-authorizing.
    • Access the identity URL service (id, profile, email, address, phone) — confirms which user and org the credential is connected to.

    These cover the standard and custom objects this connector discovers and ingests. Other Salesforce products need their own scope on top — CRM Analytics (wave_api) or Data Cloud (cdp_query_api), for example.

  6. In the same section, set the three security options:

    • Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows — enable. Nexla sends a PKCE challenge on every authorization.
    • Require Secret for the Web Server Flow — leave disabled. Nexla uses PKCE instead of a client secret at this step, so enabling this stops the authorization from completing.
    • Require Secret for Refresh Token Flow — enable. Nexla does send the client secret when it refreshes a token.
  7. Click Create. Salesforce may ask you to verify your identity by email.

  8. Open the new app, select the Settings tab, expand OAuth Settings, and click Consumer Key and Secret. These are the two values to send back — in Nexla they're entered as Client ID and Client Secret.

Optional hardening. On the app's Policies tab, you can also:

  • Set Permitted Users to Admin approved users are pre-authorized, then assign the profiles or permission sets allowed to connect Nexla.
  • Enable Refresh Token Rotation, and set Refresh Token Policy to expire the refresh token if it isn't used for 30 days. Nexla refreshes tokens continuously, so an active credential is never affected.
  • Set IP Relaxation to Enforce IP restrictions, and add Nexla's addresses — 34.231.167.112, 54.209.27.1, and 35.245.202.207 — to the login IP ranges of the profiles permitted to use the app.

A sandbox has its own external client apps. To connect a sandbox, repeat these steps in the sandbox org — a consumer key from your production org won't work there.

Authenticate

Credentials required

Connect using Nexla's shared Salesforce app — no app setup required. A Salesforce admin must approve Nexla for your org once.

FieldRequiredSecretDescription
Salesforce Feeds Instance TypeNoNoSalesforce Instance you wish to connect to. Allowed values: Production; Sandbox

Create a credential in Nexla

  1. After selecting the data source type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

    Resource descriptions are recommended but are not required. Use them to identify the Salesforce org, instance type, or integration user represented by this credential.

  3. Select the authentication method from the Authentication Type pulldown menu, and follow the corresponding instructions below.

Configure Authentication Settings

Connect to a production org using the external client app created in your Salesforce org.

  1. Enter the Consumer Key of your external client app in the Client ID field, and the Consumer Secret in the Client Secret field. Your Salesforce administrator obtains both when they create the app.
  2. Click the Authorize button, sign in to Salesforce, and approve access. Sign in as the user whose permissions this connection should operate under.
  3. Click Save. Nexla checks the connection before saving, so any configuration problem surfaces now rather than when a flow first runs.
  1. The credential now appears as a tile on the Authenticate screen and can be selected for Salesforce Feeds v2 flows.

Nexla refreshes Salesforce access tokens automatically, so scheduled flows keep running without anyone re-authorizing. If a credential does stop working — because an administrator revoked access, or the refresh token expired under your org's policy — Nexla flags it, and reconnecting is a matter of opening the credential and clicking Authorize again. The flows using it are unaffected.

Use as a data source

How This Connector Works

The Salesforce Feeds v2 connector is a source-only, multi-object ELT connector. Rather than configuring one endpoint at a time, you select the Salesforce objects you want from the set of objects discovered in your org, and Nexla ingests each selected object as its own feed.

  • Discovery: When you create the source, Nexla queries the Salesforce REST API to list the sobjects available in your org — standard objects such as Account, Contact, Lead, and Opportunity, along with any custom objects — and presents them for selection. Nexla also discovers the fields for each object so it can build the correct schema.

  • Sync strategies: Each selected object is ingested with one of two strategies. Auto-increment (the default) reads only records created or modified since the last run, using a timestamp cursor for efficient incremental loads. Full ingest reads the complete current set of records for the object on every run. Records are uniquely identified by the Salesforce Id field.

  • Parallel ingestion: Selected feeds are read in parallel, so a single source can pull many Salesforce objects on the same schedule.

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, click the New Data Flow button, select the ELT flow type, and click Create.

  2. Select the Salesforce Feeds v2 connector tile from the list of available connectors. Then, select the credential that will be used to connect to your Salesforce org and click Next; or, create a new Salesforce Feeds v2 credential for use in this flow.

Select the Objects to Ingest

After authenticating, Nexla lists the Salesforce objects discovered in your org. Select one or more objects to ingest. Each selected object becomes its own feed, and the fields available for that object are read from Salesforce automatically.

The following source settings control how each feed is read:

  • Sync strategy — Choose Auto-increment to load only records changed since the previous run (incremental), or Full ingest to load all records on every run. Auto-increment is the default.

  • Start Date — The earliest date from which to load data. Leave the default (1970-01-01T00:00:00Z) to load all history, or enter a date in the format YYYY-MM-DDTHH:mm:ssZ (for example, 2023-01-01T00:00:00Z) to begin from a later point. This is most useful with the auto-increment strategy to bound the initial backfill.

  • Salesforce API Version — The Salesforce REST API version used for extraction (default v59.0). Use the version supported by your org; the latest stable version is recommended unless you need compatibility with an older feature.

Salesforce query responses are paginated. Nexla follows the Salesforce nextRecordsUrl links automatically while reading each feed, so a run ingests all available pages for the selected objects.

Schedule and Activate

Use the default sync schedule or adjust the schedule in the source settings before activating the flow. On each run, auto-increment feeds load records changed since the last successful run, and full-ingest feeds reload the complete object.

Reference

For object schemas, field definitions, and query syntax, see the Salesforce REST API Developer Guide and the Salesforce Object Reference.