Hey There
I wondered if anyone has ever tried to use the connection for Salesforce in appsheet? I have run into a a complete roadblock and i'm getting nowhere with appsheet support.
So we have a large scale app acting as a CRM for a client. The CRM started by taking their data from Salesforce as an export and moving that to google sheets, from there we created all the same views they had in salesforce and that was that, however the have since decided to use the Appsheet app in some situations and Salesforce in others. This means it would be better if we stored the data in salesforce not google sheets, luckily we have a salesforce connector for data in appsheet!
I followed the guide, installed the app in salesforce and connect the data in appsheet. Since adding this data source we have been unable to get the app to start up. It simply times out after trying for a little while. When checking our account we have an error on the account after adding this source that says "Plan upgrade needed — click to fix it!
You're not alone in running into performance and plan issues when trying to integrate Salesforce with AppSheet. It can work, but there are some major gotchas that aren’t obvious from the docs. Here's a breakdown of what's going on and what you can do:
1. Plan Limitation: You Need Enterprise/Enterprise+
The error you're seeing:
> "Advanced data source 'salesforce' not allowed with the AppSheet CORE plan"
means exactly what it says: Salesforce is considered an "advanced" data source, and you must be on an Enterprise plan (not Core) to use it in production. The Core plan will not support Salesforce integration, even if you get it to technically "connect" in the editor.
> Fix: You'll need to upgrade the plan (likely to Enterprise) to fully enable and support Salesforce as a live data source.
2. Performance Issues: Salesforce API + AppSheet = Slow
Even after getting the correct plan:
Salesforce's API is not optimized for heavy, frequent reads the way Google Sheets or SQL is.
AppSheet pulls data using REST API calls, which can be very slow, especially on:
Large tables
Complex fields/relations
Non-indexed queries in Salesforce
> Even a small number of records can take 30–120 seconds, just like you're seeing.
3. No Caching or Delta Sync
Unlike Google Sheets or SQL, Salesforce does not support delta sync or caching in the same way. So every sync:
Makes fresh API calls
Pulls entire record sets
Can time out or slow down the app dramatically
4. Workaround Options
Since you're already syncing from Salesforce to Google Sheets, here are a few real-world solutions:
Option A: Keep using Google Sheets and auto-sync from Salesforce
Use a tool like Coupler.io, Zapier, Make, or Data Connector for Salesforce to sync Salesforce data to Google Sheets every X minutes.
Point AppSheet to the Sheets, and now you get:
Speed
Simplicity
Avoidance of AppSheet Enterprise fees
This is the most reliable and scalable for hybrid Salesforce + AppSheet use.
Option B: Use a SQL Mirror
Use a service like Heroku, Panoply, or CData to mirror your Salesforce data to SQL (PostgreSQL, etc.).
Connect AppSheet to that SQL source (which is also considered “advanced”, so Enterprise still needed).
This gives you better sync control and indexing, but more setup.
Option C: Break out only necessary tables
If you’re forced to go Salesforce direct:
Only connect the critical tables (small, simple, read-heavy) to AppSheet.
Keep the rest in Sheets or disable syncing where not needed.
Expect slow syncs and design accordingly (e.g., avoid full table views).
5. Community Feedback
From others who have tried this: most end up using Google Sheets or SQL as a middle layer, unless they already have an Enterprise AppSheet plan and Salesforce devs to optimize API calls.
TL;DR
AppSheet Core Plan = No Salesforce. You need Enterprise.
Performance sucks because Salesforce API + AppSheet = slow + no caching.
Use Google Sheets as a sync mirror — fatest, cheapest, easiest solution.
OR upgrade plan and design smart with limited API load.
All of this information is very helpful! Thank you for this detailed response.
I am left now with 2 questions for your suggestion of other solutions.
1. What about large data tables for things like the salesforce connector to google sheets. this connector has a 100k row limit but some of my clients in salesforce far exceed this limit. Would other solutions also have this issue?
2. If we do go with a salesforce connection option either through a direct SQL clone or google sheets how does updates work? If we are only pulling data down from salesforce every 4 hours and a user on the appsheet side updates record A, and the salesforce client also updates record A, what exactly would happen there as it seems due to the delay on sync to google sheets the SalesForce connection would constantly overwrite data without taking anything back to salesforce.
I think the difficulty we have here is wanting to use our salesforce data for read and write. We need to be able to send data up as well as recieve it down.
Great questions. These are exactly the challenges that arise when integrating Salesforce with AppSheet (or Google Sheets) in large-scale environments. Let's break both questions down:
1. Large Data Tables — Do All Solutions Have a 100k Row Limit Like Google Sheets?
Short answer: Not necessarily — it depends on the data source.
Google Sheets:
100,000 cell limit (not rows!) per worksheet, with other practical performance limitations starting around 10,000–50,000 rows, especially with formulas or images.
Not designed for enterprise-scale data.
Salesforce Connector (in AppSheet):
No explicit row limit mentioned in docs, but real-world performance degrades significantly as row count increases.
Most users report slow syncs, timeouts, or errors above 10–20k rows due to the Salesforce API throttling and pagination.
Better Alternatives:
Verdict:
If you’re scaling past 20k+ rows, Google Sheets is out, and even Salesforce’s direct connector might struggle. A SQL-based mirror or custom API bridge gives better long-term control.
2. What Happens with Conflicts — AppSheet vs. Salesforce Updates?
This is the classic data sync conflict problem. Here's what would happen:
In Your Scenario:
Salesforce connector (or synced Google Sheet) pulls data every 4 hours.
AppSheet users edit data in the meantime.
When the sync occurs, Salesforce data overwrites the stale data in the Sheet — erasing user changes.
No built-in conflict resolution exists in AppSheet for third-party source syncs like Salesforce.
Why This Happens:
AppSheet sees the Salesforce-connected Sheet as the “truth.”
Changes from Salesforce overwrite local values, even if they are more recent on AppSheet.
Solutions for Two-Way Read/Write:
Option A: Use a SQL Clone of Salesforce (via Mirror Tool or ETL)
Tools like Heroku Connect, Skyvia, or CData replicate Salesforce into a SQL database.
AppSheet connects to the SQL database.
You get real-time read/write performance with better conflict handling.
Salesforce still remains the system of record, but you have more control over sync timing and resolution logic.
Option B: Build a Custom API Layer (Middleware)
Create a small backend (Node.js, Firebase, or Make.com) to:
Handle real-time writes from AppSheet to Salesforce.
Listen for Salesforce webhook events (CDC) and push changes to AppSheet or SQL.
Allows true bi-directional sync with logic to manage conflicts.
Option C: Use AppSheet Webhooks to Trigger Salesforce API Writes
Not real-time, but immediate writes can be done.
You can create actions or automation bots in AppSheet that POST to Salesforce on record change.
Combine with a frequent pull (every hour) for data updates.
Conclusion / Recommendation
If you're serious about:
Writing back to Salesforce
Scaling beyond 10–20k rows
Maintaining conflict resolution and speed
Then:
Google Sheets is not viable long-term
Use a SQL mirror of Salesforce data or
Set up a custom API/middleware to mediate two-way sync and reduce delay-based overwrites.
First, as @PauloExpert guides, the solution depends on your AppSheet plan.
If you want to achieve this with the Core plan, I would use Salesforce conector.
https://workspace.google.com/marketplace/app/salesforce_connector/857627895310
However, this has various limitations and requires knowledge of Salesforce and AppSheet
If you are on the Enterprise plan, direct connection or using Integration connector are candidates for consideration.
https://support.google.com/appsheet/answer/10106381
User | Count |
---|---|
18 | |
14 | |
11 | |
7 | |
4 |