Docs/Data & Integrations/Connecting Data Sources

Connecting Data Sources

Pingd connects directly to your existing databases and data platforms to power AI agent queries and advisor workflows. No data migration or syncing required — Pingd queries your data live, where it already lives.

Supported Data Sources

Data SourceBest For
SnowflakeData warehouses with large-scale analytics data
PostgreSQLApplication databases and operational data
RedshiftAWS data warehouses
Amazon S3CSV and JSON files stored in S3 buckets
SalesforceCRM data (accounts, contacts, opportunities)

Before You Start

  • You'll need Admin or Owner permissions in Pingd
  • Have your database credentials ready (host, username, password, database name)
  • Ensure your database allows connections from external IPs (you may need to whitelist Pingd's IP)
  • For Salesforce, you'll need OAuth authorization

Using the Connection Wizard

Navigate to Dashboard → Connections and click New Connection to open the Connection Wizard.

Step 1: Choose Your Data Source Type

Select your database type from the list. Each type has its own credential fields.

Step 2: Enter Connection Details

Fill in the required credentials for your data source (see the sections below for what each type needs).

Step 3: Test Connection

Click Test Connection to verify Pingd can reach your database. The test checks:

  • Network connectivity
  • Authentication credentials
  • Permission to list tables
If the test fails, double-check your credentials and network/firewall settings.

Step 4: Discover Tables

Once connected, Pingd automatically discovers the tables and schemas in your database. You'll see a list of available tables with their column definitions.

Step 5: Set as Primary

Click the menu (⋮) on your connection and select Set as Primary to make it the default data source for your AI agent and advisors. Each organization can have one primary connection.

---

Snowflake

Snowflake is ideal for organizations that centralize their data in a cloud data warehouse.

What You'll Need

  • Account identifier — Your Snowflake account URL (e.g., skxzkvo-jw60957)
  • Username and Password — A Snowflake user with read access
  • Database and Schema — The database and schema containing your tables (e.g., PINGD_CRM.SALES)
  • Warehouse — The compute warehouse to use for queries
  • Role (optional) — A Snowflake role with the necessary permissions

Permissions Required

The Snowflake user needs at minimum:

  • USAGE on the warehouse
  • USAGE on the database and schema
  • SELECT on the tables you want to query

Tips

  • Use a dedicated read-only user for Pingd — don't share credentials with other services
  • Choose a warehouse size appropriate for your data volume (X-Small works for most use cases)
  • Column names in Snowflake are automatically handled regardless of case
---

Amazon S3

Connect CSV or JSON files stored in Amazon S3 buckets. Great for data exports, flat-file integrations, or supplementary datasets.

What You'll Need

  • AWS Access Key ID and Secret Access Key — An IAM user with S3 read access
  • Bucket name — The S3 bucket containing your files
  • Region — The AWS region where your bucket lives (e.g., us-east-2)
  • Path prefix (optional) — A folder path within the bucket (e.g., crm/)

Supported File Formats

  • CSV — Comma-separated values with a header row
  • JSON — Line-delimited JSON (one JSON object per line)

Permissions Required

The IAM user needs:

  • s3:GetObject on the bucket/prefix
  • s3:ListBucket on the bucket

Tips

  • Keep files under 1 GB for best query performance
  • Ensure CSV files have a consistent header row across all files
  • Use folder prefixes to organize different data types
---

Salesforce

Connect your Salesforce CRM to query accounts, contacts, opportunities, and custom objects directly.

What You'll Need

Salesforce uses OAuth for authentication — no passwords to enter manually.

How to Connect

  1. Click Connect Salesforce in the Connection Wizard
  2. You'll be redirected to Salesforce to authorize Pingd
  3. Log in with a Salesforce user that has API access
  4. Grant the requested permissions
  5. You'll be redirected back to Pingd with the connection established

Permissions Required

The Salesforce user needs:

  • API Enabled permission
  • Read access to the objects you want to query (Accounts, Contacts, Opportunities, etc.)

Supported Objects

Pingd can query any standard or custom Salesforce object your user has access to, including:

  • Accounts
  • Contacts
  • Opportunities
  • Leads
  • Tasks
  • Custom objects

Tips

  • Use a dedicated Salesforce integration user rather than a personal account
  • If your token expires, reconnect through the Connection Wizard — Pingd will re-authorize automatically
---

Redshift

Amazon Redshift connects just like PostgreSQL. Ideal for organizations using AWS data warehouses.

What You'll Need

  • Host — Your Redshift cluster endpoint (e.g., my-cluster.abc123.us-east-1.redshift.amazonaws.com)
  • Port — Usually 5439
  • Database — The database name
  • Username and Password — A Redshift user with read access
  • Schema — The schema containing your tables (e.g., public)

Permissions Required

  • USAGE on the schema
  • SELECT on the tables you want to query

Tips

  • Use a read-only user with access limited to the schemas Pingd needs
  • Redshift uses the same PostgreSQL wire protocol, so if you're familiar with PostgreSQL setup, this will feel identical
---

PostgreSQL

Connect to any PostgreSQL database, including hosted services like Amazon RDS, Google Cloud SQL, Supabase, and Neon.

What You'll Need

  • Host — Your database hostname or IP
  • Port — Usually 5432
  • Database — The database name
  • Username and Password — A PostgreSQL user with read access
  • Schema — The schema containing your tables (e.g., public)
  • SSL — Whether to use SSL for the connection (recommended)

Permissions Required

  • USAGE on the schema
  • SELECT on the tables you want to query

Tips

  • Use a read-only user — Pingd only needs SELECT permissions
  • If your database is behind a firewall, add Pingd's IP to your allowlist
  • For connection poolers (like PgBouncer or Supabase pooler), use the pooler's connection string
---

After Connecting

Once your data source is connected and set as primary:

  1. Map table names — Pingd discovers your tables automatically. You can set logical names (like "accounts") to map to your physical table names for easier querying.
  2. Set up column mappings — If your column names differ from standard names, configure mappings so Pingd understands your schema.
  3. Configure data access policies — Set who can see what data through the Data Access Policies page.
  4. Create advisors — Start building Advisors that analyze your connected data.
  5. Ask questions — Your AI agent can now answer questions about your data via Slack.

Managing Connections

From Dashboard → Connections, you can:

  • View all connections with their status (connected, error, pending)
  • Test a connection to verify it's still working
  • Set a primary connection for agent queries and advisors
  • Edit credentials if passwords or tokens change
  • Delete connections you no longer need

Troubleshooting

Connection test fails

  • Verify your credentials are correct
  • Check that your database allows external connections (firewall rules, IP allowlists)
  • Ensure the database user has the required permissions
  • For Snowflake, confirm the warehouse is running and not suspended

Tables not appearing

  • The connected user may not have SELECT permission on those tables
  • Try running table discovery again from the connection menu
  • Check that you're looking at the correct schema

Queries timing out

  • Your database may need performance tuning for the queries being run
  • Consider adding indexes on frequently queried columns
  • For Snowflake, try using a larger warehouse size
  • Check if your data source has query timeout limits configured
For more help, see the Troubleshooting Guide.