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
| Name | Type | Default | Description |
|---|---|---|---|
action | string | run_discovery | Which 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_id | string | `` | 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
| Field | Type | Description |
|---|---|---|
action | string | Action that was executed. |
discoveryId | string | ID of the discovery result. |
status | string | Status of the discovery (pending, running, completed, failed). |
summary | string | Human-readable summary of the discovery results. |
executionTimeMs | number | null | Execution time in milliseconds. |
result | object | null | Full discovery result data (for get_results action). |
error | string | null | Error message if discovery failed. |