<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI and search over SharePoint data: SPSync blog</title><description>Agents, Copilot Studio, text-to-SQL chat and retrieval over SharePoint lists and library metadata, all reading one replicated copy, with what each tool can see set by the database role and row-level security you grant.</description><link>https://spsync.io/blog/guides/ai-and-search/</link><atom:link href="https://spsync.io/blog/guides/ai-and-search/rss.xml" rel="self" type="application/rss+xml"/><language>en-GB</language><lastBuildDate>Mon, 26 Oct 2026 00:00:00 GMT</lastBuildDate><item><title>Azure AI Foundry agents and SharePoint list rows</title><link>https://spsync.io/blog/azure-ai-foundry-agents-on-sharepoint-lists/</link><guid isPermaLink="true">https://spsync.io/blog/azure-ai-foundry-agents-on-sharepoint-lists/</guid><description>The Foundry SharePoint tool (preview) retrieves text from documents, not list rows. What each Foundry tool reads today, and how to query a list replica.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>SharePoint lists in Foundry IQ after On Your Data retired</title><link>https://spsync.io/blog/azure-openai-on-your-data-sharepoint-lists-foundry-iq/</link><guid isPermaLink="true">https://spsync.io/blog/azure-openai-on-your-data-sharepoint-lists-foundry-iq/</guid><description>Azure OpenAI On Your Data retired on 14 October 2026. How to ground answers on a SharePoint list in Foundry IQ, through an Azure AI Search index kept current.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Copilot Studio says it cannot find the item at row 3,000</title><link>https://spsync.io/blog/copilot-studio-cannot-find-the-item-at-row-3000/</link><guid isPermaLink="true">https://spsync.io/blog/copilot-studio-cannot-find-the-item-at-row-3000/</guid><description>Your agent answers about some list items and says others do not exist. The 2,048-row read and search ranking explain it, with a test to show what it sees.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Keeping SharePoint data in region for AI: where prompts, embeddings and indexes go</title><link>https://spsync.io/blog/keeping-sharepoint-data-in-region-for-ai/</link><guid isPermaLink="true">https://spsync.io/blog/keeping-sharepoint-data-in-region-for-ai/</guid><description>Your data protection officer asks whether AI on a SharePoint list sends it abroad. Four hops decide it: the model, the embedding call, the index and the logs.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Agents on SharePoint data without a Graph app registration</title><link>https://spsync.io/blog/agents-on-sharepoint-data-without-a-graph-app-registration/</link><guid isPermaLink="true">https://spsync.io/blog/agents-on-sharepoint-data-without-a-graph-app-registration/</guid><description>Your request for a Graph app registration for an AI loader was refused. One read-only Sites.Selected grant to a replica, then a database role per tool, is easier to approve.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Copilot Studio and SharePoint lists: four routes compared</title><link>https://spsync.io/blog/copilot-studio-and-sharepoint-lists-three-routes-that-work/</link><guid isPermaLink="true">https://spsync.io/blog/copilot-studio-and-sharepoint-lists-three-routes-that-work/</guid><description>A Copilot Studio maker with a 9,000-item list has four ways to answer from it. What list knowledge, a flow, Dataverse and a SQL replica each cost.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Supabase and SharePoint lists for an app and an AI agent</title><link>https://spsync.io/blog/supabase-and-sharepoint-one-postgres-for-the-app-and-the-agent/</link><guid isPermaLink="true">https://spsync.io/blog/supabase-and-sharepoint-one-postgres-for-the-app-and-the-agent/</guid><description>A field-ops app on Supabase and an AI agent reading the same replicated SharePoint lists, with row-level security per team and a read-only role for the agent.</description><pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Human-in-the-loop AI agents over SharePoint evidence</title><link>https://spsync.io/blog/human-in-the-loop-ai-agents-over-sharepoint-evidence/</link><guid isPermaLink="true">https://spsync.io/blog/human-in-the-loop-ai-agents-over-sharepoint-evidence/</guid><description>An agent checks contractor certificates for each job against a SQL replica of SharePoint, writes the gaps to a review table, and a person approves the packet.</description><pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate></item><item><title>One SQL copy of SharePoint for every agent you run</title><link>https://spsync.io/blog/one-sql-copy-of-sharepoint-for-every-agent-you-run/</link><guid isPermaLink="true">https://spsync.io/blog/one-sql-copy-of-sharepoint-for-every-agent-you-run/</guid><description>What a cross-list question costs an AI agent through Graph, worked for three real-sized lists, and the same question as one SQL join on a replica.</description><pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Why your agent should not query SharePoint live</title><link>https://spsync.io/blog/why-your-agent-should-not-query-sharepoint-live/</link><guid isPermaLink="true">https://spsync.io/blog/why-your-agent-should-not-query-sharepoint-live/</guid><description>Agent tools that call Microsoft Graph share SharePoint&apos;s throttling budgets with every other integration. When a live read is right, and when to use a replica.</description><pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Four ways to embed SharePoint list text, compared</title><link>https://spsync.io/blog/embedding-sharepoint-lists-flow-script-or-replication/</link><guid isPermaLink="true">https://spsync.io/blog/embedding-sharepoint-lists-flow-script-or-replication/</guid><description>A facilities incident list embedded four ways, from a Power Automate flow to embedding on sync into pgvector, with the upkeep each one brings.</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Running a local AI model over SharePoint data in DuckDB</title><link>https://spsync.io/blog/local-ai-over-sharepoint-data-with-sqlite-or-duckdb/</link><guid isPermaLink="true">https://spsync.io/blog/local-ai-over-sharepoint-data-with-sqlite-or-duckdb/</guid><description>A law firm that cannot send client data to a public AI service replicates its Matters list into DuckDB on a laptop and queries it with Ollama.</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Library metadata is the catalogue an AI assistant needs</title><link>https://spsync.io/blog/sharepoint-library-metadata-the-catalogue-an-ai-needs/</link><guid isPermaLink="true">https://spsync.io/blog/sharepoint-library-metadata-the-catalogue-an-ai-needs/</guid><description>A policy assistant quoted a withdrawn document because it only read file text. A replicated metadata table lets it pick documents by status first.</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Read SharePoint once and let the AI pipeline query the copy</title><link>https://spsync.io/blog/sharepoint-throttling-and-ai-pipelines-read-once-query-often/</link><guid isPermaLink="true">https://spsync.io/blog/sharepoint-throttling-and-ai-pipelines-read-once-query-often/</guid><description>A finance assistant hit 429s every month-end. The resource-unit arithmetic behind Graph throttling, and how one delta reader and a replica fix it.</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Keeping a SharePoint vector index current as items change</title><link>https://spsync.io/blog/stale-embeddings-keeping-a-sharepoint-vector-index-current/</link><guid isPermaLink="true">https://spsync.io/blog/stale-embeddings-keeping-a-sharepoint-vector-index-current/</guid><description>An HR assistant kept quoting a carry-over rule that changed in March. The four kinds of embedding drift, and re-embedding only rows that changed.</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Training and evaluation sets from SharePoint records</title><link>https://spsync.io/blog/training-and-evaluation-sets-from-sharepoint-records/</link><guid isPermaLink="true">https://spsync.io/blog/training-and-evaluation-sets-from-sharepoint-records/</guid><description>A service desk scores a ticket-type assistant against three years of SharePoint tickets, with SQL over a replica and snapshots that can be rebuilt.</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate></item><item><title>An MCP server for SharePoint data that queries SQL</title><link>https://spsync.io/blog/connect-an-ai-assistant-to-sharepoint-data-with-sql-not-graph/</link><guid isPermaLink="true">https://spsync.io/blog/connect-an-ai-assistant-to-sharepoint-data-with-sql-not-graph/</guid><description>Claude, ChatGPT or Cursor reading a read-only SQL replica of SharePoint lists through a database MCP server, with no Graph permission of its own.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Why Copilot cannot count the rows in your SharePoint list</title><link>https://spsync.io/blog/copilot-on-sharepoint-lists-why-it-cannot-count-your-rows/</link><guid isPermaLink="true">https://spsync.io/blog/copilot-on-sharepoint-lists-why-it-cannot-count-your-rows/</guid><description>Copilot Studio reads the first 2,048 rows of a list and counts what search returns. Here are the documented limits and what a SQL replica changes.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Text-to-SQL on SharePoint data depends on the schema</title><link>https://spsync.io/blog/text-to-sql-on-sharepoint-data-why-the-schema-decides/</link><guid isPermaLink="true">https://spsync.io/blog/text-to-sql-on-sharepoint-data-why-the-schema-decides/</guid><description>A project office asked a chat box which clients had projects at risk and got ids and claims strings back. The schema fixes that make the SQL right.</description><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate></item></channel></rss>