Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.buildbetter.ai/llms.txt

Use this file to discover all available pages before exploring further.

Connect BuildBetter to your Snowflake data warehouse so company records and metadata flow into BuildBetter automatically. Authenticate with OAuth, browse your schemas and tables, map columns to BuildBetter fields, and set up scheduled syncs without writing any pipeline code.

Overview

The Snowflake integration enables you to:
  • Pull company records and metadata from Snowflake into BuildBetter
  • Browse warehouses, databases, schemas, and tables interactively
  • Map Snowflake columns to BuildBetter core fields and metadata
  • Run scheduled syncs to keep company data continuously up to date
  • Keep all credentials securely managed and masked in the UI
Integration Type: One-way import (Snowflake to BuildBetter) Authentication: OAuth (recommended) or programmatic credentials Sync Frequency: Scheduled

Features

  • OAuth Sign-In: Authenticate directly against your Snowflake account; credentials are encrypted at rest and masked throughout setup
  • Schema and Table Browsing: Pick your warehouse, database, schema, and source table from interactive dropdowns
  • Column Mapping: Map any Snowflake column to a BuildBetter core field (company name, domain) or to metadata, with type-aware handling
  • Two Lookup Strategies: Match companies either via a mapped metadata column or via a stable identifier derived from the table’s primary key
  • Wide-Table Friendly: Improved mapping UI handles tables with many columns without breaking the setup flow
  • Scheduled Syncs: Keep company data flowing automatically once mappings are saved
  • Masked Credentials: Sensitive values are masked throughout the configuration UI

Setup Guide

Prerequisites

  1. Snowflake Requirements:
    • Snowflake account with access to the warehouse, database, and schema you want to sync
    • Permission to read from the source tables you plan to map
    • Ability to authorize an OAuth integration (or admin-provided programmatic credentials)
  2. BuildBetter Requirements:
    • Active BuildBetter account
    • Admin privileges for integration setup

Quick Setup

1

Connect Snowflake

Go to Settings > Integrations in BuildBetter, find Snowflake in the data integrations section, and click Connect. Authenticate with your Snowflake account; BuildBetter stores access and refresh tokens securely.
2

Browse your warehouse

Select the warehouse, database, schema, and source table you want BuildBetter to read from. Each selector lists what your account has access to.
3

Map your columns

For each column you want to use, choose a mapping:
  • Core fields: company name or domain
  • Metadata: any custom field, with its data type preserved (text, number, boolean, etc.)
  • Skip: ignore the column
4

Choose a company lookup strategy

Pick how BuildBetter identifies the company that each row belongs to (see below). Validation runs before save so misconfigurations are caught up front.
5

Save and sync

Save your configuration to enable scheduled syncs. You can also trigger a manual sync from the integration settings.

Company Lookup Strategies

Every row needs a stable way to identify which company it represents. Snowflake setup supports two strategies, and you must configure exactly one:

Mapped metadata column

Mark one of your mapped metadata columns as the lookup key. BuildBetter uses that column’s value to match or create the company. Best when your table already has a clear external identifier like customer_id or account_id.

Stable identifier from primary key

Use a stable identifier derived from the source table’s primary key columns. The setup UI shows the detected PK columns for the table you selected, so you can confirm the identity before saving. Best when your table has no explicit external ID column but does have a reliable PK.
BuildBetter validates your mapping before saving and will block configurations that don’t define exactly one lookup strategy. This prevents accidental misconfiguration where rows could be matched incorrectly or duplicate metadata could be created.

What Gets Synced

Companies

Snowflake column mappingBuildBetter fieldNotes
Core: nameCompany nameUsed during matching when no lookup key is provided
Core: domainCompany domainUsed for fallback matching
Metadata columnMetadata fieldData type preserved (text, number, boolean)
Lookup key columnExternal identityDrives match/create behavior for each row

Metadata

Mapped metadata columns become first-class metadata fields on the company record, retaining their Snowflake data types so numeric, boolean, and text values are not flattened to strings.

Sync Behavior

  • Scheduled syncs run automatically once configured
  • Manual syncs can be triggered from the integration settings page
  • Lookup key per row — rows without a valid lookup key are skipped rather than creating incorrect matches or duplicate metadata
  • Credentials refresh — OAuth tokens refresh automatically; reauthorization is requested only when the token can no longer be renewed

Security and Privacy

  • Access tokens, refresh tokens, and any programmatic credentials are encrypted at rest
  • The configuration UI masks sensitive values throughout setup and editing
  • BuildBetter only reads from the warehouse, database, schema, and table you select
  • You can disconnect the integration at any time to stop all sync activity

Troubleshooting

Connection Issues

“Snowflake authentication failed”
  • Reconnect from Settings > Integrations > Snowflake
  • Confirm your Snowflake user still has access to the configured warehouse and database
“Needs Reauthorization”
  • Your refresh token can no longer be renewed
  • Click Reconnect and complete the OAuth flow again

Mapping Issues

Save blocked by validation
  • Ensure exactly one lookup strategy is configured (either a metadata column flagged as the lookup key, or a stable identifier from the table’s primary key)
  • Confirm all required core fields are mapped if your workflow depends on them
Primary key columns not showing
  • Verify the source table actually has a primary key defined in Snowflake
  • If not, choose the mapped metadata column strategy instead

Data Issues

Rows being skipped
  • Rows without a valid lookup key are skipped intentionally to protect against incorrect matches
  • Inspect the source table for missing values in the lookup column
Duplicate companies
  • Confirm your lookup key is unique per company in the source table
  • If you recently changed strategies, allow the next sync to settle before evaluating

Support

Questions about the Snowflake integration?