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
  }
}

is_private_repo

The is_private_repo field tells hotglue to use your configured git access token when installing your Tap.
"install_uri": "git+https://github.com/your-org/tap-googleads.git@v1.2.4" // Private Repository
"is_private_repo": true

formattable_fields

The formattable_fields flag allows you to set a list of config flags that can be used as variables for your auth URLs.
"formattable_fields": ["shop", "tenant_id"]
For example, if you set:
"auth_url": "https://{shop}.shopify.com/token"
And the tenant has config:
{
  ...
  "shop": "usa",
  ...
}
then hotglue will use the following auth_url when completing the OAuth flow:
https://usa.shopify.com/token
All fields specified in the connect_ui_params are used as formattable_fields by default.