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 usUse Cases
Why integrate with Snowflake
Common scenarios for SaaS companies building Snowflake integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
How It Works
From zero to integrated
Go live with Snowflake in under an hour. No boilerplate, no maintenance burden.
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.
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.
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.
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