tap-salesforce from meltanolabs

Customer-relationship management & customer success platform

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

Available Variants

Getting Started


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
  2. meltano add extractor tap-salesforce
  3. Configure the tap-salesforce settings using
    meltano config
  4. meltano config tap-salesforce set --interactive
  5. Test that extractor settings are valid using
    meltano config
  6. meltano config tap-salesforce test

Next steps

If you run into any issues, learn how to get help.


The current capabilities for tap-salesforce may have been automatically set when originally added to the Hub. Please review the capabilities when using this extractor. If you find they are out of date, please consider updating them by making a pull request to the YAML file that defines the capabilities for this extractor.

This plugin has the following capabilities:

  • properties
  • discover
  • state

You can override these capabilities or specify additional ones in your meltano.yml by adding the capabilities key.


The tap-salesforce settings that are known to Meltano are documented below. To quickly find the setting you're looking for, click on any setting name from the list:

You can override these settings or specify additional ones in your meltano.yml by adding the settings key.

Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.

Username (username)

  • Environment variable: TAP_SALESFORCE_USERNAME

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

Password (password)

  • Environment variable: TAP_SALESFORCE_PASSWORD

The password used to sign in to your Salesforce account.

Security Token (security_token)

  • Environment variable: TAP_SALESFORCE_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.

Client ID (client_id)

  • Environment variable: TAP_SALESFORCE_CLIENT_ID

Client Secret (client_secret)

  • Environment variable: TAP_SALESFORCE_CLIENT_SECRET

Refresh Token (refresh_token)

  • Environment variable: TAP_SALESFORCE_REFRESH_TOKEN

Start Date (start_date)

  • Environment variable: TAP_SALESFORCE_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.

Is Sandbox (is_sandbox)

  • Environment variable: TAP_SALESFORCE_IS_SANDBOX
  • Default Value: false

Use Salesforce Sandbox

API Type (api_type)

  • Environment variable: TAP_SALESFORCE_API_TYPE
  • Default Value: REST

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

Select Fields By Default (select_fields_by_default)

  • Default Value: true

Select by default any new fields discovered in Salesforce objects

State Message Threshold (state_message_threshold)

  • Default Value: 1000

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

Maximum number of threads to use (max_workers)

  • Environment variable: TAP_SALESFORCE_MAX_WORKERS
  • Default Value: 8

Maximum number of threads to use.

Something missing?

This page is generated from a YAML file that you can contribute changes to.

Edit it on GitHub!

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


meltano add extractor tap-salesforce

Maintenance Status

  • Maintenance Status
  • Stars
  • Forks
  • Open Issues
  • Open PRs
  • Contributors
  • License


  • Meltano Community

Meltano Stats

  • Total Executions (Last 3 Months)
  • Projects (Last 3 Months)


  • api