> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modulex.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Snowflake Integration for AI Agents & Workflows

> Snowflake data warehouse integration for executing SQL queries, managing tables, and performing data operations. Uses the snowflake-connector-python SDK.

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/df8MOr-hXotYLTh5/logos/snowflake.svg?fit=max&auto=format&n=df8MOr-hXotYLTh5&q=85&s=dfdbf54bd6bbc4b16809f9832d17bbce" alt="Snowflake logo" width="72" height="72" data-path="logos/snowflake.svg" />

## Overview

Add **Snowflake** to any ModuleX agent or workflow. Snowflake data warehouse integration via `snowflake-connector-python` (the official driver). Provides SQL execution, batched inserts, and introspection (databases/schemas/tables/warehouses).

<Info>
  **Categories**: Databases · Database · Data Warehouse · Analytics · **Auth**: Snowflake Credentials · **Actions**: 9
</Info>

## Authentication

### Snowflake Credentials

Authenticate with Snowflake account credentials (account/user/password/warehouse).

#### Required Credentials

| Field     | Description                                           | Required | Format              |
| --------- | ----------------------------------------------------- | -------- | ------------------- |
| Account   | Snowflake account identifier (e.g. xy12345.us-east-1) | Yes      | `xy12345.us-east-1` |
| Username  | Snowflake username                                    | Yes      | `-`                 |
| Password  | Snowflake password                                    | Yes      | `-`                 |
| Warehouse | Compute warehouse to use for queries                  | Yes      | `-`                 |
| Database  | Default database (optional)                           | No       | `-`                 |
| Schema    | Default schema (optional)                             | No       | `-`                 |
| Role      | Optional Snowflake role to assume                     | No       | `-`                 |

## Available Actions

<AccordionGroup>
  <Accordion title="execute_sql_query — Execute any SQL statement. Use '%s' for parameterized queries (DB-API style).">
    ### Parameters

    <ResponseField name="query" type="string" required>
      The SQL to execute
    </ResponseField>

    <ResponseField name="binds" type="array">
      Bind values for '%s' placeholders
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "row_count": {
          "default": 0,
          "title": "Row Count",
          "type": "integer"
        },
        "data": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Data",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ExecuteSqlQueryOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="insert_row — INSERT a single row from a column→value mapping">
    ### Parameters

    <ResponseField name="table_name" type="string" required>
      Fully qualified table (DATABASE.SCHEMA.TABLE) — or just TABLE if database/schema is set in auth\_data
    </ResponseField>

    <ResponseField name="values" type="object" required>
      Column-value pairs to insert
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "table": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Table"
        },
        "rows_inserted": {
          "default": 0,
          "title": "Rows Inserted",
          "type": "integer"
        },
        "columns": {
          "items": {
            "type": "string"
          },
          "title": "Columns",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "InsertRowOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="insert_multiple_rows — Batched INSERT for multiple rows (configurable batch_size)">
    ### Parameters

    <ResponseField name="table_name" type="string" required>
      Fully qualified table (DATABASE.SCHEMA.TABLE) — or just TABLE if database/schema is set in auth\_data
    </ResponseField>

    <ResponseField name="columns" type="array" required>
      Column names
    </ResponseField>

    <ResponseField name="values" type="array" required>
      List of rows, each a list of values matching columns
    </ResponseField>

    <ResponseField name="batch_size" type="integer">
      Rows per batch (clamped to 10-1000) (Default: `100`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "BatchResult": {
          "additionalProperties": false,
          "properties": {
            "batch_index": {
              "title": "Batch Index",
              "type": "integer"
            },
            "rows_processed": {
              "title": "Rows Processed",
              "type": "integer"
            },
            "success": {
              "title": "Success",
              "type": "boolean"
            },
            "error": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Error"
            }
          },
          "required": [
            "batch_index",
            "rows_processed",
            "success"
          ],
          "title": "BatchResult",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "table": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Table"
        },
        "total_rows": {
          "default": 0,
          "title": "Total Rows",
          "type": "integer"
        },
        "rows_inserted": {
          "default": 0,
          "title": "Rows Inserted",
          "type": "integer"
        },
        "total_batches": {
          "default": 0,
          "title": "Total Batches",
          "type": "integer"
        },
        "successful_batches": {
          "default": 0,
          "title": "Successful Batches",
          "type": "integer"
        },
        "failed_batches": {
          "default": 0,
          "title": "Failed Batches",
          "type": "integer"
        },
        "batch_size": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Batch Size"
        },
        "batch_results": {
          "items": {
            "$ref": "#/$defs/BatchResult"
          },
          "title": "Batch Results",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "InsertMultipleRowsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_databases — SHOW DATABASES — all accessible databases">
    ### Response

    ```json theme={null}
    {
      "$defs": {
        "DatabaseEntry": {
          "additionalProperties": false,
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "owner": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Owner"
            },
            "created_on": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Created On"
            },
            "comment": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Comment"
            }
          },
          "title": "DatabaseEntry",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "databases": {
          "items": {
            "$ref": "#/$defs/DatabaseEntry"
          },
          "title": "Databases",
          "type": "array"
        },
        "count": {
          "default": 0,
          "title": "Count",
          "type": "integer"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListDatabasesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_schemas — SHOW SCHEMAS IN DATABASE <database>">
    ### Parameters

    <ResponseField name="database" type="string" required>
      Database name
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "SchemaEntry": {
          "additionalProperties": false,
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "database_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Database Name"
            },
            "owner": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Owner"
            },
            "created_on": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Created On"
            },
            "comment": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Comment"
            }
          },
          "title": "SchemaEntry",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "database": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Database"
        },
        "schemas": {
          "items": {
            "$ref": "#/$defs/SchemaEntry"
          },
          "title": "Schemas",
          "type": "array"
        },
        "count": {
          "default": 0,
          "title": "Count",
          "type": "integer"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListSchemasOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_tables — SHOW TABLES IN SCHEMA <database>.<schema>">
    ### Parameters

    <ResponseField name="database" type="string" required>
      Database name
    </ResponseField>

    <ResponseField name="schema_name" type="string" required>
      Schema name
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "TableEntry": {
          "additionalProperties": false,
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "database_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Database Name"
            },
            "schema_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Schema Name"
            },
            "kind": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Kind"
            },
            "owner": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Owner"
            },
            "rows": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Rows"
            },
            "created_on": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Created On"
            },
            "comment": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Comment"
            }
          },
          "title": "TableEntry",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "database": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Database"
        },
        "schema_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Schema Name"
        },
        "tables": {
          "items": {
            "$ref": "#/$defs/TableEntry"
          },
          "title": "Tables",
          "type": "array"
        },
        "count": {
          "default": 0,
          "title": "Count",
          "type": "integer"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListTablesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_warehouses — SHOW WAREHOUSES — compute resources">
    ### Response

    ```json theme={null}
    {
      "$defs": {
        "WarehouseEntry": {
          "additionalProperties": false,
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Name"
            },
            "state": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "State"
            },
            "size": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Size"
            },
            "type": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Type"
            },
            "owner": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Owner"
            },
            "auto_suspend": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Auto Suspend"
            },
            "auto_resume": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Auto Resume"
            },
            "created_on": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Created On"
            },
            "comment": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Comment"
            }
          },
          "title": "WarehouseEntry",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "warehouses": {
          "items": {
            "$ref": "#/$defs/WarehouseEntry"
          },
          "title": "Warehouses",
          "type": "array"
        },
        "count": {
          "default": 0,
          "title": "Count",
          "type": "integer"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListWarehousesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="describe_table — DESCRIBE TABLE — column metadata">
    ### Parameters

    <ResponseField name="table_name" type="string" required>
      Fully qualified table (DATABASE.SCHEMA.TABLE) — or just TABLE if database/schema is set in auth\_data
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "table": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Table"
        },
        "columns": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Columns",
          "type": "array"
        },
        "column_count": {
          "default": 0,
          "title": "Column Count",
          "type": "integer"
        }
      },
      "required": [
        "success"
      ],
      "title": "DescribeTableOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_table_sample — SELECT * FROM table LIMIT N — preview data">
    ### Parameters

    <ResponseField name="table_name" type="string" required>
      Fully qualified table (DATABASE.SCHEMA.TABLE) — or just TABLE if database/schema is set in auth\_data
    </ResponseField>

    <ResponseField name="limit" type="integer">
      Rows to sample (clamped 1-1000) (Default: `10`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "table": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Table"
        },
        "row_count": {
          "default": 0,
          "title": "Row Count",
          "type": "integer"
        },
        "data": {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "title": "Data",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetTableSampleOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Related integrations

<CardGroup cols={3}>
  <Card title="MySQL" href="/integrations/tools/mysql" />

  <Card title="PostgreSQL" href="/integrations/tools/postgresql" />

  <Card title="Supabase" href="/integrations/tools/supabase" />
</CardGroup>

## Links

* [Snowflake](https://www.snowflake.com/)
