Microsoft 365 through Squiid

Outlook, Teams, OneDrive and SharePoint through Microsoft Graph. Microsoft 365 is on the Squiid roadmap.

Roadmap Connect Connect. Link an account you already own with an OAuth-style connection.

What Microsoft 365 is

Microsoft Graph is the single API across Microsoft 365. It covers Outlook mail and calendar, OneDrive and SharePoint files, Teams messages and channels, Excel workbooks, and Entra ID directory data, with permissions granted either on behalf of a signed-in user or as an application. For corporate environments it is usually the only integration that matters, because everything the organisation does is already there. Graph also supports change notifications, so an app can subscribe to mailbox or file events instead of polling.

For AI-coded products aimed at businesses, this is what makes an assistant useful inside a company: summarising a Teams channel, scheduling across Outlook calendars, reading a SharePoint document library into a retrieval pipeline, or posting a report into a channel. The permission model is also the strictest here, with admin consent required for many scopes, which is a feature when the alternative is an agent with unlimited access to a corporate tenant. Conditional access policies in the tenant may also restrict what an application can do regardless of the scopes granted.

Why connect it through Squiid

Microsoft 365 is on the Squiid roadmap as a connect service. When it lands, you will link your tenant through the standard consent flow with approved scopes, and Squiid will hold the client secret and refresh tokens and issue scoped access through https://api.squiid.io/v1/microsoft-365/... with Authorization: Bearer $SQUIID_API_KEY, with Graph SDKs working by base URL swap (gateway convention). Your Microsoft subscription stays billed by Microsoft at the provider's listed price. Tokens are short-lived and refreshed, which is one more reason to have the refresh handled centrally rather than per deployment.

  • One account, one key, one bill, one dashboard. Microsoft 365 sits beside every other service your project uses, on the same invoice and the same credit balance.
  • Key custody. Squiid holds the Microsoft 365 credentials. Your code carries SQUIID_API_KEY, so MS_CLIENT_ID, MS_CLIENT_SECRET, MS_TENANT_ID, GRAPH_ACCESS_TOKEN never land in a repository, a preview deployment or an agent’s context.
  • Metering you can see. Every call is counted per service and per day, so you know what Microsoft 365 costs before the month ends.
  • Pause on zero. When prepaid credits run out the gateway stops authorizing usage instead of running up a bill you did not fund.
  • One rotation. Rotating the Squiid key cuts off every agent, worker and deployment at once, with no provider key to hunt down.

What you get

  • Your existing Microsoft 365 tenant connected, not replaced
  • Outlook, Teams, OneDrive and SharePoint through Graph
  • Delegated or application permissions you approve
  • Client secrets held by Squiid
  • Microsoft seats stay billed by Microsoft

How to connect Microsoft 365

One variable replaces the provider credentials this service would normally need. Requests go to the gateway and the official SDKs work by pointing their base URL at it (gateway convention).

# .env
# replaces MS_CLIENT_ID, MS_CLIENT_SECRET, MS_TENANT_ID, GRAPH_ACCESS_TOKEN
SQUIID_API_KEY=sq_live_xxxxxxxxxxxxxxxxxxxxxxxx

# every request: https://api.squiid.io/v1/microsoft-365/...
# header:       Authorization: Bearer $SQUIID_API_KEY
01

Add it in your dashboard

Open the Squiid catalog, add Microsoft 365 and fund credits. You link the account you already own and Squiid holds the connection.

02

Put the one key in your env

Add SQUIID_API_KEY to .env and delete MS_CLIENT_ID, MS_CLIENT_SECRET, MS_TENANT_ID, GRAPH_ACCESS_TOKEN. Nothing else from Microsoft 365 needs to exist in your project.

03

Point your agent at it

Claude Code, Cursor and Codex read the same variable and call https://api.squiid.io/v1/microsoft-365/. Agents call Microsoft Graph for mail, calendar and Teams, where a misconfigured application permission can reach an entire tenant.

Pricing through Squiid

Microsoft bills your 365 subscription directly at the provider's listed price, with no Squiid margin. Squiid passes that through at par: one dollar of prepaid credit is one dollar of Microsoft 365 usage, with no markup and no per-request margin.

Microsoft 365 has no subscription attached on Squiid today. If a plan is required for a feature you need, it passes through at the provider’s listed price with no Squiid fee.

Squiid adds no markup to provider prices. There is a free plan at $0 a month with a 15% fee when you top up credits, Solo at $19.97 a month with a top-up fee that starts at 8% and falls to 3.5% as your spend grows, Team from $29.97 a seat a month with the same ladder one point lower, and Custom with a rate of 3% or less. Credits are prepaid, so Microsoft 365 usage stops when the balance reaches zero rather than producing an invoice you did not fund. Auto top-up with a cap keeps production running without handing anyone an open-ended card.

If you leave

Your own account: the Microsoft 365 account was always yours and Squiid only holds an authorised connection, so revoking it leaves nothing behind. Squiid never owns your code, your schema or your domain, and the gateway speaks Microsoft 365's own API, so the client change is a base URL. The handover page lists what happens for every provider in the catalogue.

Works with every coding agent

Microsoft 365 through Squiid is just an HTTP call with a bearer token, so every agentic coding tool can use it with the single key already in your environment:

Vibe coding a feature on Microsoft 365 usually means asking for it in plain language and letting the agent write the integration. Because the key is Squiid’s rather than the provider’s, it can do that without ever holding a credential that could be leaked, logged or committed.

Related services

Questions people ask

Is Microsoft 365 on Squiid yet?

Not yet. It is on the roadmap as a connect service.

What is the difference between delegated and application permissions?

Delegated acts as a signed-in user and is limited to what they can see. Application permissions act tenant-wide and usually need admin consent.

Will Squiid charge for Microsoft 365?

No. Microsoft bills your subscription directly at its listed price. Squiid provides the connection.

Can an agent post to Teams?

Yes, with the appropriate Graph scopes granted during the connection.

Does this relate to Azure?

They share Entra ID for identity but are separate products. Azure is listed in the Squiid catalog as a partner cloud service.

Connect Microsoft 365 with one key.

Microsoft 365 exposes mail, calendar, files, Teams and directory data through Microsoft Graph. Connecting it to Squiid gives agents scoped access without client secrets in your environment.