Skip to content

Default

Snowflake
API integration

Ship Default features without building the integration. Full Snowflake API access via Proxy, normalized data through Unified APIs, and 200+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
Snowflake

Use Cases

Why integrate with Snowflake

Common scenarios for SaaS companies building Snowflake integrations for their customers.

01

Automate security and access governance across customer Snowflake environments

Security and compliance SaaS platforms can programmatically audit and manage users, roles, grants, and network policies in their customers' Snowflake accounts. This enables continuous RBAC enforcement, SOC2/HIPAA compliance monitoring, and automated remediation without manual intervention.

02

Provision and orchestrate data pipelines on behalf of customers

Data integration or observability SaaS products can create and manage stages, pipes, tasks, dynamic tables, and warehouses directly in a customer's Snowflake instance. This lets you offer turnkey pipeline setup, anomaly-driven pause/resume, and cost-optimized compute scheduling as native product features.

03

Sync identity and role data via a Unified User Directory

Identity providers, HR platforms, and access management tools can leverage Truto's Unified User Directory API to list, create, update, and delete Snowflake users and roles through a standardized interface — the same abstraction that works across dozens of other directory providers.

04

Enable in-place AI inference on customer data without data movement

AI and GenAI SaaS products can invoke Snowflake Cortex inference and Cortex Search Services directly within the customer's environment, generating LLM completions and semantic search results on proprietary data without ever extracting it from Snowflake.

05

Offer warehouse-native analytics and reverse ETL from Snowflake

Product analytics, marketing automation, and billing platforms can query customer Snowflake tables, views, and dynamic tables to pull cohorts, usage metrics, or billing telemetry — powering SaaS features with warehouse-native data freshness.

What You Can Build

Ship these features with Truto + Snowflake

Concrete product features your team can ship faster by leveraging Truto’s Snowflake integration instead of building from scratch.

01

Automated Snowflake RBAC Provisioning

Programmatically create users, assign roles, and manage granular grants and future grants across databases and schemas to enforce least-privilege access policies in customer environments.

02

Dynamic Warehouse Scaling and Cost Controls

Resume, suspend, and resize customer warehouses on demand — spinning up compute only when your product needs it and suspending it immediately after to minimize credit consumption.

03

Self-Service Data Pipeline Builder

Let your users configure automated ingestion pipelines by provisioning stages, Snowpipe pipes, tables, and scheduled tasks directly from your product's UI, with full lifecycle management including pause, resume, and teardown.

04

Cortex-Powered In-Place AI Features

Offer LLM summarization, classification, or Q&A features that run Snowflake Cortex inference completions and Cortex Search against data that never leaves the customer's account.

05

Continuous Compliance Audit Dashboard

Surface a real-time view of network policies, user grants, role assignments, and alert configurations across connected Snowflake accounts to flag misconfigurations and policy drift.

06

Unified User Directory Sync for Snowflake

Use Truto's Unified User Directory API to read and write Snowflake users, roles, and licenses through the same normalized schema your product already uses for other identity providers.

SuperAI

Snowflake AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_snowflake_users

Use this endpoint to retrieve a list of all users.

get_single_snowflake_user_by_id

Use this endpoint to retrieve a single user. It always requires an ID to fetch.

delete_a_snowflake_user_by_id

Use this endpoint to delete a user. It always requires an ID to delete.

create_a_snowflake_user

Create a user in Snowflake with the required name parameter and optional createMode query parameter. Returns user creation status and details including name, email, and roles.

update_a_snowflake_user_by_id

Update a user in Snowflake by specifying the id. Returns the status of the request, indicating success or acceptance for processing.

list_all_snowflake_roles

Use this endpoint to retrieve all the user roles.

create_a_snowflake_role

Create a role in Snowflake with the required name parameter. Returns role details including created_on, owner, is_default, is_current, is_inherited, assigned_to_users, granted_to_roles, and granted_roles.

delete_a_snowflake_role_by_id

Delete a role by id in Snowflake. Supports the ifExists query to handle non-existent roles without error.

list_all_snowflake_accounts

List accessible accounts in Snowflake. Returns account id and name fields for each account.

create_a_snowflake_account

Create an account in Snowflake with required fields name, edition, admin_name, and email. Returns status message indicating success or acceptance of the request.

delete_a_snowflake_account_by_id

Delete the specified account by id in Snowflake. Supports ifExists to avoid error if account does not exist and gracePeriodInDays to specify restoration period. Returns 200 or 202 status.

snowflake_accounts_restore

Restore a dropped account by name in Snowflake. Returns a 200 status for success or 202 if the request is accepted but not completed.

list_all_snowflake_alerts

Use this endpoint to list all alerts in your Snowflake account.

create_a_snowflake_alert

Create an alert in Snowflake with database and schema. Returns status indicating request completion.

get_single_snowflake_alert_by_id

Get alert details by database, schema, and name in Snowflake. Returns alert metadata and status fields.

delete_a_snowflake_alert_by_id

Delete an alert by database, schema, and id in Snowflake. Returns 200 if successful or 202 if request is accepted but not completed. Supports ifExists query to handle non-existent alerts.

snowflake_alerts_execute

Execute an alert in Snowflake with the database, schema, and alert name. Returns a response object indicating success or acceptance status.

snowflake_alerts_clone_alert

Create a new alert by cloning from the specified alert in Snowflake using database, schema, and name. Returns the created alert details.

list_all_snowflake_views

List views in Snowflake for the specified database and schema. Returns view names and optionally their dependency information if deep parameter is true.

create_a_snowflake_view

Create a view in Snowflake with database and schema. Returns view name, columns, query, and creation details.

get_single_snowflake_view_by_id

Get information about a specific view in Snowflake using database, schema, and id. Returns details of the view resource.

delete_a_snowflake_view_by_id

Delete a view by database, schema, and id in Snowflake. Returns success status 200 or 202 based on request processing. Supports ifExists query to handle non-existent views gracefully.

list_all_snowflake_warehouses

List warehouses in Snowflake. Returns warehouse names and details matching the like parameter.

create_a_snowflake_warehouse

Create or replace a virtual warehouse in Snowflake. Returns the created warehouse details upon success.

get_single_snowflake_warehouse_by_id

Get information about a specific warehouse by id in Snowflake. Returns detailed warehouse description including configuration and status fields.

delete_a_snowflake_warehouse_by_id

Delete a virtual warehouse by id in Snowflake. Returns a success status. Use ifExists to avoid errors if the warehouse does not exist.

update_a_snowflake_warehouse_by_id

Update a warehouse by id in Snowflake. Returns warehouse properties including state, started_clusters, running, queued, created_on, updated_on, and owner.

snowflake_warehouses_resume

Resume a suspended warehouse by warehouse name in Snowflake. Returns 200 if successful or 202 if request accepted but not completed.

snowflake_warehouses_suspend

Suspend a warehouse by name in Snowflake. Removes all compute nodes and sets the warehouse to 'Suspended' state if not already suspended. Returns 200 or 202 status on success.

snowflake_warehouses_rename

Update and rename a warehouse by specifying a new unique identifier 'name' in Snowflake. Includes handling for non-existent warehouses with ifExists parameter. Returns success status.

snowflake_warehouses_abort_queries

Abort all queries currently running or queued on the warehouse identified by name in Snowflake. Supports ifExists parameter to handle non-existent warehouses without error.

list_all_snowflake_user_defined_functions

List user-defined-functions in Snowflake for database and schema. Returns user-defined-function names and details filtered by database and schema.

create_a_snowflake_user_defined_function

Create a user-defined function in Snowflake for the specified database and schema. Returns a response object indicating success or acceptance of the request.

get_single_snowflake_user_defined_function_by_id

Get information about a specific user-defined function in Snowflake by database, schema, and id. Returns fields including name, arguments, return_type, language_config, comment, body, created_on, and ownership details.

delete_a_snowflake_user_defined_function_by_id

Delete a user-defined function by database, schema, and id in Snowflake. Returns success status upon completion or acceptance.

snowflake_user_defined_functions_rename

Rename a user-defined function identified by it's name in Snowflake with parameters database and schema. Returns success status of the rename operation.

list_all_snowflake_user_grants

List all grants to the user in Snowflake. Requires the name of the user. Returns grants with details about each grant assigned to the user.

create_a_snowflake_user_grant

Grant a role to the user identified by name in Snowflake. Returns details including created_on and granted_by fields indicating grant creation time and granting role.

snowflake_user_grants_revoke

Revoke grants from the user identified by name in Snowflake. Requires securable details including name, containing_scope with database and securable_type ROLE, and privileges. Returns success status.

list_all_snowflake_tasks

List tasks under the database and schema in Snowflake. Requires database and schema. Returns task details including task names and properties.

create_a_snowflake_task

Create a task in Snowflake with database and schema. Returns task id, name, state, owner, created_on, last_committed_on, and schema_name fields.

get_single_snowflake_task_by_id

Get information about a specific task by database, schema, and id in Snowflake. Returns task details from the describe command output.

update_a_snowflake_task_by_id

Update a task in Snowflake with database, schema, and name. Returns task id, state, owner, creation and modification timestamps, and parent database and schema names.

delete_a_snowflake_task_by_id

Delete a task by name in Snowflake using database and schema. Supports ifExists parameter to avoid error if task does not exist. Returns 200 or 202 status on success.

snowflake_tasks_execute

Execute a task in Snowflake identified by database, schema, and task name. Supports asynchronous execution and retrying the last failed run. Returns 200 for success or 202 if accepted but not completed.

snowflake_tasks_resume

Resume a suspended task identified by database, schema, and task name in Snowflake. Returns a response object indicating the request status.

snowflake_tasks_suspend

Suspend a running task identified by id in Snowflake within the specified database and schema. Returns status of the suspend operation.

list_all_snowflake_dependant_tasks

Get the dependent tasks of a task in Snowflake using database, schema, and task name. Returns dependent tasks with details about each dependent task.

list_all_snowflake_tasks_current_graphs

Get graph runs currently executing or scheduled within the next 8 days for the task identified by its name in Snowflake. Returns details of graph runs, including execution status and schedule.

list_all_snowflake_tasks_complete_graphs

Get completed graph runs for the task identified by name in Snowflake. It requires a database, schema, and task name. Returns details of completed graph runs, including status and timestamps.

list_all_snowflake_catelog_integrations

List catalog integrations in Snowflake.

create_a_snowflake_catelog_integration

Create a catalog integration in Snowflake with the required name and catalog parameters. Returns the created integration details including type, category, and creation timestamp.

get_single_snowflake_catelog_integration_by_id

Get information about a specific catalog integration by id in Snowflake. Returns details of the integration resource.

delete_a_snowflake_catelog_integration_by_id

Delete a catalog integration by id in Snowflake. Returns 200 if successful or if ifExists is true and the resource does not exist, or 202 if the request is accepted but not completed.

list_all_snowflake_compute_pools

List compute pools in Snowflake. Returns compute pool details such as name and status.

create_a_snowflake_compute_pool

Create a compute pool in Snowflake with required parameters name, min_nodes, max_nodes, and instance_family. Returns the created compute pool details including state, created_on, owner, and status_message.

get_single_snowflake_compute_pool_by_id

Get information about a specific compute pool by id in Snowflake. Returns details of the compute pool identified by name.

update_a_snowflake_compute_pool_by_id

Update a compute pool in Snowflake with name, min_nodes, max_nodes, and instance_family. Returns state, num_services, num_jobs, active_nodes, idle_nodes, target_nodes, created_on, resumed_on, updated_on, owner, is_exclusive, application, budget, error_code, and status_message.

delete_a_snowflake_compute_pool_by_id

Delete a compute pool by id in Snowflake. Supports ifExists parameter to avoid error if the compute pool does not exist. Returns 200 on success or 202 if request is accepted but not completed.

snowflake_compute_pools_resume

Resume a suspended compute pool by name in Snowflake. If the compute pool is already running, no action is taken. Returns a 200 status for success or 202 if the request is accepted but not completed.

snowflake_compute_pools_suspend

Suspend an active compute pool by name in Snowflake. Returns 200 if successful or 202 if the request is accepted but not completed. No action if the pool is already suspended.

snowflake_compute_pools_stop_all_services

Stop all services on the compute pool identified by its name in Snowflake.

snowflake_cortex_inference_complete

Perform LLM text completion inference in Snowflake using the model and messages parameters. Returns choices containing the generated completions.

list_all_snowflake_databases

List accessible databases in Snowflake. Returns database names and details. Supports filtering by like, startsWith, showLimit, fromName, and history parameters.

get_single_snowflake_database_by_id

Get information about a specific database in Snowflake by id. Returns database details including status and metadata.

create_a_snowflake_database

Create a database in Snowflake with full database definition. Supports createMode for errorIfExists, orReplace, or ifNotExists, and kind for database type (transient or permanent). Returns response object with creation status.

snowflake_databases_clone

Clone an existing database in Snowflake by name with required full database definition and point_of_time. Returns database creation details including name, kind, created_on, and owner.

update_a_snowflake_database_by_id

Update a database in Snowflake by specifying the full database definition with name. Returns database details including created_on, owner, retention_time, and other configuration fields.

delete_a_snowflake_database_by_id

Delete a database by name in Snowflake. Use ifExists to avoid error if database does not exist. Use restrict to control dropping with foreign key references. Returns 200 or 202 status.

snowflake_databases_undrop

Undrop a database by name in Snowflake. Returns a 200 status for success or 202 if the request is accepted but not completed.

list_all_snowflake_cortex_search_service

Query a Cortex Search Service in Snowflake using database, schema, and service_name. Returns search results with specified columns based on the unstructured text query.

create_a_snowflake_database_from_share

Create a database from a share using share and createMode parameters in Snowflake. Returns success status of the creation request.

snowflake_database_replication_enable

Enable replication for a local database identified by database name in Snowflake by promoting it as a primary database. Returns status of the replication enablement request.

snowflake_database_replication_disable

Disable replication for the primary database identified by database name in Snowflake. Requires name and accounts array. Returns success status indicating if the request was accepted or completed.

snowflake_database_replication_refresh

Refresh a secondary database replication from a snapshot of its primary database in Snowflake using name. Returns status of the refresh request. Only one refresh can run at a time per replica database.

snowflake_database_failover_enable

Enable database failover for database with database name in Snowflake by specifying a list of accounts where a replica can be promoted as primary.

snowflake_database_failover_disable

Disable failover for the primary database in Snowflake using the database name. This prevents any secondary database from being promoted to primary.

snowflake_database_failover_sets_primary_database

Promote the specified secondary database identified by database name to primary in Snowflake. The promoted database becomes writable, and the previous primary becomes read-only.

list_all_snowflake_database_roles

List database roles for the specified database in Snowflake. Returns roles with their details such as role name and privileges.

create_a_snowflake_database_role

Create a database role in Snowflake for the specified database. Returns details including name, comment, created_on, granted_to_roles, granted_to_database_roles, granted_database_roles, owner, and owner_role_type.

delete_a_snowflake_database_role_by_id

Delete a database role by database and id in Snowflake. Returns 200 if successful or 202 if request accepted but not completed.

snowflake_database_roles_clone

Create a new database role by cloning from the specified resource in Snowflake. Requires database and id. Returns success status of the clone operation.

list_all_snowflake_database_role_grants

List all grants to the role with the role name in the database in Snowflake. Returns grant details, including privileges and roles granted.

create_a_snowflake_database_role_grant

Grant privileges to the role with the role name in the specified database in Snowflake. Requires database_name and database_role_name. Returns grant creation status.

snowflake_database_role_grants_revoke

Revoke grants from the role identified by role name in Snowflake for the database specified by database. The response indicates success or acceptance of the revoke operation.

list_all_snowflake_database_role_future_grants

List all future grants to the role with name in database in Snowflake. Returns future_grants including grant details.

create_a_snowflake_database_role_future_grant

Grant future privileges to the role identified by name in Snowflake for the database specified by database. Returns details of the granted privileges, including created_on and granted_by.

snowflake_database_role_future_grants_revoke

Revoke future grants from the role with name in database using Snowflake. Requires database and name. Returns success status of the revoke operation.

list_all_snowflake_dynamic_tables

List dynamic tables under the specified database and schema in Snowflake. Requires database and schema. Returns dynamic table details including dependency information if requested.

get_single_snowflake_dynamic_table_by_id

Get a dynamic table by using the database name, schema, and name in Snowflake. Returns details of the dynamic table, including its structure and metadata.

create_a_snowflake_dynamic_table

Create a dynamic table in Snowflake with the required parameters database_name, database_schema, and request body including name, warehouse, and query. Returns details such as created_on, rows, bytes, scheduling_state, and owner.

delete_a_snowflake_dynamic_table_by_id

Delete a dynamic table by name in Snowflake using database_name and database_schema identifiers. Returns success status if the table is deleted or if ifExists is true and the table does not exist.

snowflake_dynamic_tables_clone

Create a new dynamic table by cloning the specified dynamic table with the name in Snowflake. Requires database_name, database_schema, and dynamic_table_name parameters. Returns the created dynamic table details.

snowflake_dynamic_tables_undrop

Undrop specified dynamic table identified by id in Snowflake within the given database and schema. Returns a response object indicating success or acceptance of the request.

snowflake_dynamic_tables_suspend

Suspend refreshes on the dynamic table identified by name in Snowflake using database and schema parameters. It returns 200 if successful or 202 if the request is accepted but not completed.

snowflake_dynamic_tables_resume

Resume refreshes on the dynamic table in Snowflake using database, schema, and dynamic table name. Returns 200 on success or 202 if the request is accepted but not completed.

snowflake_dynamic_tables_refresh

Refresh the dynamic table identified by name in Snowflake for the specified database and schema. Returns 200 if refreshed or 202 if request accepted but not completed.

snowflake_dynamic_tables_suspend_recluster

Suspend the recluster of a dynamic table in Snowflake using the database, schema, and dynamic table name. Returns 200 if successful or 202 if request accepted but not completed.

snowflake_dynamic_tables_resume_recluster

Resume recluster of a dynamic table in Snowflake using database, schema, and dynamic table name. Returns 200 if successful or 202 if request accepted but not completed.

snowflake_dynamic_tables_swap

Swap a dynamic table identified by name with another dynamic table in Snowflake. It requires a database, schema, name, and targetName. Returns 200 or 202 status indicating swap success or acceptance.

list_all_snowflake_event_tables

List event tables for the specified database and schema in Snowflake. Returns event table names and metadata.

create_a_snowflake_event_table

Create an event table in Snowflake with database and schema. Returns fields including name, cluster_by, data_retention_time_in_days, change_tracking, comment, created_on, owner, rows, bytes, columns, and search optimization details.

get_single_snowflake_event_table_by_id

Get details of a specific event table by database, schema, and id in Snowflake. Returns event table metadata and configuration.

delete_a_snowflake_event_table_by_id

Delete an event table identified by database, schema, and id in Snowflake. Returns 200 if successful or if ifExists is true and the table does not exist, or 202 if the request is accepted but not completed.

snowflake_event_tables_rename

Rename the event table identified by id in Snowflake within the specified database and schema. Returns the success status of the rename operation.

list_all_snowflake_external_volumes

List external volumes in Snowflake filtered by optional like parameter. Returns external volume details matching the filter.

create_a_snowflake_external_volume

Create an external volume in Snowflake with a unique name and specified storage locations. Returns creation details including created_on, owner, and owner_role_type.

get_single_snowflake_external_volume_by_id

Get information about a specific external volume in Snowflake by name. Returns details of the external volume resource.

delete_a_snowflake_external_volume_by_id

Delete an external volume by id in Snowflake. Returns 200 if successful or if ifExists is true and the volume does not exist, or 202 if the request is accepted but not completed.

snowflake_external_volumes_undrop

Undrop an external volume by name in Snowflake. Returns a response object indicating the success or acceptance of the undrop operation.

list_all_snowflake_functions

List user functions under the specified database and schema in Snowflake. Returns function names and details filtered by database and schema.

create_a_snowflake_function

Create a function in Snowflake with database and schema parameters. Returns function details including name, arguments, return type, language, and creation timestamp.

get_single_snowflake_function_by_id

Get details of a specific function by database, schema, and function id in Snowflake. Returns function metadata including name, arguments, and return type.

delete_a_snowflake_function_by_id

Delete a function by id in Snowflake using database and schema identifiers. Returns success status 200 or 202 if accepted but not completed.

snowflake_functions_execute

Execute a function in Snowflake with the database, schema, and function name. Returns execution result or status.

list_all_snowflake_image_repositories

List image repositories under the specified database and schema in Snowflake. Requires database and schema. Returns image repository details.

create_a_snowflake_image_repository

Create an image repository in Snowflake specifying database and schema with createMode. Returns repository details including name, created_on, repository_url, owner, and owner_role_type.

get_single_snowflake_image_repository_by_id

Get information about a specific image repository by database, schema, and id in Snowflake. Returns details of the image repository, including its properties.

delete_a_snowflake_image_repository_by_id

Delete an image repository by id in Snowflake using the database and schema. Supports the ifExists query to avoid error if the repository does not exist. Returns 200 or 202 status.

snowflake_image_repositories_images

List images in the image repository with the name in Snowflake. Returns an image array with image details.

list_all_snowflake_managed_accounts

List accessible managed accounts in Snowflake. Supports filtering by resource name using the like query parameter. Returns managed account details.

create_a_snowflake_managed_account

Create a managed account in Snowflake. Requires name, admin_name, admin_password, and account_type. Returns account details including cloud, region, locator, created_on, url, account_locator_url, and comment.

delete_a_snowflake_managed_account_by_id

Delete a managed account by id in Snowflake. This operation removes the account and all objects created in it, immediately restricting access. Returns status 200 if successful or 202 if the request is accepted but not completed.

list_all_snowflake_network_policies

List network policies in Snowflake. Returns network_policies array with details of each policy.

create_a_snowflake_network_policy

Create a network policy in Snowflake with the required name parameter. Returns the created network policy details including name, allowed and blocked network rules and IP lists, comment, created_on timestamp, owner, and owner_role_type.

get_single_snowflake_network_policy_by_id

Get information about a specific network policy by id in Snowflake. Returns the network_policy object with details of the policy.

delete_a_snowflake_network_policy_by_id

Delete a network policy by id in Snowflake. Requires id. Supports the ifExists query parameter to avoid error if the policy does not exist. Returns 200 on success or 202 if the request is accepted but not completed.

list_all_snowflake_notebooks

List notebooks for the specified database and schema in Snowflake. Returns notebook names and details.

get_single_snowflake_notebook_by_id

Get a notebook by database, schema, and id in Snowflake. Returns notebook details including its name and content.

create_a_snowflake_notebook

Create a notebook in Snowflake specifying database and schema. Returns details including notebook name, version, main_file, comment, query_warehouse, and creation timestamp.

delete_a_snowflake_notebook_by_id

Delete a notebook identified by id in Snowflake under the specified database and schema. Supports ifExists parameter to avoid error if notebook does not exist.

snowflake_notebooks_execute

Execute a notebook identified by its name in Snowflake using database and schema. Returns execution status and results if completed.

snowflake_notebooks_rename

Change the name of the notebook identified by its name in Snowflake. Requires database, schema, and name. The new name must be unique within the schema. Returns the success status of the rename operation.

snowflake_notebooks_add_live_version

Add a LIVE version to the notebook identified by the name of the notebook in Snowflake using the database and schema. Supports setting the LIVE version to the last version with fromLast and adding a comment. Returns the status of the request.

snowflake_notebooks_commit

Commit the LIVE version of the notebook identified by name in the specified database and schema to the Git repository in Snowflake. Returns success status of the commit operation.

list_all_snowflake_notification_integrations

List notification integrations. Returns the integration id and name for each notification integration in Snowflake.

get_single_snowflake_notification_integration_by_id

Get information about a specific notification integration by id in Snowflake. Returns details of the notification integration resource.

create_a_snowflake_notification_integration

Create a notification integration in Snowflake with required name and notification_hook. Returns the created notification integration details including name, enabled status, comment, created_on, and notification_hook.

delete_a_snowflake_notification_integration_by_id

Delete a notification integration by id in Snowflake. Requires name. It supports the ifExists query parameter in controlling behavior when the resource does not exist.

list_all_snowflake_pipes

List pipes in Snowflake for the specified database and schema. Returns pipe names and details matching the required database and schema parameters.

get_single_snowflake_pipe_by_id

Get information about a specific pipe in Snowflake. Requires database, schema, and id. Returns pipe details including configuration and status.

create_a_snowflake_pipe

Create a pipe in Snowflake with database and schema. Requires name and copy_statement. Returns created_on, database_name, schema_name, owner, pattern, owner_role_type, invalid_reason, and budget fields in the response.

delete_a_snowflake_pipe_by_id

Delete a pipe identified by id in Snowflake within the specified database and schema. The response indicates success or acceptance of the deletion request.

snowflake_pipes_refresh

Refresh the pipe identified by name in Snowflake within the specified database and schema. Returns 200 if successful or 202 if the request is accepted but not completed.

list_all_snowflake_procedures

List procedures for the specified database and schema in Snowflake. Returns procedure names and details matching the database and schema parameters.

get_single_snowflake_procedure_by_id

Get information about a specific procedure by database, schema, and procedure id in Snowflake. Returns procedure details including name, arguments, and definition.

create_a_snowflake_procedure

Create a procedure in Snowflake specifying database and schema. Returns the created procedure details including name, arguments, return type, language, and body.

delete_a_snowflake_procedure_by_id

Delete a procedure identified by database, schema, and id in Snowflake. Returns success status without content. Use ifExists to avoid errors if the procedure does not exist.

snowflake_procedures_call

Call a procedure in Snowflake with database, schema, and id. Returns a response object indicating the call status.

get_single_snowflake_result_by_id

Get the status of the result or fetch the result in Snowflake using the id. Depending on completion, it returns status or result data.

list_all_snowflake_schemas

List accessible schemas for the database specified by database in Snowflake. Returns schema names and details. Supports filtering by like, startsWith, showLimit, fromName, and history parameters.

get_single_snowflake_schema_by_id

Get schema details for a specific database and schema name in Snowflake. Requires database_name and id parameters. Returns schema information, including metadata and structure.

create_a_snowflake_schema

Create a schema in Snowflake with the required database parameter. Returns schema details including name, kind, created_on, owner, and retention_time.

snowflake_schemas_clone

Clone an existing schema identified by the database and schema name in Snowflake. It requires a full schema definition in the request body. Supports createMode, kind, and targetDatabase as query parameters. Returns the status of the clone operation.

snowflake_schemas_undrop

Undrop a schema identified by name in the specified database in Snowflake. Returns a response object indicating success or acceptance of the undrop request.

update_a_snowflake_schema_by_id

Create or alter a schema with id in database using Snowflake. Returns schema details including created_on, name, kind, owner, and retention_time.

delete_a_snowflake_schema_by_id

Delete a schema by database and id in Snowflake. Supports ifExists to avoid error if schema does not exist, and restrict to control dropping with foreign key references. Returns 200 or 202 status.

list_all_snowflake_services

List services under the specified database and schema in Snowflake. Requires database and schema. Returns service details including service names.

get_single_snowflake_service_by_id

Get information about a specific service by database, schema, and id in Snowflake. Returns service details including key attributes of the service.

create_a_snowflake_service

Create a service in Snowflake with required parameters database, schema, name, compute_pool, and spec. Returns service details including name, status, owner, DNS name, and timestamps.

snowflake_services_execute_job_service

Create and execute a job service in Snowflake with database and schema. Returns the job execution response object.

update_a_snowflake_service_by_id

Update a service with the id in Snowflake under the specified database and schema. Returns service details including current_instances, target_instances, status, dns_name, owner, and timestamps for creation and updates.

delete_a_snowflake_service_by_id

Delete a service by database, schema, and id in Snowflake. Use ifExists to avoid error if the service does not exist. Returns 200 on success or 202 if request accepted but not completed.

snowflake_services_status

Fetch the status of a specific service by database, schema, and service name in Snowflake. Returns the current state or steady state if reached within the timeout.

snowflake_services_resume

Resume a service identified by name in Snowflake within the specified database and schema. Returns a 200 or 202 status indicating success or acceptance of the request.

snowflake_services_suspend

Suspend a service by database, schema, and id in Snowflake. Returns 200 if successful or 202 if request is accepted but not completed. Supports ifExists to handle non-existent resources.

list_all_snowflake_service_logs

Fetch logs for a given service identified by database, schema, and service name in Snowflake. Returns log lines with details about the service instance and container name if specified.

list_all_snowflake_service_containers

List all containers of the service in Snowflake using database, schema, and service name. Returns container details in the response.

list_all_snowflake_service_instances

List all instances of the service in Snowflake for the specified database, schema, and service name. Returns instance details in the response.

list_all_snowflake_service_roles

List all the service roles of the service in Snowflake. Requires database, schema, and service name. Returns roles with their details.

snowflake_service_roles_grants

List all the grants of the service role with the name in Snowflake for the specified database, schema, and service. Returns grants, including their details.

snowflake_service_roles_grants_given

List all the grants given to the service role with the name in Snowflake for the specified database, schema, and service. Returns grants, including their details.

list_all_snowflake_service_endpoints

List endpoints in a Snowpark Container Services service using database, schema, and service name. Returns endpoint details in the response.

list_all_snowflake_stages

List stages under the specified database and schema in Snowflake. Requires database and schema. Returns stage names and details.

get_single_snowflake_stage_by_id

Get information about a specific stage using database, schema, and id in Snowflake. Returns stage details from the describe command output.

create_a_snowflake_stage

Create a stage in Snowflake with required parameters database and schema. Returns stage details including name, kind, url, storage_integration, comment, owner, region, and cloud.

delete_a_snowflake_stage_by_id

Delete a stage by id in Snowflake using database and schema. Supports ifExists parameter to avoid error if the stage does not exist. Returns 200 or 202 status on success.

snowflake_stages_files

List files in the stage with database, schema, and stage name. Returns file details matching the optional pattern filter.

snowflake_stage_file_presigned_url_presigned_url

Generate a presigned URL for uploading or downloading a file at the specified filePath in the stage name within schema and database in Snowflake. Returns the presigned URL and optionally encryption materials.

list_all_snowflake_streams

List streams in Snowflake for the specified database and schema. Returns stream names and metadata.

get_single_snowflake_stream_by_id

Get information about a specific stream in Snowflake. Requires database, schema, and id. Returns details of the stream resource.

delete_a_snowflake_stream_by_id

Delete a stream by database, schema, and id in Snowflake. Returns success status 200 or 202. Use ifExists to avoid error if stream does not exist.

snowflake_streams_clone

Clone a stream with its name in Snowflake using the database, schema. Returns the cloned stream object with its details.

create_a_snowflake_stream

Create a stream in Snowflake with required parameters database and schema. Returns stream details including name, creation time, source table, owner, mode, and staleness status.

list_all_snowflake_tables

List tables under the specified database and schema in Snowflake. Requires database and schema. Returns table names and details.

create_a_snowflake_table

Create a table in Snowflake specifying database and schema. Returns table name, kind, columns, created_on, database_name, schema_name, rows, bytes, owner, and table_type.

get_single_snowflake_table_by_id

Get information about a specific table in Snowflake using database, schema, and id. Returns table details from the describe command output.

update_a_snowflake_table_by_id

Update a table with id in Snowflake under the specified database and schema. Returns table metadata including created_on, database_name, schema_name, rows, bytes, owner, dropped_on, automatic_clustering, search_optimization, search_optimization_progress, search_optimization_bytes, owner_role_type, budget, and table_type.

delete_a_snowflake_table_by_id

Delete a table by database, schema, and id in Snowflake. Returns success status if the table is deleted or if ifExists is true and the table does not exist.

snowflake_tables_clone

Create a new table by cloning an existing table in Snowflake. Requires database, schema, and name of the source table. Returns the cloned table's name, kind, columns, created_on, database_name, schema_name, rows, bytes, owner, and table_type.

snowflake_tables_create_like

Create a new empty table like the specified table in Snowflake. Requires database, schema, and name. Supports createMode and copyGrants query parameters. Returns the created table resource.

snowflake_tables_undrop

Undrop specified table identified by database, schema, and table name in Snowflake. Returns a response object indicating success or acceptance of the undrop request.

snowflake_tables_suspend_recluster

Suspend recluster of a table in Snowflake using database, schema, and table name. Returns 200 if successful or 202 if request accepted but not completed.

snowflake_tables_resume_recluster

Resume recluster of a table identified by database, schema, and table name in Snowflake. Returns 200 if successful or 202 if the request is accepted but not completed. Handles non-existence based on ifExists parameter.

snowflake_tables_swap_with

Swap the table identified by its name with another table specified by targetName, optionally in targetDatabase and targetSchema, in Snowflake. Returns 200 on success or 202 if the request is accepted but not completed.

create_a_snowflake_table_using_templete

Create a table using template in Snowflake with database and schema. Returns the created table's details including name. Requires name in request body.

create_a_snowflake_table_using_select_query

Create a table using the result of the specified select query in Snowflake. Requires database, schema, and request body with table name and columns. Supports createMode and copyGrants query parameters.

list_all_snowflake_role_grants

List all grants to the role with its name in Snowflake. Returns grants, including key details about each grant.

create_a_snowflake_role_grant

Grant privileges to the role identified by id in Snowflake. Requires securable details including name, containing_scope with database, securable_type, and privileges. Returns grant creation status.

snowflake_role_grants_revoke

Revoke grants from the role with the name, including containing_scope, securable_type, and privileges. The mode query parameter controls the revoke behavior and returns a success status.

snowflake_role_grants_grants_of

List all grants of the role with name. Returns grants including key details about each grant in Snowflake.

snowflake_role_grants_grants_on

List all grants on the role with name. Returns grants including details about the granted privileges and objects.

list_all_snowflake_role_future_grants

List all future grants to the role with name. Returns future_grants array containing details of each grant.

create_a_snowflake_role_future_grant

Grant future privileges to the role identified by its name in Snowflake. It requires securable details, including name, containing_scope with database, and securable_type, and privileges. Returns grant creation details, including created_on and granted_by.

snowflake_role_future_grants_revoke

Revoke future grants from the role with its name. The response confirms the revoke operation status.

Why Truto

Why use Truto’s MCP server for Snowflake

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Snowflake

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified User Directory API

Licenses

Licenses represent concepts like user seats in apps that support them

View Docs

Roles

The Role object represents a role of a User.

View Docs

Users

The User object represents a User.

View Docs

How It Works

From zero to integrated

Go live with Snowflake in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Snowflake account

Use Truto’s frontend SDK to connect your customer’s Snowflake account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Snowflake

Truto’s Proxy API is a 1-to-1 mapping of the Snowflake API. You call us, we call Snowflake, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Snowflake’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Snowflake on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication methods does the Snowflake integration support?

Truto handles Snowflake authentication on your behalf, supporting key-pair and OAuth-based auth flows. Your end users connect their Snowflake accounts through Truto's managed auth layer, so you never handle raw credentials directly.

Which Snowflake resources can I manage through Truto?

The integration covers a broad control plane: users, roles, grants (including future grants), databases, schemas, tables, views, dynamic tables, warehouses, tasks, stages, pipes, streams, alerts, compute pools, functions, procedures, services, network policies, notification integrations, notebooks, event tables, external volumes, image repositories, catalog integrations, and Cortex inference and search endpoints.

Does Truto provide a Unified API for Snowflake user and role management?

Yes. Snowflake is mapped to Truto's Unified User Directory API, which normalizes Users, Roles, and Licenses. You can list, create, update, and delete users and roles through the same standardized schema used across other directory integrations.

Can I manage warehouse lifecycle (start, stop, scale) programmatically?

Absolutely. The integration supports creating, updating, resuming, suspending, renaming, and deleting warehouses, as well as aborting in-flight queries — giving you full programmatic control over compute resources and costs.

How does Truto handle pagination and rate limits for Snowflake APIs?

Truto abstracts away Snowflake's pagination mechanics automatically. When you call list endpoints (e.g., list all tables or list all users), Truto handles cursor-based pagination internally and returns complete result sets. Rate limit retries are managed by the platform.

Can I invoke Snowflake Cortex LLM inference through Truto?

Yes. The snowflake_cortex_inference_complete tool lets you trigger LLM text completions directly within the customer's Snowflake environment. You can also list and create Cortex Search Services for semantic search over enterprise data.

Snowflake

Get Snowflake integrated into your app

Our team understands what it takes to make a Snowflake integration successful. A short, crisp 30 minute call with folks who understand the problem.

Talk to us