Snowflake
Bring your business data together in Snowflake, and act on it in the apps your team already uses.
28 ways to read, 4 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Snowflake, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Insert rows
row_batches.createApproval by rule - Insert row
rows.createApproval by rule - List columns
columns.listRead
Example flow
- Snowflake · List columns
columns.listDone - Snowflake · Insert rows
row_batches.createMaker-checker - Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Snowflake.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Snowflake
- Snowflake's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Warehouses, users, roles, grants, databases, schemas, tables, views, stages, tasks, pipes and query history, plus read-only saved queries, parameterised row search, and single-row or 500-row batch MERGE and INSERT.
Snowflake API docs- Source actions
- 28
- Destination actions
- 4
- Data types
- 20
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
columns1
- List columnsSource
Lists columns from INFORMATION_SCHEMA with a bounded, parameterised query.
databases2
- Get databaseSource
Describes one database through the Snowflake REST API.
- List databasesSource
Lists databases visible to the role (SHOW DATABASES, first page only).
grants1
- List grantsSource
Lists privileges and roles granted to a role or a user (SHOW GRANTS TO) through the REST API.
pipes2
- Get pipeSource
Describes one pipe through the Snowflake REST API.
- List pipesSource
Lists pipes through the Snowflake REST API (no warehouse compute).
query history1
- List query historySourceIncremental
Reads query history with a generated, parameterised SELECT over INFORMATION_SCHEMA.QUERY_HISTORY (last 7 days) or SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY (365 days, up to 45 minutes latency).
query results1
- Run a read-only querySource
Runs one SELECT (or WITH) query you write, for example a saved report, with ? parameters and a row cap per page. Nothing can be changed by it.
roles1
- List rolesSource
Lists roles through the Snowflake REST API (no warehouse compute).
row batches2
- Insert rowsDestinationNot retried automaticallyApproval before production
INSERTs up to 500 rows into a table in one statement using bound parameters, for example a day's paid orders.
- Upsert rowsDestinationNot retried automaticallyApproval before production
MERGEs up to 500 rows into a table by key columns in one statement, so re-running a load updates rows instead of duplicating them.
rows3
- Insert rowDestinationNot retried automaticallyApproval before production
INSERTs one row into a table using bound parameters.
- Search table rowsSourceIncremental
Reads rows from one table with a generated, parameterised SELECT (validated columns, filters, updated-since and LIMIT).
- Upsert rowDestinationNot retried automaticallyApproval before production
MERGEs one row into a table by key columns using bound parameters.
schemas2
- Get schemaSource
Describes one schema through the Snowflake REST API.
- List schemasSource
Lists schemas from INFORMATION_SCHEMA with a bounded, parameterised query.
session1
- Get session contextSource
Returns the account, user, role, warehouse and database the connection runs as.
stage files1
- List stage filesSource
Lists files in a stage (LIST @stage) through the REST API.
stages2
- Get stageSource
Describes one stage through the Snowflake REST API.
- List stagesSource
Lists stages through the Snowflake REST API (no warehouse compute).
statements1
- Get statement resultSource
Reads the status or a result partition of a statement Nexra submitted earlier.
tables2
- Get tableSource
Describes one table through the Snowflake REST API.
- List tablesSource
Lists tables from INFORMATION_SCHEMA with a bounded, parameterised query.
task runs1
- List task graph runsSource
Lists completed graph runs for a root task in the last 60 minutes to 7 days (TASK_HISTORY).
tasks2
- Get taskSource
Describes one task through the Snowflake REST API.
- List tasksSource
Lists tasks through the Snowflake REST API (no warehouse compute).
users2
- Get userSource
Describes one user through the Snowflake REST API.
- List usersSource
Lists users through the Snowflake REST API (no warehouse compute).
views2
- Get viewSource
Describes one view through the Snowflake REST API.
- List viewsSource
Lists views through the Snowflake REST API (no warehouse compute).
warehouses2
- Get warehouseSource
Describes one warehouse through the Snowflake REST API.
- List warehousesSource
Lists warehouses through the Snowflake REST API (no warehouse compute).
Access and limits
- Authentication
- Key-pair authentication (JWT) or programmatic access token
- Plans and access
- All Snowflake editions. Statements run as the configured user, role and warehouse; grants on databases, schemas and tables apply. Warehouse time is billed in credits.
- Test environment
- Snowflake offers a 30-day trial account with free credits.
- Rate limits
- Concurrency follows warehouse size and queueing; the SQL API returns HTTP 429 when too many requests are in flight.
- Pagination
- Generated LIMIT/OFFSET (up to 1000 rows per page) for SQL reads; REST listings page with showLimit and fromName (the last name of the previous page).
- Provider events
- None for table data (Snowflake alerts and streams are separate). Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Free-form SQL writes are not accepted: writes are generated INSERT and MERGE statements with bound parameters. Run a read-only query accepts one SELECT or WITH query, runs it as a row-capped subquery with the statement count pinned to 1, and refuses semicolons and SYSTEM$ functions; use a read-only query role.
- Batch inserts and upserts take up to 500 rows (10,000 values) per run; larger loads run across flow batches.
- Row searches, upserts and inserts consume billable warehouse credits and are not retried automatically.
- Statements wait up to 45 seconds; longer statements return a handle to read later with statements.get.
- Only the first result partition is returned by searches; use statements.get for further partitions of large results.
- Identifiers are quoted exactly as given, so use the case returned by columns.list (usually upper case).
- OAuth (Snowflake or external) tokens are not supported; use key-pair or a programmatic access token.
- Warehouses, users, roles, grants, views, stages, tasks, pipes and object details use the Snowflake REST API v2 (https://docs.snowflake.com/en/developer-guide/snowflake-rest-api/reference) with X-Snowflake-Role and X-Snowflake-Warehouse context headers; they use no warehouse compute except task graph runs.
- Warehouse, stage and pipe listings and grants return in one response because the REST API documents no paging for them; use a name pattern for large accounts.
- Query history runs a bounded, parameterised SELECT on the warehouse (billable). Query text is returned only when includeQueryText is true because it can contain literal values.
- Intentionally excluded: creating, altering, dropping, cloning or undropping databases, schemas, tables, views, stages, tasks, pipes, users, roles and warehouses; granting or revoking privileges; resuming, suspending or aborting warehouses; executing, resuming or suspending tasks; refreshing pipes; stage presigned URLs. These change account security, cost or data and are left to Snowflake administrators.
Developer reference
- Create the Snowflake credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Snowflake, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/snowflake and the Connections API.