Skip to content

Salesforce + Snowflake

Salesforce + Snowflake reporting,pipeline and product usage in one answer.

Ask which customers are outgrowing their contract, or which renewals are going quiet, and get an answer that reads your CRM and your warehouse together. Querri copies both into one Library on a schedule, ties product workspaces to Salesforce accounts, and uses the definition of an active user your teams agreed on.

Both connections are read-only: no Salesforce record or Snowflake table is ever changed. Salesforce sign-in happens on Salesforce's own page, and Snowflake connects through a key pair and a read-only role, never a password. SOC 2 Type II, HIPAA and ISO 27001:2022 certified.

Why Salesforce + Snowflake reporting gets hard

Sales lives in Salesforce. The product lives in Snowflake. Customers live in both.

SaaS teams have the two halves of every customer question. One half is in the CRM, owned by RevOps. The other half is in the warehouse, owned by the data team. Joining them is where the week goes.

01

The product doesn't know the Salesforce account

Usage is keyed by workspace, tenant or org ID. Salesforce is keyed by its own Account ID. One customer can run four workspaces, a trial can sit under a personal email, and the mapping between them is a spreadsheet someone stopped updating.

02

Event data doesn't fit in a CRM

Salesforce storage is metered and priced for customer records, not for every login and click. So teams push a few daily rollups into custom fields and leave the detail behind, and the detail is where the churn signal was.

03

Syncing usage into Salesforce fills fields, not answers

A reverse-ETL job can write "active users" onto the account. It's another tool to pay for, it spends the org's API allocation, the value is only as fresh as the last run, and the field keeps no history, so "down from last quarter" still needs the warehouse.

04

Everyone counts "active" differently

Product means a user who logged in this week. CS means an account that used a key feature. Finance means seats on the contract. Three dashboards show three utilization numbers for the same customer, and the renewal call starts with an argument.

05

Getting Salesforce into the warehouse is its own project

Before anyone can join pipeline to usage in SQL, someone has to land Salesforce objects in Snowflake, keep up with every custom field an admin adds and model the join. RevOps files the request and waits behind the data team's roadmap.

What you can finally answer

Eight Salesforce + Snowflake questions that used to wait on the data team

Each one is something RevOps, customer success or finance asks about the same customers from two directions, why it's stuck today, and how Querri answers it.

Which customers have hit their seat limit with no expansion deal open?

Why it's hard

Seats bought sit on the Salesforce contract, seats used sit in a warehouse table, and the list of open expansion opportunities is a third report. Nobody lines up all three every week.

With Querri

Say once in Facts & rules what an expansion opportunity is, and Querri builds the list from both systems. A monitor watches seats used on every account against that account's own history, and the ones that jump show up in your Inbox.

Which product-qualified accounts has sales never heard of?

Why it's hard

A team of 30 can be using the free plan heavily while Salesforce has no lead, contact or opportunity for them. The usage table and the CRM are never compared row by row.

With Querri

Tell Querri once how a workspace maps to an account, by email domain or Account ID, and it lists the workspaces with no Salesforce owner and says how each match was made. Add HubSpot to see which campaign brought them in.

Which renewals in the next 90 days are on accounts whose usage is falling?

Why it's hard

The renewal date is on an Opportunity or Contract; the 30-day usage trend is a query only the data team runs. By the time both meet, the renewal call is next week.

With Querri

Track usage per account as a KPI and Querri keeps its history, then sets it beside every open renewal. The at-risk renewals playbook shows the setup.

What's our seat utilization by segment, counted one way?

Why it's hard

Utilization depends on what counts as active and which seat count you divide by. Each team picked its own, and each number is defensible.

With Querri

Querri checks the usage table for duplicate users and test accounts before it answers, and when a question has two fair readings it names the one it used. See how answers work and data cleansing.

Do customers who reach first value quickly expand more?

Why it's hard

Onboarding events are in Snowflake and expansion revenue is in Salesforce opportunities. Answering it once is an analyst's week; answering it every quarter never happens.

With Querri

Build the analysis as a project with steps you can open and rerun on fresh data each quarter. The signup to first value playbook covers the activation half.

Can every CSM get their book of accounts, with usage, every Monday?

Why it's hard

The account owner is in Salesforce and the usage is in the warehouse, so someone exports both, filters by owner and emails a dozen spreadsheets by hand.

With Querri

A schedule reruns the project and sends each CSM a version with only their accounts, as email or a formatted Excel workbook. See reports and automation.

Which accounts in a renewal are also flooding support?

Why it's hard

Conversations are in the help desk, usage in the warehouse and the renewal in the CRM. A health score that uses all three usually means buying a CS platform.

With Querri

Connect Intercom alongside both, and Querri scores health from usage, cases and conversations on the same accounts. For the scoring itself, follow the health score playbook.

Can I ask Claude or ChatGPT which accounts are ready to expand?

Why it's hard

An assistant pointed at the warehouse doesn't know which workspace belongs to which Salesforce account, or what your team means by active.

With Querri

Link Querri to Claude or ChatGPT a single time, and the assistant answers from your Library, with the account mapping and your definitions, and each person sees only the accounts they're allowed to.

Salesforce + Snowflake plus the rest

Add the systems that sit around the customer

The CRM has the deal and the warehouse has the behavior. Invoices, support conversations, marketing touches and the CS team's seat plans are usually somewhere else. Querri holds them in the same Library, so a question about one customer can read all of it.

Salesforce + Snowflake pair well with

Answers you can stand behind

"Seat utilization" has two honest denominators. Querri says which denominator it picked.

Ask how much of what customers bought they actually use, and the answer depends on whether you divide by the seats on the Salesforce contract or the seats provisioned in the product. Querri answers with one, names it and puts the other beside it, so CS and finance stop quoting different percentages for the same customers. See how answers work.

Wake up to what changed

Querri spots renewals going quiet before the renewal call

Every night Querri compares usage on upcoming renewals in each plan with that plan's own history, using arithmetic. When more accounts than usual are slipping, the list is in your Inbox by morning, and nothing changes without your OK.

Custom Salesforce + Snowflake dashboards

A customer dashboard where pipeline and usage share a row

Ask for an account health dashboard, or start from a screenshot of the one CS already uses. Opportunities, renewal dates and product usage sit on one screen with one definition of active, and each CSM can be limited to the accounts they own.

  • Pipeline, renewals and usage on one screen
  • Changed by asking, with an undo for every change
  • A CSM's view holds only the accounts they own
One sentence restyles the Monthly Sales Review, and one click puts it back.

Reports you can stop rebuilding

Six Salesforce + Snowflake reports, built once

What comes over

CRM objects and warehouse tables, copied side by side

Querri connects Salesforce and Snowflake as two separate connections, copies what you pick into its own storage on a schedule, and answers from that copy rather than querying either system live. Accounts are matched to workspaces when you ask, not during the sync. Each side brings over only what the Salesforce user or the Snowflake role can see.

Among what each side brings

  • Account (Salesforce)
  • Contact (Salesforce)
  • Lead (Salesforce)
  • Opportunity (Salesforce)
  • OpportunityLineItem (Salesforce)
  • Contract (Salesforce)
  • Asset (Salesforce)
  • Product2 (Salesforce)
  • Case (Salesforce)
  • User (Salesforce)
  • Tables (Snowflake)
  • Views (Snowflake)
  • Every schema, or one (Snowflake)
  • Custom SQL queries (Snowflake)
  • Plus Salesforce custom objects the connected user can query, and any Snowflake table or view the read-only role is granted

Each side on its own schedule

Salesforce can sync incrementally on LastModifiedDate or refresh in full. Snowflake runs a full refresh by default, or incremental on a cursor column you choose; custom SQL sources always refresh in full. Incremental can run hourly, and a daily, weekly or monthly full refresh drops deleted rows.

Sized for usage tables

Querri switches a Salesforce object to the Bulk API 2.0 once it reaches 100,000 records. From Snowflake, an events table arrives one Arrow batch at a time and is written to Parquet as it comes, however many rows it has.

Reads, never writes

Querri never edits a Salesforce record or a Snowflake table. On the Snowflake side, the setup script grants the Querri role SELECT and nothing more.

No passwords in the chain

You sign in to Salesforce on Salesforce's page. Snowflake uses a key pair Querri can generate, or a programmatic access token; password sign-in isn't offered.

How to connect Salesforce and Snowflake

Two connections, one conversation with the agent

  1. 1

    Ask for both

    On the Connect page, type "connect Salesforce and Snowflake." The Connector Agent handles the CRM first and the warehouse second.

  2. 2

    Approve Salesforce access

    Log in to your production org on Salesforce's own page and allow access; the password never reaches Querri.

  3. 3

    Set up the Snowflake key

    Enter the account identifier, username and warehouse, then generate a key pair and setup script. An ACCOUNTADMIN runs it once in Snowsight to create the service user and read-only role, or you paste a programmatic access token.

  4. 4

    Pick what to sync, then approve

    Keep the preselected Salesforce objects, choose Snowflake tables, views or custom queries, set a cursor column where it helps, and pick schedules. The first load waits for your Approve.

  5. 5

    Ask about accounts and usage

    Ask your first question about accounts and usage. Querri tells you how it tied workspaces to Salesforce accounts.

Querri's Connect page, where the Connector Agent waits for approval before it starts a connection; cards for Salesforce, Snowflake, NetSuite, Google Drive, Square and ShipStation sit beside the chat
Nothing connects and nothing loads until you press Approve.

Salesforce + Snowflake FAQ

Questions about Salesforce, Snowflake and Querri

How do I connect Salesforce and Snowflake to Querri?

Ask the Connector Agent on the Connect page to connect both. Sign in to Salesforce on its own page, then give Snowflake an account identifier, username and warehouse and either generate a key pair with a setup script or paste a programmatic access token. Pick objects and tables, then approve the load and schedules.

What Salesforce and Snowflake data does Querri sync?

From Salesforce, 20 standard objects such as Account, Opportunity, Contract and Case are preselected, and you can add custom objects the connected user can query. From Snowflake, you take every table and view the role can read or a chosen list, plus custom SQL queries as extra sources.

How often do Salesforce and Snowflake data sync?

Incremental syncs can run hourly, daily or weekly: Salesforce by LastModifiedDate, Snowflake on a cursor column you pick. Full refreshes run daily, weekly or monthly and remove rows deleted at the source. Snowflake custom SQL sources always refresh in full. A manual sync can run at any time.

Does Querri write to Salesforce or Snowflake?

No. Querri only reads your data in both systems and never changes your records there. It doesn't update Salesforce fields, create opportunities or write tables in Snowflake, and the Snowflake setup script grants its role SELECT access only. Querri also doesn't push usage into Salesforce; the two are joined inside Querri instead.

How do Salesforce and Snowflake permissions carry over?

Querri can only sync what the connected Salesforce user and the Snowflake role are allowed to see. Once the data is in Querri, row visibility comes from Querri's sharing settings and per-person row filters, not from Salesforce profiles or Snowflake grants, and those filters apply in chat, dashboards, Claude, ChatGPT and the API.

How do I match Salesforce accounts to product workspaces in Snowflake?

If your product tables store the Salesforce Account ID, Querri joins on it directly. If not, tell Querri the rule once, such as matching on email domain or a mapping table in a spreadsheet, and every answer uses it. Querri says how each account was matched and flags the ones it couldn't place.

How do I get an expansion report from Salesforce and Snowflake?

Connect both, then ask for accounts whose active seats are at or above the seats on their contract and that have no open expansion opportunity. Save it as a project and schedule it, and each account owner gets their own list every week by email or as an Excel workbook.

How do I get a renewal risk report with product usage?

Ask for renewals closing in the next 90 days alongside each account's usage trend from Snowflake. Track usage as a KPI so Querri keeps its history, and let monitors flag renewals whose usage is dropping faster than usual. The at-risk renewals playbook walks through the full setup.

How do I find product-qualified leads that aren't in Salesforce?

Define a product-qualified account in plain words, for example a workspace with 20 or more weekly active users. Querri checks each qualifying workspace against Salesforce leads, contacts and opportunities by domain or account ID, and lists the ones sales has no record of, with how each match was made.

How do I combine Salesforce, Snowflake and HubSpot data?

Connect HubSpot as a third source. Querri matches HubSpot contacts and companies to Salesforce accounts and to product workspaces, so you can follow a campaign through to opportunities and on to how much those customers use the product. Matches Querri isn't sure of are called out in the answer.

How do I combine Salesforce, Snowflake and NetSuite data?

Add NetSuite as a third connection. Querri lines up Salesforce contracts, NetSuite invoices and payments, and usage from Snowflake for the same customer, so you can see who pays for seats they don't use, or who uses more than they're billed for, in one answer.

Can I build a custom Salesforce + Snowflake dashboard?

Yes. Describe an account health or expansion dashboard, or start from a screenshot of one your team already uses. Change it by asking, mix pipeline and renewals with usage on the same screen, and limit each CSM or rep to the accounts they own.

Can I export Salesforce and Snowflake reports to Excel automatically?

Yes. Save the report as a project and give it a weekly or monthly schedule. Querri reruns it on freshly synced data and sends a formatted Excel workbook, or an email, and it can send a separate version to each person with only their accounts in it.

Can I ask ChatGPT or Claude about Salesforce and Snowflake data?

Yes. After a one-time link between Querri and Claude or ChatGPT, the assistant answers from your Querri Library, using your account mapping and your definition of an active user, under each person's own access, so its answer matches your dashboards instead of guessing at warehouse column names.

Does Querri query Snowflake live?

No. Each sync copies your chosen tables and views into Querri, and questions are answered from that copy. Questions don't run against your warehouse each time, though each sync does use your Snowflake warehouse. A custom query can't run longer than 600 seconds, and syncs can be capped at a maximum row count per table.

What doesn't Querri support with Salesforce and Snowflake?

Salesforce sandbox orgs can't connect through the standard sign-in, which goes to login.salesforce.com, and objects that require a filter on every query are skipped. On Snowflake, password and OAuth sign-in aren't offered, PrivateLink and VPN connections aren't available, and custom SQL sources can't sync incrementally.

Do we still need reverse ETL to put usage into Salesforce?

Not for reporting. Querri reads both systems and joins them itself, so dashboards, reports and answers have the full usage history, not just the latest value on an account field. If reps need a usage field inside Salesforce screens, keep that sync; Querri doesn't write anything back.

Is my Salesforce and Snowflake data secure in Querri?

Querri is SOC 2 Type II, HIPAA and ISO 27001:2022 certified, and your data is never used to train a model. Salesforce sign-in happens on Salesforce's page, the Snowflake private key is stored encrypted and never shown, and the Connector Agent only knows whether a credential is set or missing.

See which customers are growing, and whether sales knows.

Connect both in one conversation with the agent. Querri reads from both and writes to neither.