What are Source Settings?

Source settings determine:

  • How a Source appears to your tenants
  • How you and your tenants authenticate to the Source
  • How Hotglue will run this Source

Example Source Settings

{
  "tap": "facebook",
  "tags": [
    "ads"
  ],
  "icon": "https://s3.amazonaws.com/cdn.hotglue.xyz/images/logos/facebook_ads.svg",
  "domain": "facebook.com/business/ads",
  "label": "Facebook Ads",
  "no_refresh": true,
  "force_redirect": true,
  "tap_url": "https://www.facebook.com/v12.0/dialog/oauth?scope=ads_management%20ads_read",
  "auth_url": "https://graph.facebook.com/v12.0/oauth/access_token",
  "type": "oauth",
  "connect_ui_params": {
    "account_id": {
      "label": "Account ID",
      "description": "Your Facebook Ads account id."
    }
  },
  "connector_props": {
    "singer_sdk": true
  }
}

Understanding the Source Fields

tap

The tap field is a unique identifier for the source. It is used internally to reference the source and should be unique across all sources.

label

The label field is a human-readable name for the source. This is the name that will be displayed in the user interface.

icon

The icon field is a URL to an image that represents the source. This icon will be displayed in the user interface alongside the source’s label.

tags

The tags field is an array of strings that categorize the source. These tags can be used to filter and search for sources.

domain

The domain field specifies the primary domain associated with the source. This is typically the domain of the service the source integrates with.

type

The type field specifies the authentication method used by the source. Accepted values are oauth and api

isForked

The isForked field indicates whether this source has been modified from the default Hotglue source settings.

install_uri

The install_uri field can be used to overwrite the default git repo that the Tap will be installed from:

"install_uri": "git+https://github.com/your-org/tap-googleads.git@v1.2.4"

You can also override the install_uri for particular tenants by instead using:

"install_uri": {
  "env": "git+..." // Default install URI,
  "tenant": {
    "TENANT_ID": "git+..." // Install URI for particular tenant
  }
}