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
- A no-code data flow from a list to a sheet, a dashboard or a warehouse, set up in the browser
- the same flow can join or append data from hundreds of other sources before it loads
- Microsoft Lists data can go straight to Claude, ChatGPT, Copilot and other AI tools through Coupler.io's own integrations
- a SOC 2 Type II report for procurement
Where it breaks
- each run either replaces the whole table or appends a fresh copy of the rows, so a deleted item leaves no trace in Replace mode and every item repeats in Append mode
- its destinations include PostgreSQL, Supabase, BigQuery and Snowflake, and no SQL Server or Azure SQL
- the connector page does not say how lookup, person or multi-choice columns arrive, and the help centre has no Microsoft Lists guide
- how often a data flow can refresh depends on the plan
- your database must accept connections from Coupler.io's cloud, so a database behind a firewall needs its addresses allowlisted
Feature by feature
| Feature | SPSync | Coupler.io |
|---|---|---|
| SharePoint data read | List items and document library metadata, with a schema built from each list's columns | Lists, list content types and list items from a site you pick (checked 2026-10-23) |
| Destinations | Relational, 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 writes | Only the items that changed since the last run, read by Microsoft Graph delta query | The whole result again, either replacing the table or appended below the last copy (checked 2026-10-23) |
| Deletes | The row stays, flagged with sp_deleted_at, by default | Gone from the table in Replace mode; earlier copies remain in Append mode |
| Lookup normalisation | Lookups become joinable key columns automatically | Not described on the connector page |
| Multi-value columns | Child tables | Not described on the connector page |
| Schedule | Every few minutes by default, plus a reconcile, weekly by default | Scheduled, at a frequency set by the plan; see Coupler.io's pricing page |
| Where it runs | Desktop app on macOS and Windows, the command-line tool, or SPSync in your Azure | Coupler.io's cloud, which connects inbound to your database |
| SharePoint permissions | Delegated sign-in, or app-only with Sites.Selected granted read on the sites you choose | Connect a Microsoft account in the browser; the permission scope is not described on the connector page |
| AI tooling | No 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 Search | Integrations for Claude, ChatGPT, Copilot, Cursor and other AI tools, plus a custom MCP endpoint (checked 2026-10-23) |
| Pricing model | Licensed per installation and per target family, on annual terms, with Standard Support included; no public price list, quoted after a call | Published 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
- List the Coupler.io data flows that read SharePoint, and note each destination table.
- In SPSync, sign in to SharePoint and tick the same lists.
- Pick the database, or point SPSync at a new schema in the same PostgreSQL or Supabase database, and let the first full load run.
- Compare row counts, then check a lookup column by joining it to its target table.
- 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
- Peliqan: SharePoint lists in a hosted warehouse with an MCP server, text-to-SQL and RAG on top.
- Skyvia: a cloud sync between a list and a database, two-way if you need it, on plans with a monthly record allowance.
- Fivetran: a managed Microsoft Lists connector that loads a warehouse on a schedule and bills by Monthly Active Rows.
- Power Query: reads a list straight into Excel or Power BI on each refresh, with nothing to buy if you already have the licences.
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.