Skip to main content

Customer Data: Discover Datasets

Auto-discover the structure of YOUR organization's own connected Snowflake data (not HG Insights data). Scans the connected Snowflake account, scores tables for how account-like they are, and proposes field mappings (e.g. account name, domain, ID) with confidence levels — a fast way to learn what customer datasets and tables are available without knowing the schema up front.

Runs asynchronously: start a run with action "run_discovery", poll with "get_status", then read the proposed tables and mappings with "get_results".

Use this when you need to map out an unfamiliar connected Snowflake account: which tables exist, which look like account/company data, and how their columns map to standard fields (discover available customer datasets/tables).

Do NOT use this when you already know the specific schema or table you want — use customer_data_explore to inspect a known dataset (list schemas/tables, describe columns, sample rows). Do NOT use this to read actual records or run analytics — use customer_data_query to run a SQL query. Do NOT use this for HG Insights' own company/technographic/spend data — those live behind the company_* and hg_* tools.

Credits

Free — No credits consumed. See the full credit table for how AI Credits work.

Parameters

NameTypeDefaultDescription
actionstringrun_discoveryWhich step to run against your connected Snowflake data (default: run_discovery). run_discovery: start an async scan that analyzes tables and proposes field mappings, returning a discoveryId. get_status: poll a prior run's progress (pending/running/completed/failed). get_results: fetch the full result — candidate tables and proposed mappings — once the run has completed.
discovery_idstring``The discoveryId returned by a run_discovery call. Required for get_status and get_results; ignored for run_discovery.

Required Integrations

This tool is only available when your organization has the following integration configured in the Phoenix Integrations settings:

  • Snowflake (snowflake)

Use Cases

  • Map out an unfamiliar connected Snowflake account to see which datasets and tables are available
  • Find which tables in your own data look like account/company data before querying them
  • Get suggested field mappings (account name, domain, ID) with confidence levels for your tables
  • Kick off discovery and poll its status while it scans the connected schema
  • Retrieve the candidate tables and proposed mappings from a completed discovery run

Example Usage

Start discovering your connected Snowflake datasets

{
"tool": "customer_data_discover",
"arguments": {
"action": "run_discovery"
}
}

Check the status of a running discovery

{
"tool": "customer_data_discover",
"arguments": {
"action": "get_status",
"discovery_id": "disc_01H9XYZ"
}
}

Read the candidate tables and proposed mappings

{
"tool": "customer_data_discover",
"arguments": {
"action": "get_results",
"discovery_id": "disc_01H9XYZ"
}
}

Response Format

FieldTypeDescription
actionstringAction that was executed.
discoveryIdstringID of the discovery result.
statusstringStatus of the discovery (pending, running, completed, failed).
summarystringHuman-readable summary of the discovery results.
executionTimeMsnumber | nullExecution time in milliseconds.
resultobject | nullFull discovery result data (for get_results action).
errorstring | nullError message if discovery failed.

customer_data_explore, customer_data_query