Let's Build Your First Campaign Together with our Lead Generation Expert

How to Connect AppSheet to BigQuery

Table of Contents

You built something in BigQuery. It works. The data is clean, the queries run fast, and the insights are real.

But here’s the problem: only the people who know SQL can actually use it.

Everyone else is stuck waiting for a report, sending a Slack message, or working off a spreadsheet that was outdated the moment it was exported.

That gap — between where your data lives and where your team actually works — costs real time every single day. According to IDC, data professionals spend up to 80% of their time just preparing and managing data instead of acting on it.

AppSheet closes that gap. It lets you build no-code apps directly on top of BigQuery, so anyone on your team can read, filter, and interact with live data — without writing a single line of code.

This guide walks you through the exact steps to connect AppSheet to BigQuery, from setting up permissions to building your first working table. No fluff. Just the steps that work.

What AppSheet and BigQuery Actually Do Together

Before you connect them, it helps to understand what each tool brings to the table.

BigQuery is Google Cloud’s fully managed, serverless data warehouse. It’s built for speed — capable of querying terabytes of data in seconds using SQL. Over 40% of Fortune 500 companies use Google Cloud products, and BigQuery sits at the core of most enterprise data stacks. Its pricing model charges per query processed, with the first 1 TB of query data per month free.

AppSheet is Google’s no-code application development platform. It allows teams to build mobile and web apps, forms, workflows, and dashboards without writing code. As of recent data, AppSheet powers over 10 million apps across more than 100 countries, and the no-code/low-code platform market is projected to reach $187 billion by 2030 (Gartner).

When you connect them, BigQuery becomes the brain and AppSheet becomes the hands. Your team gets a real app — with buttons, forms, filters, and workflows — powered by your actual production data.

The result: 50–70% faster app development compared to traditional custom builds (Forrester), and far less reliance on engineering time for internal tooling.

What You Need Before You Start

Getting the connection right the first time depends on having these things in place:

A Google Cloud account with an active project and BigQuery enabled. If you haven’t enabled it, go to the Google Cloud Console, navigate to APIs & Services, and enable the BigQuery API.

A BigQuery dataset with at least one table already created. AppSheet connects to existing tables — it doesn’t create them for you.

An AppSheet account linked to your Google Workspace or Google account. AppSheet offers a free tier, though enterprise features like automated workflows and advanced security require a paid plan.

Appropriate IAM permissions on your Google Cloud project. You’ll need either Owner access or the ability to create service accounts and assign roles. We’ll walk through exactly what permissions are needed in the steps below.

A modern browser. AppSheet’s editor runs in the browser — Chrome or Edge work best.

Once you have these ready, the connection itself takes under 15 minutes.

How to Connect AppSheet to BigQuery

Enable the BigQuery API in Google Cloud

Go to console.cloud.google.com, select your project from the top dropdown, and navigate to APIs & Services > Library.

Search for “BigQuery API.” If it shows a blue “Manage” button, it’s already enabled. If it shows “Enable,” click it and wait 30–60 seconds for activation.

This is the most commonly skipped step — and the most common reason the connection fails.

Create a Service Account

In the Google Cloud Console, go to IAM & Admin > Service Accounts and click Create Service Account.

Give it a clear, recognizable name — something like appsheet-bigquery-connector. Add a description so others on your team understand what it’s for. Click Create and Continue.

On the next screen, assign the role. For most AppSheet use cases, you want BigQuery Data Viewer (read-only access) or BigQuery Data Editor (read and write). If you need AppSheet to create or modify tables, you’ll also need BigQuery Job User to run queries.

Click Continue, skip the optional user access section, and click Done.

Generate and Download the JSON Key

Open the service account you just created. Navigate to the Keys tab and click Add Key > Create New Key. Select JSON format and download the file.

Store this file securely. It contains credentials that grant access to your BigQuery data. Don’t commit it to a public repository or share it over email.

Open AppSheet and Create a New App

Go to appsheet.com and sign in. Click Create > App > Start with your own data.

AppSheet will ask you to select a data source. Choose Google Cloud BigQuery from the list of available connectors.

Connect Your BigQuery Data Source

AppSheet will prompt you to authenticate with your Google Cloud project. You have two options here:

Option A — OAuth (Simpler): Sign in with the Google account that has access to your BigQuery project. This is the faster path for individual users or small teams.

Option B — Service Account (Recommended for teams): Upload the JSON key file you downloaded in the previous step. This approach is more stable for production use because it doesn’t depend on a single person’s login credentials staying active.

After authenticating, AppSheet will ask you to select your Project ID, then your Dataset, then the specific Table you want to use.

Select your table and click Add This Table.

Configure the Table Settings

Once the table is added, AppSheet reads your BigQuery schema and maps each column to a field type. Review these automatically detected types carefully.

Columns with integer or float values will be detected as “Number.” Date fields should map to “Date” or “DateTime.” Boolean fields will appear as “Yes/No.”

If AppSheet misreads a field type — which happens occasionally with custom formats — click on the field name and manually set the correct type from the dropdown.

Set a Key column — this is the unique identifier for each row (equivalent to a primary key). BigQuery tables don’t require a primary key at the schema level, so AppSheet needs you to specify one. If your table doesn’t have a natural key, you may need to add a generated UUID column in BigQuery first.

Set Your Read/Write Permissions

In the Table > Security settings within AppSheet, decide whether users should be able to add, update, or delete rows — or view only.

If you connected via a read-only service account (BigQuery Data Viewer), AppSheet will automatically restrict write operations. If you need write-back to BigQuery, your service account must have the BigQuery Data Editor role.

Note: BigQuery is not optimized for high-frequency small writes. It performs best with batch updates. For apps that need real-time two-way sync with high write volume, consider using BigQuery as a read layer and Firestore or Cloud Spanner for write operations.

Build and Test Your First View

With the table connected, AppSheet automatically generates a basic app view. You’ll see a list view of your data, a detail view for each row, and a form view if write access is enabled.

Test it by clicking Preview in the top right. Scroll through records. Try filtering. If the data loads and matches what’s in your BigQuery table, the connection is working.

Click Save to publish your first version of the app.

Common Errors and How to Fix Them

“Access Denied” or “Permission Denied” error This almost always means the service account is missing a required role. Go back to IAM & Admin in Google Cloud, find your service account, and confirm it has both BigQuery Data Viewer (or Editor) and BigQuery Job User assigned. Without Job User, the account can see tables but cannot execute queries.

“Table not found” after selecting dataset Check that the BigQuery dataset is in the same region as your project’s default region. Cross-region access requires explicit configuration. Also verify that the service account has access to the specific dataset — project-level IAM doesn’t always cascade down automatically to dataset-level in BigQuery.

Slow data loading in AppSheet BigQuery scans entire columns by default, which can be expensive for large tables. In AppSheet’s data settings, apply row filters to limit how many records are pulled on load. You can also create a BigQuery view that pre-filters the data before AppSheet reads it — this significantly reduces query costs and improves load times.

“Key column is required” warning AppSheet requires every table to have a unique identifier. If your BigQuery table doesn’t have one, add a ROW_NUMBER() or GENERATE_UUID() computed column in a BigQuery view, then connect AppSheet to that view instead of the raw table.

Data not refreshing AppSheet caches data locally for performance. Go to App > Sync settings and adjust the auto-sync interval. For near-real-time data, set it to the shortest available interval — though be aware this increases BigQuery query costs proportionally.

Why This Integration Is Worth the Setup Time

Here’s what the data says about teams that connect their operational tools to a centralized data warehouse like BigQuery:

  • Companies that make data accessible to non-technical teams see 5x higher productivity in their operations functions (McKinsey).
  • Organizations using real-time data are 23x more likely to acquire new customers than those relying on batch reporting (McKinsey).
  • No-code app development reduces the cost of building internal tools by up to 70% compared to custom-coded solutions (Forrester).
  • 70% of new enterprise applications will use low-code or no-code technologies by 2025 (Gartner).
  • Teams that eliminate manual data-export workflows save an average of 4.5 hours per person per week in operational overhead (Harvard Business Review).
  • BigQuery processes over 110 TB of data per second globally — making it one of the fastest analytical databases available at scale.
  • AppSheet integrations with Google Cloud services like BigQuery reduce average app deployment time from weeks to under 3 hours for standard use cases.

The math is simple: if your team is spending hours every week manually pulling data into spreadsheets, this connection pays for itself on day one.

Conclusion

Connecting AppSheet to BigQuery is one of the highest-leverage moves a data-forward team can make.

You already have the data. BigQuery is fast, reliable, and scales without effort. What’s been missing is the layer that lets your whole team — not just the SQL writers — actually use that data in their daily work.

AppSheet provides that layer. And once the connection is live, the use cases multiply fast: field data collection, operational dashboards, approval workflows, inventory management, customer-facing tools. All running on the same source of truth your analysts already trust.

The setup takes under 15 minutes when you follow the steps above. The time it saves you compounds every week after that.

Start with one table. Get it working. Then build from there.

🚀 Turn Your Data Into Pipeline

We build outbound systems that fill your calendar with qualified meetings.

7-day Free Trial |No Credit Card Needed.

FAQs

Can AppSheet write data back to BigQuery, or is it read-only?

AppSheet can write back to BigQuery if the connected service account has the BigQuery Data Editor role assigned. However, BigQuery is architecturally optimized for analytical reads, not transactional writes. For apps with low-to-moderate write frequency — form submissions, status updates, field entries — write-back works fine. For high-frequency writes or apps requiring real-time two-way sync, pair BigQuery with a transactional database like Firestore for the write layer and use BigQuery for reporting.

Does AppSheet support BigQuery views and not just raw tables?

Yes. AppSheet can connect to BigQuery views the same way it connects to tables. This is actually the recommended approach for most production use cases — views let you pre-filter rows, rename columns, join multiple tables, and control exactly what data AppSheet sees. Connecting to a well-designed view instead of a raw table improves both performance and data governance.

How much does it cost to run AppSheet on top of BigQuery?

AppSheet pricing starts at $5/user/month for the Starter plan and goes up to $10/user/month for the Core plan, which includes workflow automations. BigQuery charges separately based on data scanned per query — $5 per TB after the first 1 TB free per month. For most internal tools with moderate usage, the combined cost stays well under $50/month for a small team. High-volume or real-time apps that trigger frequent full-table scans can see higher BigQuery costs; optimizing your queries and using row-level filters in AppSheet mitigates this significantly

Can I connect multiple BigQuery tables in a single AppSheet app?

Yes. AppSheet supports multi-table apps with relationships between tables. You can add additional BigQuery tables as separate data sources within the same app and then define references — the equivalent of foreign keys — to link records across tables. This enables more sophisticated apps like order management systems, CRM-style tools, or project trackers that pull from multiple datasets simultaneously.

We deliver 100–400+ qualified appointments in a year through tailored omnichannel strategies

What to Build a High-Converting B2B Sales Funnel from Scratch

Lead Generation Agency

Build a Full Lead Generation Engine in Just 30 Days Guaranteed