dobeo

Setup guide — Sheets Sync

Sheets Sync setup guide

Sheets Sync keeps a one-way live copy of each HighLevel sub-account in Google Sheets: one spreadsheet per sub-account, created by the app in the connecting user’s Google Drive.

About Sheets Sync · Privacy Policy · Terms of Use

Install

Sheets Sync is installed by the agency from the HighLevel Marketplace. It can be installed on sub-accounts in bulk.

Plans are per agency install and billed monthly through the Marketplace. The plan applies to every sub-account of the agency, and row limits are per sub-account spreadsheet. Every install starts with a 14-day free trial with Growth features.

  • Starter, $19/month: contacts and opportunities, 25,000 rows per sub-account.
  • Growth, $39/month: plus custom objects, associations and linked contacts, 100,000 rows per sub-account.
  • Agency, $79/month: everything in Growth, 250,000 rows per sub-account.

Open Sheets Sync

In each sub-account, click Sheets Sync in the left menu. Each sub-account has its own spreadsheet, so connect Google in every sub-account you want to sync.

Connect Google

Google is connected by sub-account admins or agency users. Sign-in opens in a new window.

The app asks only for Google’s drive.file permission, shown by Google as “See, edit, create and delete only the specific Google Drive files you use with this app”. This means Sheets Sync can access only the spreadsheet it creates, nothing else in your Drive. It also gets your email address so it can show which account is connected.

Connecting a different Google account later creates a new spreadsheet.

Initial load

After you connect Google, Sheets Sync loads your existing data and shows the progress in the app. Data loads in small batches to respect HighLevel’s limit (100 requests every 10 seconds) and Google’s API limits, so large accounts can take a few hours. You can close the page while it runs.

What’s in the spreadsheet

  • Contacts: custom fields as columns; Owner is the assigned user’s name.
  • Opportunities: pipeline and stage names, the contact’s name, email, phone and company, the Owner’s name and custom fields.
  • CO - <plural name>: one tab per custom object, with Linked contacts and Linked contact emails columns resolved through associations (Growth and Agency).
  • Associations: the relations between records (Growth and Agency).
  • _Sync: status, last sync, plan, rows used, cells used and warnings.

Changes in HighLevel reach the sheet within about 5 minutes. Every night at 03:00 UTC everything is re-checked. Records deleted in HighLevel get “deleted” in the Sync status column; rows are never removed, so formulas stay aligned. Values are written as plain text, so CRM text that looks like a formula is never executed.

Your own columns

The first columns of each tab, up to and including Sync status, are managed by the app. Add your own columns, formulas and notes to the right of Sync status: Sheets Sync never writes to them.

Put summaries and charts on separate tabs.

Rebuild columns

When you create custom fields (or new object properties) in HighLevel after a tab was set up, or the tab has no Owner column yet, use Rebuild columns on the app page to add the missing columns. It is available to admins only, for one tab or all tabs, and asks for confirmation first.

  • New columns are inserted just before Sync status, so Sync status and your own columns shift right.
  • Nothing is overwritten, and Google Sheets updates references in your formulas automatically.
  • Columns for fields deleted in HighLevel stay in place, empty.
  • After a rebuild, every row is rewritten in the background. This can take as long as the initial load.

Content below the data

Don’t type in the managed columns below the last synced row. If Sheets Sync finds content there, it inserts new rows above it instead of overwriting it, and shows a warning in the _Sync tab and in the app. Better to move that content to another tab.

Cell limit

Google Sheets allows 10 million cells per spreadsheet. Sheets Sync keeps its own managed cells (rows × managed columns, across all tabs) under 9,000,000, leaving room for your columns.

When that budget is reached, new records stop being added; existing rows keep updating. The app shows Cell limit reached with a link to this section and to support.

What helps:

Troubleshooting

  • “Google access was removed”: click Reconnect Google.
  • The spreadsheet was deleted: a new one is created automatically on the next sync.
  • “Row limit reached”: existing rows keep updating. Upgrade the plan in the Marketplace.
  • “Cell limit reached”: see Cell limit.
  • Changes not showing yet: wait about 5 minutes, or use Sync now (full re-check).
  • Owner shows an ID instead of a name: the app couldn’t read the user list for that sub-account. Contact [email protected].
  • The nightly check skipped marking deletions: a safety check triggered after an unusual number of missing records. Nothing was changed.

Uninstall and data deletion

  • Uninstalling Sheets Sync from HighLevel stops syncing.
  • The spreadsheet stays in your Google Drive. It’s yours, so delete it there if you want.
  • Disconnect Google in the app revokes our access. You can also remove access at myaccount.google.com/permissions.
  • Dobeo stores no CRM contents: only encrypted tokens, record IDs, row positions and row hashes. These are deleted within 30 days of uninstall. See our Privacy Policy.

Support

support@dobeo.com

We reply on business days. Please include your agency name, the sub-account name or ID (if known) and describe the problem.