Skip to main content

Salesforce

Salesforce is a cloud-based customer relationship management (CRM) platform that provides comprehensive tools for sales, customer service, marketing automation, analytics, and application development. The Salesforce connector enables you to access Salesforce API endpoints to retrieve and manage CRM data, including accounts, contacts, opportunities, leads, cases, and custom objects. This connector is particularly useful for applications that need to extract CRM data, integrate Salesforce with other systems, build analytics and reporting solutions, or automate sales and marketing workflows.

Salesforce icon

Power end-to-end data operations for your Salesforce API with Nexla. Our bi-directional Salesforce connector is purpose-built for Salesforce, 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 or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Salesforce 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

Before creating a Salesforce credential, you'll need to create a Connected App in your Salesforce organization and obtain OAuth 2.0 credentials (Client ID and Client Secret). Salesforce uses OAuth 2.0 for secure API access, requiring a Connected App to be registered in your Salesforce organization.

To create a Salesforce Connected App and obtain OAuth credentials:

  1. Log in to your Salesforce organization. You'll need administrator privileges or the "Manage Connected Apps" permission.

  2. Navigate to Setup by clicking the gear icon in the top right corner, then select Setup.

  3. In the Quick Find box, search for App Manager and click on it.

  4. Click New Connected App to create a new Connected App for API access.

  5. Fill in the required Connected App information:

    • Connected App Name: Enter a descriptive name for your application (e.g., "Nexla Integration")
    • API Name: This will be auto-generated based on the Connected App Name
    • Contact Email: Enter your email address
  6. In the API (Enable OAuth Settings) section:

    • Check Enable OAuth Settings
    • Callback URL: Enter the callback URL provided by Nexla. This URL will be displayed during the credential creation process in Nexla.
    • Selected OAuth Scopes: Select the OAuth scopes required for your integration. Common scopes include:
      • Full access (full): Full access to all data accessible by the logged-in user
      • Perform requests on your behalf at any time (refresh_token, offline_access): Allows the app to refresh tokens
      • Access the identity URL service (id, profile, email, address, phone): Access to user identity information
    • Require Secret for Web Server Flow: Leave this checked for security
  7. Click Save to create the Connected App. Salesforce may take a few minutes to activate the Connected App.

  8. After the Connected App is created, you'll see the Consumer Key (Client ID) and Consumer Secret (Client Secret). Copy these values immediately, as the Consumer Secret may only be displayed once.

  9. Note whether you're connecting to a Production or Sandbox instance. This determines which authorization and token URLs to use.

Salesforce OAuth 2.0 credentials are sensitive information and should be kept secure. The Consumer Secret (Client Secret) is only displayed once when the Connected App is created. If you've lost your Consumer Secret, you'll need to reset it in the Connected App settings. The Consumer Key (Client ID) can always be viewed in the Connected App details.

For detailed information about Salesforce OAuth 2.0 authentication and Connected App setup, refer to the Salesforce Connected Apps Guide and Salesforce OAuth 2.0 Web Server Flow Documentation.

Authenticate

Credentials required

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

Create a credential in Nexla

  1. After selecting the data source/destination 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.

  3. Select the Salesforce Instance Type from the dropdown menu. Choose either:

    • Production: For connecting to your production Salesforce organization
    • Sandbox: For connecting to a Salesforce sandbox instance

    The authorization and token URLs will be automatically configured based on your instance type selection:

    • Production: Uses https://login.salesforce.com for authorization and token endpoints
    • Sandbox: Uses https://test.salesforce.com for authorization and token endpoints
  4. Click the Authorize button to initiate the OAuth flow. You'll be redirected to Salesforce to log in and authorize the application; after authorization, you'll be redirected back to Nexla, and Nexla will automatically exchange the authorization code for access and refresh tokens.

    The OAuth 2.0 flow requires you to log in to your Salesforce account and authorize Nexla to access your Salesforce data. Make sure you have the necessary permissions in Salesforce to access the data you need. The authorization process will grant Nexla access based on the OAuth scopes configured in your Connected App.

  5. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Salesforce connector tile, then select the credential that will be used to connect to the Salesforce API, and click Next; or, create a new Salesforce credential for use in this flow.

Manual configuration

Salesforce data sources can be manually configured to ingest data from any valid Salesforce API endpoint, including sources that use SOQL queries to fetch specific data, sources that access custom objects, or sources that require custom authentication headers or request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers. Use GET for retrieving data from most Salesforce REST API endpoints, or POST for executing SOQL queries or other operations.

Salesforce API endpoints typically follow these patterns: {instance_url}/services/data/v{version}/sobjects/{object_name}/ for REST API object access, {instance_url}/services/data/v{version}/query/?q={SOQL_query} for SOQL queries, and {instance_url}/services/data/v{version}/composite/ for the Composite API. The endpoint URL should use the instance URL from your OAuth token response, and Salesforce API requires OAuth 2.0 Bearer token authentication, which is automatically included from your credential.

Common Set Path to Data in Response values include $.records[*] for arrays of records returned by SOQL queries, $ for the entire response, or $.data[*] for Composite API responses. You do not need to include an Authorization header in the Request Headers field—the OAuth 2.0 Bearer token is automatically included from your credential.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Salesforce data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Salesforce destination, and select the Send to Destination option from the menu. Select the Salesforce connector from the list of available destination connectors, then select the credential that will be used to connect to the Salesforce instance, and click Next; or, create a new Salesforce credential for use in this flow.

Manual configuration

Salesforce destinations can be manually configured to send data to any valid Salesforce API endpoint, including destinations that send data to multiple endpoints or that require custom authentication headers or request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks. Use POST for creating new records, PATCH for updating existing records, or PUT for upserting records (create or update).

Salesforce API endpoints typically follow these patterns: {instance_url}/services/data/v{version}/sobjects/{object_name}/ to create records, {instance_url}/services/data/v{version}/sobjects/{object_name}/{record_id} to update records, {instance_url}/services/data/v{version}/sobjects/{object_name}/{external_id_field}/{external_id_value} to upsert records, and {instance_url}/services/data/v{version}/composite/ for the Composite API. The endpoint URL should use the instance URL from your OAuth token response, and Salesforce API requires OAuth 2.0 Bearer token authentication, which is automatically included from your credential; Content-Type is typically set to application/json for ingestion endpoints.

The default Request Body Template of {message.json} sends the entire record as JSON and works correctly for most Salesforce ingestion endpoints; you can customize the template with dot notation (e.g., {message.field_name}) if the target endpoint requires a different structure.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Salesforce endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Salesforce endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.