Home / Platforms / Microsoft 365
Platform · Microsoft 365, Graph, SharePoint

What we build on Microsoft 365 and Graph

Half of operations still runs in a SharePoint workbook that someone updates on Friday. We don't fight that; we read it through the Graph API, including the cell colours people use as status, and connect it to the systems that should have had the data in the first place.

What we build

Each piece runs in your own cloud account against the Microsoft 365 API. Adopt one or all of them.

SharePoint workbook as intake or status

Polling a workbook on a schedule, reading ranges and tables, even cell fill colours used as status, and writing results back to a separate sheet so the people in Excel keep working as they do.

Part of system integration and workflow automation

App-only auth with least privilege

Azure app registration with application permissions scoped to specific sites via Sites.Selected, not tenant-wide read. Credentials in your Key Vault.

Part of system integration and workflow automation

License and seat reconciliation

Assigned licenses and active users from Graph against what you invoice each client or department. The same audit method we use for phone seats.

Part of billing reconciliation

Reports that render in Outlook

Branded HTML reports built to survive Outlook's rendering engine, with drill-down links, delivered on a schedule.

Part of helpdesk operations reporting

Teams and Outlook notifications

Nudges and alerts into Teams channels or as Outlook mail, with the same ignore and escalation rules as our helpdesk nudges.

Part of helpdesk operations reporting

Survey and form imports

Microsoft Forms responses matched to customers, filtered by contact permission, with detractor follow-up tickets.

Part of system integration and workflow automation

Microsoft 365 specifics we have already solved

The parts that cost a first-time integrator a week each.

429s and the retry-after header

Graph throttles per app and per tenant. Every client honours retry-after and batches requests where the API allows it.

Workbook sessions and locks

Excel through Graph needs a workbook session for consistent reads and writes; the poller opens one, does its work, and closes it so users are never locked out.

Sites.Selected setup

Granting a specific site to an app is a two-step process most tenants have never done. We document it for your admin, or do it with them on a call.

Proof

From production systems, described without client names. Numbers are rounded.

Workbook polling in production

Including cell fill colours as status, 429 handling, app-only auth.

Mass email with SPF and DKIM passing

Sent through the systems that own the domain, with merge fields and throttling.

Survey imports matched to customers

With a contact-permission filter and detractor follow-up.

Questions and pricing

If yours is not here, write to hello@tightlywired.com.

Do you need Global Admin?
No. Your admin creates the app registration and grants application permissions scoped to the sites we need. We never hold the client secret; it lives in your Key Vault or the service's own secret store.
Can you work with on-premises SharePoint?
The Graph integration is for SharePoint Online. On-premises SharePoint has its own REST API; the workbook-polling approach transfers with some changes.
Will this break the spreadsheet people use?
No. We read the ranges you point us at and write only to a results sheet or a separate workbook. Their layout stays theirs.
How is it priced?
Integration work starts at $3,000 fixed after a free assessment. A single workbook-to-system sync with an audit log is usually at that starting point.

Related services

Schedule a 30-minute assessment

Bring one process that costs your team hours each week. You will leave with an integration approach and a fixed-price estimate, whether or not we work together.

Schedule an assessment Pick a time now · or write to hello@tightlywired.com