Keeping a connected list in sync

Updated Markdown

If you created a list by connecting a source like Google Sheets, Airtable or HubSpot, ListPlus doesn't keep it updated by itself by default: you bring fresh records in and push your edits back out yourself, with two separate, manual actions. Reload pulls the latest data from the source into the list, and Sync Changes pushes your edits in ListPlus back to the source. For lists from HubSpot, Salesforce, Pipedrive, Airtable, Notion, Attio or Stripe you can also turn on Refresh automatically in the list's Set up page so a refresh runs for you on a schedule — see "Reload: what's kept, what's lost" for how that works; Sync Changes always stays a manual, click-to-push action either way.

Reload: pulling fresh data in#

Lists created from a source with a stable record ID — HubSpot, Salesforce, Pipedrive, Airtable, Notion, Attio or Stripe — show a Reload icon in the list header (hover it to see "Reload from {source}"; on narrow windows, widen the window to see it). Clicking it fetches the current records from the source. Lists from Google Sheets, Lemlist, Phantombuster or Zoom have no Reload, because ListPlus can't reliably match their rows to the source records; re-import them instead. Every member of the workspace can reload the list, because the connected account is shared in the workspace. If the source was connected in a different workspace, you see "This data source was connected in another workspace and can only be reloaded there."

Attio lists match rows by _attio_id (do not remove that column) and always reload everything; the Update choice below is not available for them.

For HubSpot lists the Reload icon opens two choices. Update fetches only the records that changed in HubSpot since the list was last fetched — changed ones are updated, new ones that match the list's filters are added (up to 1,000 per click; click again for more). It is quick and never removes a row. Reload everything fetches all records, as described here, and also removes rows HubSpot no longer returns. Records deleted in HubSpot only disappear with "Reload everything".

If you have open AI suggestions in the grid, or saved changes still waiting to sync back, a dialog warns you before reloading: it lists how many open suggestions would be lost (apply them first to keep them), explains that saved pending changes are resolved field by field (see below), and notes that your tags, enrichment results and quality data are kept. Click "Reload anyway" to continue.

What happens to your edits on Reload#

Your own edits are saved automatically, so every edit is covered. For each one, ListPlus compares what the source originally had, what you changed it to, and what the source has now:

  • Source unchanged → your edit is kept.
  • Source already matches your edit → the pending marker is cleared, nothing lost.
  • Source has a different new value → the source value wins and your edit is overwritten.

Your CRM or source is the leading system: a field only you changed keeps your edit (ready to push back with Sync Changes), a field the source changed too takes the source's value. The same rule applies to an automatic refresh and to every source.

Rows that are no longer in the source stay in your list when they carry your work — edits not yet synced back, enrichment results, a status or tags; rows without any of that are removed. Records that are new in the source are added, and columns you added in ListPlus are kept. See "Reload: what's kept, what's lost" for the full list. Open AI suggestions you haven't applied are not covered by this comparison at all — they're simply lost on reload, which is exactly why the warning dialog calls them out separately.

Sync Changes: pushing your edits back#

For five connected sources — Google Sheets, HubSpot, Notion, Salesforce and Attio — you can push your ListPlus edits back to the original record. Open the Changes panel and click Sync Changes; the first time, Configure Sync Settings (then Save & Enable Sync) to set a Primary Key Field (which field, such as the record's ID or email, ListPlus uses to match a row to its source record) and what to do When Source Has Changed: Keep source value (default), Keep my value, or Ask me each time (conflicting fields are held back and counted). Then click Sync Now whenever you want to push. Your own edits are already saved; open AI suggestions are not pushed until you click Apply in the list header.

Sync only updates existing source records with the values you changed in ListPlus — it never creates new records in the source and never deletes anything there, and it only runs when you click Sync Now. The Sync Changes button is shown only to the workspace's owner and admins; members can Reload but not sync. The changes are written under the login of the person who connected the account.

For Attio this works only for lists imported from "People" or "Companies", not from "A list" (see "Setting up how changes push back to your source").

Lists from Stripe, Lemlist, Phantombuster or Zoom are import-only: the Changes panel does not offer Sync Changes for them. Export the updated data instead.

Connecting a new source#

Nothing that goes through a connected tool works on Basic. Google Sheets, Airtable, Lemlist, Phantombuster, Zoom and other apps need Pro; HubSpot, Salesforce, Pipedrive, Attio, Notion and Stripe need Premium, and a reload or sync of a list goes by its source's plan. Every request to the tool costs credits (see the price list). See "Which plan do I need". For a connection you already had before downgrading, see "Cancel, downgrade and leave".

To hand new contacts to a CRM rather than update the source a list came from, use a pipeline (see "Pipelines — send records on to your CRM, Slack, e-mail or API").

Related topics: connect-crm-and-sheets · push-changes-back · crm-credentials · pipelines-overview · which-plan-do-i-need · export-overview.

FAQ#

Does ListPlus keep my connected list updated automatically?#

By default, no — you pull a fresh copy in with Reload and push your edits out with Sync Changes, both only when you click the button. For HubSpot, Salesforce, Pipedrive, Airtable, Notion, Attio or Stripe lists you can turn on Refresh automatically under Set up (the two sliders next to the list's name) to refresh the list daily or weekly; see "Reload: what's kept, what's lost".

What does the Reload button do?#

It fetches the current records from the connected source into your list. It appears on lists from HubSpot, Salesforce, Pipedrive, Airtable, Notion, Attio or Stripe (not Google Sheets), and every member of the workspace can use it.

What is the difference between Update and Reload everything?#

On HubSpot lists (the only source with this choice; Attio always reloads everything), Update fetches only the records that changed in HubSpot since the last fetch and adds new matching ones; it never removes a row. Reload everything fetches all records and also removes rows HubSpot no longer returns. Use Update for a quick refresh and Reload everything when the list should match HubSpot exactly.

Will reloading overwrite the changes I made in ListPlus?#

Not automatically. For each saved edit, ListPlus checks whether the source changed that field: if it didn't, your edit is kept; if the source now has a different value, the source wins and your edit is overwritten. Rows no longer in the source are removed only if they carry none of your work (pending edits, enrichment results, a status or tags).

What happens to my edits and open AI suggestions when I reload?#

Your own edits are saved automatically, so Reload compares them field by field with the source. Open AI suggestions you haven't applied are lost — the warning dialog before reload lists them separately, so click Apply in the list header first if you want to keep them.

Can I push my ListPlus edits back to Google Sheets, HubSpot or Salesforce?#

Yes, using Sync Changes in the Changes panel, for sources that support it (see below). It updates the matching record in the source with the value you changed in ListPlus.

Which connected sources support syncing changes back?#

Google Sheets, HubSpot, Notion, Salesforce and Attio (Attio only for lists imported from People or Companies). Lists from Airtable, Pipedrive, Stripe, Lemlist, Phantombuster and Zoom are import-only; syncing back isn't supported for them.

Does syncing create new records in the source, or only update existing ones?#

Only existing records. Sync Changes never creates new records in the source and never deletes records there — new rows you add in ListPlus stay in ListPlus.

Who is allowed to reload or sync a connected list?#

Every member can use Reload. Sync Changes is shown only to the workspace's owner and admins. Both run under the login of the person who connected the account, and only in the workspace where it was connected.

What does Sync Changes cost, and which plan does it need?#

Sync Changes costs credits per request to the source — see the price list — and needs the plan of the list's source: Pro for Google Sheets, Premium for HubSpot, Salesforce, Attio and Notion. Where the tool allows it, ListPlus writes in batches; otherwise it needs one request per record, plus the reads that compare. If the balance runs out during a sync, the sync stops at the next request: what was written stays written, and the remaining changes stay open.

Does reloading or refreshing a list cost credits or need a plan?#

Yes — a reload, an update and each automatic refresh run need the source's plan (Pro, or Premium for HubSpot, Salesforce, Pipedrive, Attio, Notion and Stripe) and cost credits per request to the source; see the price list. If the balance runs out during a run, the run stops at the next request and the list keeps its previous state.

Why does my automatic refresh say the plan no longer includes this source?#

The workspace's plan was lowered, and the source needs Pro or Premium; the message reads "The workspace's plan no longer includes this source. Upgrade to refresh the list again." The refresh stays switched on and is tried again at each due time, so it resumes by itself once the plan includes the source; the same holds when the workspace has no credits left.