InTouch Hub · Blue Isle Software

Snowflake

Submit, poll and cancel SQL statements on Snowflake through the SQL API v2.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

bibusinessbusiness-intelligenceintelligencesnowflakestatus

Snowflake Tool

Run SQL and manage statement execution on Snowflake via the Snowflake SQL API v2.

Tool ID

snowflake-sql

Credential Required

Yes — a server-refreshed OAuth credential (auth mode: oauth_user). Link an oauth-type credential (mint one with itcli.py /oauth); the InTouch server resolves and refreshes it and hands the tool a live access_token, sent on every request as Authorization: Bearer <token>. The tool never refreshes or stores the token — the server owns the token lifecycle. All requests go to https://{account}.snowflakecomputing.com/api/v2 — the account comes from the task's account input, not the credential.

Credential Properties

Property Type Default Description
client_id string OAuth app client ID
client_secret string OAuth app client secret (if required on refresh)
token_url string Provider OAuth token endpoint — used to refresh
access_token string Required. Current access token — kept fresh by the server; do not edit by hand
refresh_token string Refresh token; enables automatic server-side refresh
token_type string Bearer Token type
scope string Granted OAuth scopes (space-separated)
expires_at string Access-token expiry in epoch seconds (0 = non-expiring)

Operations

1. submit_statement — Submit a SQL statement

Submits a SQL statement for execution. Calls POST /statements with a JSON body.

Properties:

Property Type Default Description
operation string (enum) Required. One of: submit_statement, get_statement, cancel_statement
account string Required. Snowflake account host prefix in orgname-accountname form (used as {account}.snowflakecomputing.com)
body string Request body as a JSON object string, e.g. {"statement": "select 1", "warehouse": "WH", "database": "DB", "schema": "SC"}
query string Optional query params as a JSON object string, e.g. {"async": true, "nullable": false}

Published Outputs: - result — the JSON response body - status — HTTP status code

2. get_statement — Get statement status/results

Fetches the status and results of a submitted statement. Calls GET /statements/{statementHandle}.

Properties:

Property Type Default Description
operation string (enum) Required.
account string Required. Snowflake account host prefix (orgname-accountname form)
statementHandle string Required. Statement handle returned by submit_statement
query string Optional query params as a JSON object string

Published Outputs: - result — the JSON response body - status — HTTP status code

3. cancel_statement — Cancel a statement

Cancels a running statement. Calls POST /statements/{statementHandle}/cancel.

Properties:

Property Type Default Description
operation string (enum) Required.
account string Required. Snowflake account host prefix (orgname-accountname form)
statementHandle string Required. Statement handle returned by submit_statement
query string Optional query params as a JSON object string

Published Outputs: - result — the JSON response body - status — HTTP status code

Self-Contained JAR

The jar bundles all runtime dependencies; only intouch-tool-api is provided by the server.

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.