The tap-salesforce Meltano extractor pulls data from Salesforce that can then be sent to a destination using a loader.

Alternative variants #

Multiple variants of tap-salesforce are available. This document describes the default meltano variant, which is recommended for new users.

Alternative variants are:

Getting Started #

Prerequisites #

If you haven't already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

Installation and configuration #

  1. Add the tap-salesforce extractor to your project using meltano add :

    meltano add extractor tap-salesforce
  2. Configure the settings below using meltano config .

Next steps #

Follow the remaining steps of the Getting Started guide:

  1. Select entities and attributes to extract
  2. Add a loader to send data to a destination
  3. Run a data integration (EL) pipeline
If you run into any issues, learn how to get help.

Capabilities #

Settings #

tap-salesforce requires the configuration of one of the following groups of settings:

The settings for extractor tap-salesforce that are known to Meltano are documented below. To quickly find the setting you're looking for, use the Table of Contents at the top of the page.

Username (username) #

The username (or email address) used to sign in to your Salesforce account.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set username <username>

export TAP_SALESFORCE_USERNAME=<username>

Password (password) #

The password used to sign in to your Salesforce account.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set password <password>

export TAP_SALESFORCE_PASSWORD=<password>

Security Token (security_token) #

How to get #

If you don’t already have a Salesforce Security Token for your account, you can generate one through the following steps:

  1. Sign in to your Salesforce Account.

  2. Go to your Account Settings (top right on the header bar)

  3. Click Reset My Security Token (Under the My Personal Information section)

  4. Click Reset Security Token

An email with the Security Token will be sent to your email.

::: tip

Why is my “Reset Security Token” option missing?

If a user’s profile is configured such that there is a restriction on the IP ranges that can access Salesforce, then that user will not have the ability to access/reset their security token.

In order to give access to the security token, either remove the user from the profile that contains the IP range restriction, or update the user’s profile by removing the IP range restriction.

In rare cases where the user’s profile doesn’t contain IP range restriction and they still can’t access the security token reset option, edit the user’s profile and save (without making any actual changes to the profile).

:::

::: tip

When you reset your Salesforce password, your security token resets as well. If that security token is used to integrate Meltano with Salesforce, that integration will break as well. Each time you reset an account password used to connect Meltano or other applications to Salesforce, you will need to re-enter your new security token into that application.

:::

::: warning

If you have other third-party applications integrated with Salesforce and you reset your security token, that integration will break. Try to use your existing Security Token instead of resetting your existing one. Otherwise, you will need to re-enter your new security token into all the connected applications.

:::

See https://hub.meltano.com/extractors/salesforce.html#salesforce-setup.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set security_token <security_token>

export TAP_SALESFORCE_SECURITY_TOKEN=<security_token>

Client ID (client_id) #

Salesforce client ID. See https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_understanding_web_server_oauth_flow.html.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set client_id <client_id>

export TAP_SALESFORCE_CLIENT_ID=<client_id>

Client Secret (client_secret) #

Salesforce client secret. See https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_understanding_web_server_oauth_flow.html.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set client_secret <client_secret>

export TAP_SALESFORCE_CLIENT_SECRET=<client_secret>

Refresh Token (refresh_token) #

Salesforce refresh token. See https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_understanding_web_server_oauth_flow.html.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set refresh_token <refresh_token>

export TAP_SALESFORCE_REFRESH_TOKEN=<refresh_token>

Start Date (start_date) #

Determines how much historical data will be extracted. Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set start_date YYYY-MM-DDTHH:MM:SSZ

export TAP_SALESFORCE_START_DATE=YYYY-MM-DDTHH:MM:SSZ

Is Sandbox (is_sandbox) #

Use Salesforce Sandbox

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set is_sandbox true

export TAP_SALESFORCE_IS_SANDBOX=true

API Type (api_type) #

Used to switch the behavior of the tap between using Salesforce’s “REST” and “BULK” APIs.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set api_type REST

export TAP_SALESFORCE_API_TYPE=REST

Select Fields By Default (select_fields_by_default) #

Select by default any new fields discovered in Salesforce objects

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set select_fields_by_default false

export TAP_SALESFORCE_SELECT_FIELDS_BY_DEFAULT=false

State Message Threshold (state_message_threshold) #

Used to throttle how often STATE messages are generated when the tap is using the “REST” API.

This is a balance between not slowing down execution due to too many STATE messages produced and how many records must be fetched again if a tap fails unexpectedly. Defaults to 1000 (generate a STATE message every 1000 records).

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set state_message_threshold 1000

export TAP_SALESFORCE_STATE_MESSAGE_THRESHOLD=1000

Maximum number of threads to use (max_workers) #

Maximum number of threads to use.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-salesforce set max_workers 8

export TAP_SALESFORCE_MAX_WORKERS=8

Looking for help? #

If you're having trouble getting the tap-salesforce extractor to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the #plugins-general channel.

Found an issue on this page? #

This page is generated from a YAML file that you can contribute changes to. Edit it on GitHub!