Connector Details

NameValue
PlatformSalesforce
Auth TypeOAuth
DirectionBidirectional
Triggers
Tap Repohttps://github.com/hotgluexyz/tap-salesforce
Target Repohttps://github.com/hotgluexyz/target-salesforce-v3
Tap Metrics

Usage:

Target Metrics

Usage:

Unified Schema

Credentials Setup - How to create a Salesforce Connected App

Follow the steps below to get the credentials you need to use the Salesforce connector. The first thing you need to do is go ahead and log in to Salesforce. Once you are logged in and on the home page, navigate to your Setup Menu: Navigate to the SF Setup Menu From your Setup Menu go to the left side of the page and select the Apps dropdown. Then, you should go ahead and click on the Platform Tools > External Client Apps > Settings section from the dropdown. Navigate to the External Client App Settings Now on this page, you should enable Allow creation of connected apps and click New Connected App: Create a new External Client App On this page, you should name your OAuth app, put your email as the contact email, and then check the box Enable OAuth Settings. Now that you have enabled OAuth Settings, you should set the callback URL to
https://hotglue.xyz/callback
Under Security, disable Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows. You should also make sure that for the Selected OAuth Scopes, you have enabled the scopes for:
  1. Access and manage your data (api)
  2. Perform request on your behalf at any time (refresh\\_token, offline\\_access)
Enable Salesforce Permissions Once you have finished configuring the app, you should go ahead and click Save. Next, in OAuth Settings dropdown for your app, you’ll find a button called Manage Consumer Details: Find SF Consumer Key and Secret Now, you should copy these keys into hotglue, and you will be all good to go to start using the Salesforce source in hotglue. And that is it! You have now successfully linked to Salesforce!

Required Tenant Permissions

The authenticated tenant must have the following System Permissions on their Salesforce Instance:
  1. API Enabled
  2. View Setup and Configuration
See the Salesforce docs for how to add these permissions to a permission set. If you plan on enabling Salesforce’s Bulk API, your tenant also needs the system permission named Manage Data Integrations.

Allowing tenants to link Salesforce Sandbox Instances

The OAuth Authentication flow for Salesforce Sandbox instances is slightly different from production Salesforce instances. As such, you’ll need to add the Salesforce:sandbox connector as a supported source to your desired flows. Tenants using sandbox Salesforce credentials must link to this source, not the normal Salesforce source.
Production Salesforce OAuth apps are compatible with sandbox credentials, so you can reuse the same client ID and secret for both supported sources.
Separate Salesforce and SF Sandbox sources

API Quota Management

Salesforce enforces strict daily API limits for every connected Salesforce instance. While the specific request quota differs by Salesforce plan, hotglue’s Salesforce connector works around these quotas to prevent eating up your tenants’ allotments.

How hotglue stops you from exceeding Salesforce quotas

By default, a single hotglue job (or discover) will never use up more than 25% of a tenant’s Salesforce API quota. Additionally, hotglue jobs will never make a request on your tenant’s Salesforce account if making that request would bring the tenant to 80% of their daily quota. These thresholds can be customized by using the quota_percent_per_run and quota_percent_total config flags respectively on a tenant’s linked Salesforce source.

Salesforce Bulk API

To further minimize Salesforce requests, you can enable the Salesforce bulk API for a tenant using the "api_type": "BULK" config flag.

Incremental Syncs

To prevent re-querying the same data, hotglue’s Salesforce connector will only sync data that has been changed since the last successful hotglue job.

Usage Logging

After making a request, hotglue’s Salesforce connector will log how many remaining requests are in a tenant’s daily allotment. You can check the usage logs on the hotglue dashboard’s job page.

Campaign, ListView, and Report Filtering

Your tenants may be interested in only syncing Contacts and Leads that belong to certain Campaigns, Listviews, or Reports. If so, you can add any of the following filters to your Salesforce available source:
"filters": [
    {
      "label": "Campaigns",
      "description": "The campaigns to sync",
      "type": "multiselect",
      "key": "campaigns",
      "sf_object": "Campaign",
      "targetKey": "campaign_ids"
    },
    {
      "label": "Lists",
      "description": "The lists to sync",
      "type": "multiselect",
      "key": "lists",
      "sf_object": "ListView",
      "targetKey": "list_ids"
    },
    {
      "label": "Reports",
      "description": "The reports to sync",
      "type": "multiselect",
      "key": "reports",
      "targetKey": "report_ids"
    }
]
During the widget linking process, the tenant will be given dropdowns for the filters you specify. During the syncing process, hotglue will only fetch Contacts and Leads according to these filters.

Tap Changelog