Setting up Spanner in Microsoft 365 Copilot

For your IT team: what Copilot needs, the one-time setup, and what to do if something goes wrong.

Last updated 9 November 2026

The short version

  • Your Spanner users can ask Microsoft 365 Copilot to work in the Spanner document they have open. The Spanner agent passes each request through our cloud service to Spanner on the user's PC.
  • Your IT team sets it up once, in six steps. There are no keys or secrets to hand out.
  • Each user needs Microsoft 365 Copilot, Copilot Business or Copilot Chat, and Spanner 2.5 or later.
  • Spanner connects out over HTTPS. Nothing connects into your PCs.
  • For where your data goes when an AI app uses Spanner, see Using Spanner with AI apps.

How it works

A Spanner user types a request in Microsoft 365 Copilot. The Spanner agent passes it to our cloud service, the Spanner AI API, which relays it to Spanner on that user's PC.

Microsoft 365 Copilot The Spanner agent, in your Microsoft 365 tenant
Microsoft Entra ID One admin approval for your organisation
Spanner AI API Our cloud service, on Azure in UK South. Checks the sign-in and your tenant.
Unknown organisations are refused
Spanner Running on the user's PC. Shows the session key.
No inbound ports on the PC

What you need

WhoNeedsWhy
Each Spanner userA Microsoft 365 work account with Microsoft 365 Copilot, Copilot Business or Copilot ChatTo use the Spanner agent in Copilot
Each Spanner userSpanner 2.5.0.0 or later, with the cloud connectionCopilot works on the document open in Spanner
Your IT teamAI Administrator or Global Administrator roleTo upload and deploy the Spanner agent
Your IT teamCloud Application Administrator, Application Administrator or Global Administrator roleTo approve the Spanner AI API
Your networkOutbound HTTPS (port 443) to spanner-ai-api.calmsmoke-8a7b20c5.uksouth.azurecontainerapps.ioSpanner keeps one long-lived connection open to our service
UsYour Microsoft 365 tenant IDTo link your organisation to its Spanner licence

Setting it up

Your IT team does six things once: check the agent policy, send us your tenant ID, approve the Spanner AI API, deploy the agent, check the network, and run a pilot.

  1. Check the agent policy

    In the Microsoft 365 admin center, go to Copilot › Settings › Data access › Agents, or Agents › Settings › Agent and plugin access. Make sure agents from external publishers are allowed for your Spanner users.

  2. Send us your tenant ID

    You'll find it at entra.microsoft.com › Entra ID › Overview › Tenant ID. It isn't secret. Email it to enquiries@catmantoolkit.com and we'll link it to your Spanner licence. Until we do, Copilot requests from your organisation are refused.

  3. Approve the Spanner AI API for your organisation

    Role: Cloud Application Administrator, Application Administrator or Global Administrator
    1. Open this address, with your tenant ID in place of <tenant-id>:
      https://login.microsoftonline.com/<tenant-id>/adminconsent?client_id=00ed5ac1-08c6-439b-8107-227236c86f1d
    2. Sign in, review the permissions and select Accept.
    3. The browser may then show a Teams page or a blank page. That's expected: the approval is already saved.

    Check: entra.microsoft.com › Entra ID › Enterprise applications lists the Spanner app, and its Permissions page shows admin consent granted.

  4. Upload and deploy the Spanner agent

    Role: AI Administrator or Global Administrator

    We send you the agent package, a .zip file.

    1. In the Microsoft 365 admin center, go to Agents › All agents › Upload custom agent › Choose File and pick the .zip file.
    2. Check the name, icon and host products, then select Next.
    3. Choose the users. Start with a pilot group and widen it later. Select Next.
    4. Review the permissions and capabilities, then select Next and Finish deployment.

    To change who has it later: Agents › All agents › Spanner › Users.

  5. Check the network

    Spanner PCs need outbound HTTPS (port 443) to spanner-ai-api.calmsmoke-8a7b20c5.uksouth.azurecontainerapps.io. Nothing connects into the PC.

    Spanner holds one connection open for the whole session. Proxies that inspect SSL traffic, such as Zscaler or Netskope, can cut or buffer it. If Spanner keeps disconnecting, exclude this address from inspection.

    Test: connect Spanner on a corporate PC and leave it for 5 minutes. If it stays connected, the network is fine.

  6. Run a pilot

    One user tries Spanner in Copilot, then tells us how it went.

Security and data

Copilot reaches a user's Spanner only with a Microsoft-signed sign-in plus that user's session key, and no keys or secrets are handed to your organisation.

TopicAnswer
HostingThe Spanner AI API runs on Azure Container Apps in UK South, operated by Productive Insights Ltd.
Sign-inMicrosoft Entra ID. Our service checks each token's signature, that it's meant for Spanner, the access_as_user permission and the tenant ID.
Which organisations get inOnly tenant IDs registered with us. Others are refused and logged.
Permissions requestedSign-in to the Spanner AI API (access_as_user). Spanner doesn't ask for access to mail, files or Teams.
Reaching a user's SpannerOnly with the session key Spanner shows on that PC. It changes every time Spanner connects.
Document dataPasses through our service in memory and isn't stored there.
What our service storesFor each session: the session key, your saved merchandising rules and which of our servers holds the connection, kept for up to 10 days.
Inside CopilotData that Copilot reads from Spanner, such as products and sales, becomes part of the Copilot conversation under your organisation's Microsoft 365 Copilot terms.
Changes to documentsThe user confirms each change in Copilot before it runs, and changes can be undone in Spanner.
NetworkSpanner connects out over HTTPS on port 443. No inbound ports are opened.

See also Using Spanner with AI apps, our privacy policy and our data processing terms.

Troubleshooting

Most problems come from a missing setup step or an old session key.

What you seeLikely causeFix
Spanner isn't listed under Agents in CopilotIt hasn't been deployed to that user yetAgents › All agents › Spanner › Users, then allow time for it to appear
"This plugin is blocked by your organization's policy"The agent policy excludes itStep 1
Sign-in asks for admin approval, or fails with a "resource principal not found" errorThe Spanner AI API isn't approved in your tenantStep 3
Copilot says Spanner refused the requestYour tenant ID isn't registered with us yetStep 2. We can find your tenant ID in our log
"No Spanner session key provided", or the key isn't recognisedA missing or old session keyGive Copilot the key Spanner shows now
"Spanner Desktop isn't connected"Spanner is closed or disconnectedOpen Spanner, connect it and give Copilot the new key
Spanner disconnects after a few minutesA proxy is cutting the long-lived connectionStep 5
A command times outIt ran for longer than 90 secondsCheck Spanner first, because the change may have finished, then ask for smaller batches
Copilot says a confirmation expired, but Spanner made some of the changesCopilot dropped a reply that was too largeUndo the partial changes in Spanner, or ask Copilot to check the document and run only what's missing

Still stuck? Email enquiries@catmantoolkit.com.