SPSync vs Coupler.io

Coupler.io refreshes Microsoft Lists into sheets, BI tools and a few warehouses on a schedule. What each run does to your table, and where SPSync differs.

Choose SPSync when you want SharePoint lists kept current in a database you run, with lookups as keys and deletes recorded; choose Coupler.io for a scheduled list refresh into a sheet, dashboard or AI tool.

Documentation reviewed

Where Coupler.io fits

Where it breaks

Feature by feature

FeatureSPSyncCoupler.io
SharePoint data readList items and document library metadata, with a schema built from each list's columnsLists, list content types and list items from a site you pick (checked 2026-10-23)
DestinationsRelational, warehouse, lake and search/vector destinations: 20 destination engines (30+ named targets such as Azure SQL, MariaDB and Supabase), including SQL Server, Postgres, BigQuery, Databricks, ClickHouse, Parquet, Iceberg, pgvector and Azure AI Search; see /destinations/Spreadsheets, BI tools, BigQuery, Snowflake, PostgreSQL, Redshift, Supabase, JSON and AI tools; no SQL Server (checked 2026-10-23)
What each run writesOnly the items that changed since the last run, read by Microsoft Graph delta queryThe whole result again, either replacing the table or appended below the last copy (checked 2026-10-23)
DeletesThe row stays, flagged with sp_deleted_at, by defaultGone from the table in Replace mode; earlier copies remain in Append mode
Lookup normalisationLookups become joinable key columns automaticallyNot described on the connector page
Multi-value columnsChild tablesNot described on the connector page
ScheduleEvery few minutes by default, plus a reconcile, weekly by defaultScheduled, at a frequency set by the plan; see Coupler.io's pricing page
Where it runsDesktop app on macOS and Windows, the command-line tool, or SPSync in your AzureCoupler.io's cloud, which connects inbound to your database
SharePoint permissionsDelegated sign-in, or app-only with Sites.Selected granted read on the sites you chooseConnect a Microsoft account in the browser; the permission scope is not described on the connector page
AI toolingNo agent of its own; a read-only MCP server over the replica (spsync mcp serve) or one you choose reads it under a read-only database login; embeddings on sync for pgvector and Azure AI SearchIntegrations for Claude, ChatGPT, Copilot, Cursor and other AI tools, plus a custom MCP endpoint (checked 2026-10-23)
Pricing modelLicensed per installation and per target family, on annual terms, with Standard Support included; no public price list, quoted after a callPublished plans sized by connected accounts, destinations and refresh frequency; see Coupler.io's pricing page (checked 2026-10-23)

You built a Power BI report on a SharePoint list, it slowed down, and somebody suggested copying the list into a database first. Search for “SharePoint list to PostgreSQL” or “SharePoint to Supabase” and Coupler.io is near the top, with a setup that takes a few clicks. For plenty of reports that is the right call. This page is about what happens to the table after the first load.

What does Coupler.io do with a SharePoint list?

Coupler.io calls the source Microsoft SharePoint Lists. You pick a site, then pick what to export: the lists on that site, their content types, or the items in a list. A data flow can filter, add columns and join or append data from other sources before it loads, and then it writes to one of a broad set of destinations. Those include Google Sheets, Excel, Power BI, Looker Studio and Tableau, warehouses such as BigQuery, Snowflake, PostgreSQL, Redshift and Supabase, and AI tools such as Claude and ChatGPT (checked 2026-10-23).

That breadth is the strength. A marketing or finance team that already uses Coupler.io for ad platforms and accounting tools can add a list to the same workspace and the same dashboards without asking anyone for a server.

Replace or append: what each run does to your table

Coupler.io’s PostgreSQL guide gives a data flow two write modes. Replace drops all the rows in the table and loads fresh data on each run. Append adds the new result below the rows already there, and when the source gains a column you alter the table by hand before the next run (checked 2026-10-23).

For a small list feeding one dashboard, Replace is fine. It gets harder as the list grows. Every scheduled run reads the whole list again, so a list past the 5,000-item view threshold is read in full however little changed. A deleted item disappears from the table with no record that it existed, which matters if the copy is your audit trail or your backup. Append keeps history, but as repeated copies of every item that you then have to de-duplicate.

We could not find a Coupler.io guide for this source. Its help centre has pages for Excel and Microsoft Ads and none for SharePoint or Microsoft Lists, and the connector page does not say how lookup, person or multi-choice columns arrive (checked 2026-10-23). Run a test flow on your busiest list and check those columns before you build reports on them.

Can Coupler.io send Microsoft Lists data to Claude or ChatGPT?

Yes, and this is where Coupler.io is ahead of most connectors. Its AI integrations send a data flow to Claude, ChatGPT, Copilot, Cursor, Gemini, Perplexity and OpenClaw, and a custom MCP endpoint exposes data flows to other AI tools (checked 2026-10-23). For a quick question over a modest list, that is a short route from the list to an answer.

SPSync takes a different route. It ships no agent. It keeps one SQL copy of your lists current in a database you run, and an assistant reaches it through a database MCP server you choose, or through spsync mcp serve, SPSync’s own read-only MCP server, signing in with a read-only database login. SharePoint item permissions are not carried into the replica, so database roles decide what each assistant sees. If you want semantic search over item text, SPSync writes embeddings as it syncs, into pgvector or Azure AI Search and nowhere else yet. Documents themselves stay in SharePoint, and only their metadata is copied.

Where SPSync differs

SPSync reads each list through Microsoft Graph delta queries, so a run moves only the items that changed, and a reconcile, weekly by default, compares the whole list with the replica as a quality check and to catch up after an outage. Lookups become key columns you can join on, multi-value columns become child tables, and a deleted item keeps its row with sp_deleted_at set.

It also runs where you choose: the desktop app on Windows or macOS, the command-line tool on your own server, or SPSync in your own Azure subscription. Your database never has to accept connections from a vendor’s cloud. Sign-in can be app-only with Sites.Selected, granted read access to only the sites you pick. SQL Server and Azure SQL are among its destinations, which Coupler.io does not list.

The trade-off is reach. SPSync reads SharePoint and nothing else, and it does not load spreadsheets or BI tools directly. Power BI, Tableau and Excel read the database it writes.

Moving a Coupler.io data flow to SPSync

  1. List the Coupler.io data flows that read SharePoint, and note each destination table.
  2. In SPSync, sign in to SharePoint and tick the same lists.
  3. Pick the database, or point SPSync at a new schema in the same PostgreSQL or Supabase database, and let the first full load run.
  4. Compare row counts, then check a lookup column by joining it to its target table.
  5. Repoint the dashboard or report at the SPSync tables and switch off the data flow.

SPSync as a Coupler.io alternative for SharePoint lists

SPSync replaces a Coupler.io data flow when the list has to live in a database you run and stay current there. It reads only what changed, keeps a row for each deleted item, writes lookups as key columns and multi-value columns as child tables, and can write to SQL Server and Azure SQL, which Coupler.io does not list.

Other alternatives

Frequently asked questions

Does Coupler.io copy only the SharePoint items that changed?

Its PostgreSQL guide describes two write modes. Replace drops every row in the table and loads fresh data on each run, and Append adds the new result below what is already there (checked 2026-10-23). Neither mode merges changes into existing rows. SPSync reads only the changed items through Microsoft Graph delta queries and updates those rows in place.

Can Coupler.io load a SharePoint list into SQL Server?

Not on the evidence of its own pages. The Microsoft Lists connector page and the pricing page list BigQuery, Snowflake, PostgreSQL, Redshift and Supabase among the warehouses, and no SQL Server or Azure SQL (checked 2026-10-23). SPSync writes to both.

How often does Coupler.io refresh a list?

On a schedule, and how often depends on the Coupler.io plan; its pricing page sets out the refresh frequency for each (checked 2026-10-23). Each run reloads or appends the whole result. SPSync reads changes every few minutes by default on every licence.

How is each product priced?

Coupler.io publishes its plans on its pricing page, sized by connected accounts, destinations and refresh frequency (checked 2026-10-23). SPSync has no public price list: licences are per installation and per target family, quoted after a call, and the number of rows does not change them.

Desktop, Azure or command line

All three editions run the same engine, write the same tables and use the same licence key, so the choice comes down to who looks after the sync.

Desktop app

For macOS and Windows. Sign in with Microsoft, tick the lists, choose a database and sync from your own machine on the schedule you set. Delegated sign-in needs no admin unless your tenant requires admin consent for apps.

In your Azure

SPSync in your Azure, a managed application for your own subscription, is deployed with you on a call while the Marketplace listing is prepared. Once deployed it is always on, so the sync keeps running with every laptop closed.

Command line

Every replication is a YAML file you can review and commit. Run it from a server, a container or a CI pipeline, and re-run it safely any time.

Book a call

Book a call to talk through your use case, see further walkthroughs or demos, and set up a trial in your own environment.