How to Connect Multiple SharePoint Sites to Gemini
The Gemini app most people mean has no Microsoft connector of any kind, so there is nothing to connect SharePoint to, and Carly is what supplies it. Connect each Microsoft identity to Carly, add Carly to Gemini as a custom app, and your own tenant plus a client tenant become answerable in one chat. Carly holds your Gmail and Outlook mailboxes, both sets of calendars and your drives in the same place.
Google’s Connected Apps list for the consumer Gemini app runs to Gmail, Drive, Docs, Keep, Tasks, Photos, YouTube Music, Spotify, Google Home, Instacart, OpenTable and a long tail of Android phone apps. No SharePoint, no OneDrive, no Outlook, no Teams. The detail that makes this precise rather than a shrug: Dropbox and GitHub are on that list. Google is not refusing third parties. The gap is Microsoft shaped.
What one chat can do afterwards
- Search your own intranet and a client site in the same question.
- Compare a statement of work against your master template, naming the source site on each row.
- File a countersigned agreement to the library you name.
- Rename and date incoming documents to your convention.
- Reach a client tenant you are a guest in, with no PowerShell grant.
- Act when a document lands, rather than at the next three-hour poll.
Nothing is merged. Each Microsoft identity keeps its own authorization and stays individually addressable.
1. Sort your sites
| Site | Tenant | Reachable in one Gemini chat |
|---|---|---|
| Your team site | Your tenant | Only through Carly, or Gemini Enterprise |
| A contracts library you want scoped alone | Your tenant | Gemini Enterprise admin editions, or Carly per instruction |
| Three project sites, nothing else | Your tenant | Sites.Selected plus per-site grants, or Carly |
| A client site you are a guest in | Another tenant | Only through Carly |
| A second employer’s intranet | Another tenant | Only through Carly |
| Anything at all, in the consumer or Workspace Gemini app | Either | Only through Carly |
2. Connect each tenant to Carly
- Sign in at carlyassistant.com.
- Open carlyassistant.com/integrations.
- Find SharePoint and click Connect.
- Authorize the first Microsoft identity.
- Repeat for every additional account, including a client tenant you hold access to.
- Verify each account after authorization.
No Cloud IAM role, no app registration in someone else’s organization, and no per-site PowerShell grant. Every identity you connect is authorized separately, and the number of them does not change the price.
3. Add Carly as a custom app in Gemini
- Go to gemini.google.com on a computer.
- Open Settings & help → Connected Apps.
- Under Custom apps for Spark, click Add a custom app.
- Enter
https://carlyassistant.com/mcp/. - If prompted, open Show more under Advanced features to enter credentials.
- Click Next and follow the on-screen instructions.
Google gates this channel. Custom apps need a personal Google Account, since the feature “isn’t available if you sign in with a work or school Google Account,” plus being 18 or over and in the US, with Keep Activity on. Support has rolled out unevenly across Spark’s surfaces and tiers, so if the option is missing, check your plan and platform against Google’s availability documentation.
The personal-account rule does not block this setup, because Carly holds the Microsoft identities rather than Gemini. Google notes it does not control or secure third-party MCP servers: Carly’s actions are the SharePoint operations you authorized per account, revocable at carlyassistant.com/integrations. Where Google’s gates rule you out, the same routing runs from Carly directly.
4. Test each site read-only
One site per prompt until routing is reliable.
On the Cisco engagement site, list every document added to the delivery library in the last two weeks. Read only.
On our own intranet, find the current subcontractor agreement template and summarize the termination clause. Change nothing.
Then the question that needed two accounts at once:
Compare the statement of work on the Cisco site with our master template on the company site and list every clause that differs, showing the source site for each document.
5. Reuse this routing prompt
Treat my primary Microsoft account as Company and the client tenant as Client. Always state the target site and account before saving, filing, or updating a document. Never write to an account I have not named.
Then name the target per action.
File the countersigned agreement to the Client delivery library and add the renewal date to the Company tracker.
Where Google’s own SharePoint support stops
Federated search versus ingestion decides everything else
Gemini Enterprise’s SharePoint connector offers two modes, and almost every question below has a different answer depending which you picked.
Data federation queries SharePoint live through the API. Nothing is indexed. It needs no Graph application permissions, only Sites.Search.All and AllSites.Read, or Sites.Selected for a subset. Google’s wording on the permission model is the part worth keeping: “Search results are based on the user’s permissions instead of the app’s permissions,” checked at query time.
Data ingestion copies content into a data store and searches that. It needs the full Graph permission set, including GroupMember.Read.All, User.Read, User.Read.All and User.ReadBasic.All, and depends on identity sync to map users onto access control lists. Here is the sharp edge: incremental syncs do not refresh identity data or deletions. Only a full sync does. Between full syncs, a person removed from a site can still see its content in results.
Scoping to specific sites has two steps, not one
Google’s configuration page gives two application permissions. Sites.FullControl.All covers every site in the tenant. Sites.Selected allows the connector to “access a subset of site collections.” Note the names, because the obvious guess is wrong: Google does not use Sites.Read.All here.
Granting Sites.Selected in Entra does nothing on its own. You must then grant fullcontrol on each individual site, using PowerShell or Graph Explorer, referencing the application’s Client ID and display name. Skip that second step and the connector authenticates cleanly, syncs, and returns nothing, which reads like a broken connector rather than an incomplete grant. If you are scoping Gemini to four project sites at Ford and it sees zero documents, this is almost always why.
The app registration itself is ordinary: Entra admin center, App registrations, New registration, Accounts in this organizational directory only, with redirect URIs pointing at https://vertexaisearch.cloud.google.com/console/oauth/sharepoint_oauth.html and the matching oauth-redirect path. Administrator consent is required and is its own failure mode, since unconsented permissions sit there looking granted while sync fails.
Setting up a data store also asks for an Instance URI, and Google’s documentation is not consistent about what belongs in it. The ingestion page gives two forms, a tenant root of https://DOMAIN.sharepoint.com for all first-level sites and https://DOMAIN.sharepoint.com/sites/WEBSITE for a single site, while the set-up page describes it only as “the base URL for your Microsoft SharePoint instance.” Treat the two-form reading as likely but unconfirmed, and add the sites you care about explicitly rather than trusting a root to sweep them in.
Business edition connects SharePoint but cannot scope it
Business edition is self-serve, and its connector list names “Microsoft: Learn, OneDrive, Outlook (Email and Calendar), SharePoint, and Teams.” Sign in, click Settings and help, select your Team, then Manage team, then flip the switch in the Connectors view, and each person authenticates their own Microsoft account. There is no app registration on that page, and no site picker either. Site scoping is an admin-edition feature.
The action set, and the tenant ceiling
Reads cover documents, lists and sites, with selectable entities reported as files, pages, events, comments and attachments, attachments being read-only. Writes are documented and real: create a folder, add a list, upload and download documents, add a page, check documents in and out, rename, and move attachments or documents, capped at 50 MB. There is no documented delete action.
The data store is supported only in the global, us and eu locations, the same restriction that applies to Outlook in Gemini, and choosing us or eu requires CMEK. Nothing is event driven: combined syncs run at 3, 6 or 12 hours or 1 or 3 days, entity syncs out to 7 days, identity syncs as tight as 30 minutes. The best case for a new document appearing is a three-hour wait.
Multi-tenant SharePoint is not addressed anywhere in Google’s documentation. What is documented is that the app registration is explicitly single tenant, which forces one registration per tenant, and that Gemini Enterprise creates a separate data store per entity. One data store per tenant is the obvious inference, and nobody has written down that it works, what the query experience looks like across two stores, or how identity sync behaves when the same person exists in both.
Native Gemini versus Carly
| Need | Gemini Enterprise | Carly |
|---|---|---|
| SharePoint in the consumer or Workspace app | No | Yes, as a custom app |
| Search many sites in one tenant | Yes | Yes |
| Restrict to specific sites | Yes, admin editions, two-step grant | Yes, per instruction |
| Respect each user’s SharePoint permissions | Yes, live, in federated mode | Yes |
| Hold two tenants at once | Undocumented | Yes |
| Act when a document lands | No, scheduled polling only | Yes |
Carly authorizes per account on your side. A client tenant you already have access to becomes usable without a Cloud administrator, without a PowerShell grant per site, and without an app registration in someone else’s organization. It holds several Microsoft identities at once, and it fires on the event rather than waiting for an index refresh: a signed document lands in a library, it gets read, filed against the right client, dated, and summarized to the account owner.
Free Zapier-style workflows; AI agents from $35/month. Connect it at carlyassistant.com/integrations, or start with SharePoint.
Quick fixes
| Problem | Fix |
|---|---|
| No SharePoint option anywhere in Gemini | You are in the consumer or Workspace app, which has no Microsoft connector |
| Add a custom app is missing | Custom apps need a personal Google Account, US location, English, and Keep Activity on |
| Connector syncs but returns nothing | Sites.Selected was granted without the per-site fullcontrol grant |
| Some sites appear, subsites do not | A tenant-root Instance URI reaches first-level sites; add the others explicitly |
| A removed user still sees a site’s content | Identity is refreshed by full syncs only, incremental syncs skip it |
| Business edition has no site picker | Correct, scoping requires an admin edition, or name the site in a Carly instruction |
| A client tenant has nowhere to go | Authorize it at carlyassistant.com/integrations |
Frequently asked questions
Can I connect SharePoint to the Gemini app?
Not natively. The consumer Gemini app’s Connected Apps list has no SharePoint, OneDrive, Outlook or Teams, and the Workspace help pages add none. Dropbox and GitHub are on that list, so the absence is specific to Microsoft. Carly reaches SharePoint from the Gemini app as a custom app.
How do I limit Gemini to certain SharePoint sites?
On the admin-gated editions, grant Sites.Selected instead of Sites.FullControl.All, then grant fullcontrol on each site individually through PowerShell or Graph Explorer. Both steps are required. Through Carly you name the site in the instruction instead.
Can Gemini Enterprise reach two Microsoft tenants?
Google does not document it. The app registration is single tenant by design, so you would need a second registration and almost certainly a second data store per tenant, which is an inference rather than a supported path. Carly authorizes each tenant separately.
Can Gemini write to SharePoint?
Yes. Documented actions include creating folders, adding lists, uploading and downloading documents, adding pages, checking documents in and out, renaming, and moving attachments or documents, with a 50 MB cap. There is no documented delete.
Does Gemini react when a file lands in SharePoint?
No. Sync is scheduled polling, with combined syncs no more frequent than every three hours and identity syncs no more frequent than every 30 minutes. Nothing on Google’s path is event driven.
Related: Multiple Outlook accounts in Gemini · Gemini connectors · Multiple SharePoint sites in ChatGPT · Best AI assistants for SharePoint · SharePoint
Ready to automate your busywork?
Carly schedules, researches, and briefs you—so you can focus on what matters.
See what people say
"Before Carly, I relied on a Calendly link, but the whole process felt impersonal and not very professional. Carly changed that by handling all the back-and-forth, so I'm no longer stuck in endless email threads trying to line up schedules.
Now Carly reaches out to candidates, shares my real-time availability, lets them pick a slot, then sends a Zoom link and drops it straight into my calendar. She sends reminders to both of us before each call, which has significantly reduced no-shows and last-minute confusion.
On top of scheduling, Carly acts like a full executive assistant, sending me my schedule the night before so I can prepare for each call. It reminds me of the old x.ai assistant, but Carly is noticeably smarter, faster, and better suited to my healthcare recruitment business."


