Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.hotglue.com/llms.txt

Use this file to discover all available pages before exploring further.

What are Target Settings?

Target settings determine:
  • How a Target appears to your tenants
  • How you and your tenants authenticate to the Target
  • The underlying taps and targets that your Target uses

Example Target Settings

{
  "target": "postgres-beta",
  "flowType": "all",
  "domain": "postgresql.org",
  "label": "PostgreSQL",
  "version": "v2",
  "type": "api",
  "icon": "https://s3.amazonaws.com/cdn.hotglue.xyz/images/logos/postgres.svg",
  "validation_supported": true,
  "connect_ui_params": {
    "host": {
      "label": "Host Name",
      "description": "Your PostgreSQL server host"
    },
    "port": {
      "label": "Port",
      "description": "Your PostgreSQL server port"
    },
    "dbname": {
      "label": "Database",
      "description": "Your PostgreSQL database name"
    },
    "user": {
      "label": "User",
      "description": "Your PostgreSQL user"
    },
    "password": {
      "label": "Password",
      "description": "Your PostgreSQL password",
      "type": "password"
    },
    "default_target_schema": {
      "label": "Schema",
      "description": "Your PostgreSQL schema (ie. public)"
    },
  },
  "connector_props": {
    "singer_sdk": true
  }
}

Understanding the Target Fields

target

The target field is a unique identifier for the target. It is used internally to reference the target and should be unique across all targets.

label

The label field is a human-readable name for the target. 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 target. This icon will be displayed in the user interface alongside the target’s label.

tags

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

domain

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

type

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

isForked

The isForked field indicates whether this target has been modified from the default hotglue target settings.

install_uri

The install_uri field can be used to overwrite the default git repo that the target will be installed from:
"install_uri": "git+https://github.com/your-org/target-bigquery.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 target.
"install_uri": "git+https://github.com/your-org/target-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.

version

The version field adds a version label chip to the target card in the UI. This helps tenants identify which version of the target they are using.
"version": "v2"

validation_supported

The validation_supported field (boolean) indicates whether the target validates a tenant’s credentials during account linking.
"validation_supported": true

flowType

The flowType field controls whether the connector can be used in both source and target flows. When set to all, the connector becomes available in both source and target flows.
"flowType": "all"

target_url

The target_url field specifies the OAuth authorization URL used to initiate the authentication flow for this target. This is the URL the tenant is redirected to when connecting the target.
"target_url": "https://app.example.com/oauth/authorize?response_type=code"

auth_url

The auth_url field specifies the OAuth token exchange URL used to obtain access tokens after the tenant has authorized the target.
"auth_url": "https://app.example.com/oauth/token"

revoke_url

The revoke_url field specifies the URL called to revoke OAuth tokens when a tenant disconnects the target.
"revoke_url": "https://app.example.com/oauth/revoke"

dynamic_urls

The dynamic_urls field allows the target to construct URLs dynamically at runtime using tenant-specific config values. When set to true, placeholders in target_url and auth_url are replaced with values from the tenant’s config. For example, Databricks uses a host-specific URL entered by the tenant:
"target_url": "https://{host}/oidc/v1/authorize?response_type=code&scope=sql%20offline_access",
"auth_url": "https://{host}/oidc/v1/token",
"dynamic_urls": true,
"connect_ui_params": {
    "host": {
        "label": "Host",
        "description": "Databricks SQL Warehouse Host"
    }
}

basic_client_credentials

The basic_client_credentials field uses HTTP Basic Auth for client credentials instead of standard OAuth.
"basic_client_credentials": true

connector_repo

The connector_repo field specifies the git repository URL for a hotglue-maintained target. This field only works with hotglue-maintained repositories.
"connector_repo": "git+https://github.com/hotgluexyz/target-example.git"

connector_tag

The connector_tag field specifies the version tag of a hotglue-maintained target repository to install. This field only works with hotglue-maintained repositories.
"connector_tag": "^v1.0.0"

oauth_settings

The oauth_settings field contains advanced OAuth configuration for the target. The following sub-fields are supported:
FieldTypeDescription
use_pkce_verifierbooleanEnables PKCE (Proof Key for Code Exchange) for enhanced OAuth security
use_basic_authbooleanSends client credentials using HTTP Basic Auth during token exchange
use_json_payloadbooleanSends the token request as a JSON payload instead of form-encoded data
encode_statebooleanEncodes the OAuth state parameter before sending
"oauth_settings": {
    "use_pkce_verifier": true
}

connect_ui_params

The connect_ui_params field defines the fields shown to tenants in the connection UI. Each field key maps to a parameter object that supports the following properties:
PropertyTypeDescription
labelstringHuman-readable label shown to the tenant for this field
descriptionstringHelper text displayed below the field to guide the tenant
typestringInput type for the field. Accepted values: password, boolean, select, number, list, multiline. Defaults to text if not specified
requiredbooleanWhether this field is required for the tenant to connect. Defaults to true if not specified
adornmentobjectAdds prefix or suffix text around the input field
adornment.startstringText displayed before the input field (e.g. https://)
adornment.endstringText displayed after the input field (e.g. .myshopify.com)
optionsarrayUsed when type is select. Defines the list of options the tenant can choose from
options[].namestringDisplay name for the select option
options[].valuestringValue submitted when this option is selected
paramsobjectUsed when type is list. Defines the sub-fields for each item in the list
The following examples show fields using different property combinations:
"connect_ui_params": {
    "host": {
        "label": "Host Name",
        "description": "Your server host"
    },
    "password": {
        "label": "Password",
        "description": "Your password",
        "type": "password"
    },
    "region": {
        "label": "Region",
        "type": "select",
        "options": [
            { "name": "US East", "value": "us-east-1" },
            { "name": "EU West", "value": "eu-west-1" }
        ]
    },
    "ssl": {
        "label": "Use SSL",
        "type": "boolean",
        "required": false
    }
}

connector_props

The connector_props field contains additional configuration properties for the target. The following sub-fields are supported:
FieldTypeDescription
singer_sdkbooleanIndicates this target is built using the Singer SDK
static_databooleanIndicates this target handles arbitrary file-based data sources such as file storage, Google Drive, or blob storage
"connector_props": {
    "singer_sdk": true
}

config

The config block defines default configuration values that are automatically applied to every new tenant connecting to this target. Tenants inherit these values without needing to configure them manually. The only universal config field supported across all targets is start_date. All other config fields are target-specific — refer to the individual target’s documentation for the full list of supported fields.
FieldTypeDescription
start_datestringDefault start date for data sync in ISO 8601 format
"config": {
    "start_date": "2000-01-01T00:00:00.000Z"
}