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.
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
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.
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.
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:
| Field | Type | Description |
|---|
use_pkce_verifier | boolean | Enables PKCE (Proof Key for Code Exchange) for enhanced OAuth security |
use_basic_auth | boolean | Sends client credentials using HTTP Basic Auth during token exchange |
use_json_payload | boolean | Sends the token request as a JSON payload instead of form-encoded data |
encode_state | boolean | Encodes 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:
| Property | Type | Description |
|---|
label | string | Human-readable label shown to the tenant for this field |
description | string | Helper text displayed below the field to guide the tenant |
type | string | Input type for the field. Accepted values: password, boolean, select, number, list, multiline. Defaults to text if not specified |
required | boolean | Whether this field is required for the tenant to connect. Defaults to true if not specified |
adornment | object | Adds prefix or suffix text around the input field |
adornment.start | string | Text displayed before the input field (e.g. https://) |
adornment.end | string | Text displayed after the input field (e.g. .myshopify.com) |
options | array | Used when type is select. Defines the list of options the tenant can choose from |
options[].name | string | Display name for the select option |
options[].value | string | Value submitted when this option is selected |
params | object | Used 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:
| Field | Type | Description |
|---|
singer_sdk | boolean | Indicates this target is built using the Singer SDK |
static_data | boolean | Indicates 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.
| Field | Type | Description |
|---|
start_date | string | Default start date for data sync in ISO 8601 format |
"config": {
"start_date": "2000-01-01T00:00:00.000Z"
}