Snowflake
Snowflake enables organizations to collaborate, build AI-powered data apps, and unlock data insights-all within a secure and scalable AI Data Cloud.
Categories: Analytics
Type: snowflake/v1
Connections
Version: 1
oauth2_authorization_code
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| account_identifier | Account Identifier | STRING | Account identifier of your account. | true |
| clientId | Client ID | STRING | Snowflake OAuth Client ID. | true |
| clientSecret | Client Secret | STRING | Snowflake OAuth Client Secret. | true |
Connection Setup
Find Account Identifier
- Navigate to your Snowflake dashboard.
- Click on your account in the lower left corner.
- Click on View account details.
- Here you can find your Account Identifier.
Create Security Integration
- Navigate to your Snowflake dashboard.
- Click on Worksheets.
- Click on + to create SQL worksheet.
- Paste this into worksheet, just change NAME to the name of your security integration: CREATE SECURITY INTEGRATION NAME TYPE = oauth ENABLED = true OAUTH_CLIENT = custom OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' OAUTH_REDIRECT_URI = 'http://127.0.0.1:5173/callback' OAUTH_ISSUE_REFRESH_TOKENS = TRUE OAUTH_ALLOW_NON_TLS_REDIRECT_URI = true OAUTH_REFRESH_TOKEN_VALIDITY = 86400;
- Click on this icon.
Find Client ID and Secret
https://docs.snowflake.com/sql-reference/functions/system_show_oauth_client_secrets
- Navigate to your Snowflake dashboard.
- Click on Worksheets.
- Click on + to create SQL worksheet.
- Paste this into worksheet, just change NAME to the name of your security integration:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('BYTECHEF'); - Run SQL worksheet.
Role Has Been Blocked Error
- Navigate to your Snowflake dashboard.
- Click on Worksheets.
- Click on + to create SQL worksheet.
- Paste this into worksheet, just change NAME to the name of your security integration:
ALTER ACCOUNT SET OAUTH_ADD_PRIVILEGED_ROLES_TO_BLOCKED_LIST = FALSE;
Actions
Delete Row
Name: deleteRow
Delete row from the table.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| database | Database | STRING | true | |
| schema | Schema | STRING Depends Ondatabase | true | |
| table | Table | STRING Depends Onschema, database | true | |
| condition | Condition | STRING | Condition that will be checked in the column. Example: column1=5 | true |
Example JSON Structure
{
"label" : "Delete Row",
"name" : "deleteRow",
"parameters" : {
"database" : "",
"schema" : "",
"table" : "",
"condition" : ""
},
"type" : "snowflake/v1/deleteRow"
}Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| resultSetMetaData | OBJECT Properties{INTEGER(numRows), STRING(format), [STRING(name), STRING\(database), STRING(schema), STRING\(table), {}(scale), {}\(precision), INTEGER(length), STRING\(type), BOOLEAN(nullable), INTEGER\(byteLength), {}(collation)]\(rowType), [INTEGER\(rowCount), INTEGER($uncompressedSize)](partitionInfo)} | |
| data | ARRAY Items[] | |
| code | STRING | |
| statementStatusUrl | STRING | |
| sqlState | STRING | |
| statementHandle | STRING | |
| message | STRING | |
| createdOn | DATE | |
| stats | ARRAY Items[] |
Output Example
{
"resultSetMetaData" : {
"numRows" : 1,
"format" : "",
"rowType" : [ "", "", "", "", { }, { }, 1, "", false, 1, { } ],
"partitionInfo" : [ 1, 1 ]
},
"data" : [ ],
"code" : "",
"statementStatusUrl" : "",
"sqlState" : "",
"statementHandle" : "",
"message" : "",
"createdOn" : "2021-01-01",
"stats" : [ ]
}Execute SQL
Name: executeSql
Execute SQL statement.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| statement | Statement | STRING | SQL statement that will be executed. | true |
Example JSON Structure
{
"label" : "Execute SQL",
"name" : "executeSql",
"parameters" : {
"statement" : ""
},
"type" : "snowflake/v1/executeSql"
}Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| resultSetMetaData | OBJECT Properties{INTEGER(numRows), STRING(format), [STRING(name), STRING\(database), STRING(schema), STRING\(table), {}(scale), {}\(precision), INTEGER(length), STRING\(type), BOOLEAN(nullable), INTEGER\(byteLength), {}(collation)]\(rowType), [INTEGER\(rowCount), INTEGER($uncompressedSize)](partitionInfo)} | |
| data | ARRAY Items[] | |
| code | STRING | |
| statementStatusUrl | STRING | |
| sqlState | STRING | |
| statementHandle | STRING | |
| message | STRING | |
| createdOn | DATE | |
| stats | ARRAY Items[] |
Output Example
{
"resultSetMetaData" : {
"numRows" : 1,
"format" : "",
"rowType" : [ "", "", "", "", { }, { }, 1, "", false, 1, { } ],
"partitionInfo" : [ 1, 1 ]
},
"data" : [ ],
"code" : "",
"statementStatusUrl" : "",
"sqlState" : "",
"statementHandle" : "",
"message" : "",
"createdOn" : "2021-01-01",
"stats" : [ ]
}Insert Row
Name: insertRow
Insert row into the table.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| database | Database | STRING | true | |
| schema | Schema | STRING Depends Ondatabase | true | |
| table | Table | STRING Depends Onschema, database | true | |
| values | DYNAMIC_PROPERTIES Depends Ondatabase, schema, table | true |
Example JSON Structure
{
"label" : "Insert Row",
"name" : "insertRow",
"parameters" : {
"database" : "",
"schema" : "",
"table" : "",
"values" : { }
},
"type" : "snowflake/v1/insertRow"
}Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| resultSetMetaData | OBJECT Properties{INTEGER(numRows), STRING(format), [STRING(name), STRING\(database), STRING(schema), STRING\(table), {}(scale), {}\(precision), INTEGER(length), STRING\(type), BOOLEAN(nullable), INTEGER\(byteLength), {}(collation)]\(rowType), [INTEGER\(rowCount), INTEGER($uncompressedSize)](partitionInfo)} | |
| data | ARRAY Items[] | |
| code | STRING | |
| statementStatusUrl | STRING | |
| sqlState | STRING | |
| statementHandle | STRING | |
| message | STRING | |
| createdOn | DATE | |
| stats | ARRAY Items[] |
Output Example
{
"resultSetMetaData" : {
"numRows" : 1,
"format" : "",
"rowType" : [ "", "", "", "", { }, { }, 1, "", false, 1, { } ],
"partitionInfo" : [ 1, 1 ]
},
"data" : [ ],
"code" : "",
"statementStatusUrl" : "",
"sqlState" : "",
"statementHandle" : "",
"message" : "",
"createdOn" : "2021-01-01",
"stats" : [ ]
}Update Row
Name: updateRow
Update row from the table.
Properties
| Name | Label | Type | Description | Required |
|---|---|---|---|---|
| database | Database | STRING | true | |
| schema | Schema | STRING Depends Ondatabase | true | |
| table | Table | STRING Depends Onschema, database | true | |
| condition | Condition | STRING | Condition that will be checked in the column. Example: column1=5 | true |
| values | DYNAMIC_PROPERTIES Depends Ondatabase, schema, table | true |
Example JSON Structure
{
"label" : "Update Row",
"name" : "updateRow",
"parameters" : {
"database" : "",
"schema" : "",
"table" : "",
"condition" : "",
"values" : { }
},
"type" : "snowflake/v1/updateRow"
}Output
Type: OBJECT
Properties
| Name | Type | Description |
|---|---|---|
| resultSetMetaData | OBJECT Properties{INTEGER(numRows), STRING(format), [STRING(name), STRING\(database), STRING(schema), STRING\(table), {}(scale), {}\(precision), INTEGER(length), STRING\(type), BOOLEAN(nullable), INTEGER\(byteLength), {}(collation)]\(rowType), [INTEGER\(rowCount), INTEGER($uncompressedSize)](partitionInfo)} | |
| data | ARRAY Items[] | |
| code | STRING | |
| statementStatusUrl | STRING | |
| sqlState | STRING | |
| statementHandle | STRING | |
| message | STRING | |
| createdOn | DATE | |
| stats | ARRAY Items[] |
Output Example
{
"resultSetMetaData" : {
"numRows" : 1,
"format" : "",
"rowType" : [ "", "", "", "", { }, { }, 1, "", false, 1, { } ],
"partitionInfo" : [ 1, 1 ]
},
"data" : [ ],
"code" : "",
"statementStatusUrl" : "",
"sqlState" : "",
"statementHandle" : "",
"message" : "",
"createdOn" : "2021-01-01",
"stats" : [ ]
}What to do if your action is not listed here?
If this component doesn't have the action you need, you can use Custom Action to create your own. Custom Actions empower you to define HTTP requests tailored to your specific requirements, allowing for greater flexibility in integrating with external services or APIs.
To create a Custom Action, simply specify the desired HTTP method, path, and any necessary parameters. This way, you can extend the functionality of your component beyond the predefined actions, ensuring that you can meet all your integration needs effectively.
How is this guide?
Last updated on