Case study · Email AI · Microsoft Graph · Excel · SharePoint
Most of your inbox isn't thinking. It's process. So we automated the process.
A Microsoft 365-native agent that reads every inbound mail, classifies and files it, drafts the reply in the user's own tone, extracts the PDFs into the workbook that owns the data, books the meetings, and surfaces only the threads that need a human to decide. Runs entirely in-tenant, with EU residency and an audit ledger.
An email lands. The agent gets to it before you do.
A walkthrough of one inbound thread: read, classified, filed, drafted in tone, its attachment extracted into the workbook, every step logged, the human pulled in only to approve.
The time-on-email math
Email eats more than a day a week: per person, every week.
Studies put knowledge-worker time on email at around 28% of the working week, over eleven hours. Most of it is sorting, filing, acknowledging and re-keying attachments: process, not judgement. That's the slice the agent takes back.
Of the week
28%
spent reading + sorting email
Per user
11.4h
reclaimed every week
Team of 10
114h
a week back across the team
Auto-handled
94%
never needs a human at all
01 · Who it helps
Built for the teams whose inbox is the operational system of record.
If approvals, invoices and reporting move through email, the agent turns the inbox from a bottleneck into a pipeline. Four profiles where it pays for itself fast.
01
Operations & finance
Invoices, confirmations and reconciliations arrive as email + PDF. The agent extracts them into the workbook instead of someone re-keying line items.
02
Professional services
Client threads must be filed, acknowledged and tone-matched. The agent drafts in each user's voice and keeps the audit trail intact.
03
Back-office teams
High volume, low judgement, zero tolerance for a dropped thread. Routine mail is handled; exceptions are surfaced, not buried.
04
Executive support
Triage, scheduling and follow-ups consume the day. The agent clears the routine so the human time goes to what actually needs it.
02 · Why it matters
The risk isn't a slow reply. It's the thread that quietly slips.
A buried attachment stalls a report; a misfiled thread breaks the audit trail; a "yes" no one logged becomes a dispute. Email is where operational truth lives, and where it most often goes missing. The agent makes the inbox accountable.
✕ Without the agent
Over a day a week, per person, lost to sorting and filing
Attachments re-keyed by hand, slow and error-prone
Reply lag costs deals; misfiled threads break the trail
No record of what was decided in the inbox
✓ With the agent
94% of mail read, classified and filed automatically
PDFs extracted into the workbook at 99.3% accuracy
Replies drafted in the user's tone in ~18 seconds
Every action logged: in-tenant, EU residency, kill switch
03 · The build
Six steps per mail. Every one logged. All in-tenant.
Nothing leaves the Microsoft 365 tenant. A Graph subscription wakes the agent on every inbound mail; it classifies, files, drafts, extracts attachments into the SharePoint-hosted Excel workbook, and escalates only what needs a person, writing an audit entry at each step.
→ 01
ReadGraph subscription on inbound mail
→ 02
ClassifyIntent + priority, per thread
→ 03
FileRouted to the right folder
→ 04
DraftReply in the user's own tone
→ 05
ExtractPDF → Excel workbook, 99.3%
→ 06
SurfaceHuman pulled in only to decide
Per-mail flow: Graph fires on arrival → classify intent → file → draft in tone → extract any attachment into the workbook → branches: auto-send · queue for approval · escalate to a human. 🔒 In-tenant · EU residency · full audit ledger · per-user kill switch.
04 · The operator view
The same surface the agent works in, made legible to a human.
Three views of the live system: the inbox cockpit where every mail is read, classified and handled; the audit log where every action is recorded; and the invoice-to-Excel pipeline that turns an attachment into reconciled rows. Nothing leaves the tenant.
Inbox · operator console
In-tenant · EU
Inbox7
Triaged204
Drafts12
Needs you3
Archive1.6k
Routed today
Invoices41
Bookings18
FYI / cc63
Supplier09:41
Q2 carrier invoice + container summary
Invoice✓ auto-handled
Scheduling09:28
Re: site walkthrough, three slots proposed
Booking✓ drafted
Operations08:55
Weekly throughput numbers, for your records
FYI✓ filed
Supplier08:30
Disputed line on PO-4471, needs sign-off
Approval● needs you
Operations08:12
Reconciliation export ready (146 lines)
Invoice✓ extracted
Q2 carrier invoice + container summary
from accounts@supplier-domain · 2 attachments · received 09:41
Agent analysis
✓Classifiedas Invoice · finance · routine
✓Filedto Invoices / Q2 / carrier
✓Extracted146 line items from invoice.pdf → workbook
✓Draftedacknowledgement in user's tone, queued
Invoice✓ auto-handledPDF → Excellogged ×4
Classifier confidence
96%
The inbox cockpit. Every inbound mail is read, classified into an intent, filed, and either auto-handled or surfaced. The reading pane shows exactly what the agent did to the selected thread, and why.
Audit ledger · append-only
Streaming
Time
Mail
Action
Tool
Result
Latency
09:41:02
INV-0412
Read mail
graph.mail.get
✓ ok
0.3s
09:41:02
INV-0412
Classify
classify.intent
✓ invoice
0.6s
09:41:03
INV-0412
File
mail.move
✓ Invoices/Q2
0.2s
09:41:03
INV-0412
Extract PDF
pdf.extract
✓ 146 lines
1.4s
09:41:05
INV-0412
Write workbook
excel.write
✓ 146 rows
1.1s
09:41:06
INV-0412
Draft reply
draft.tone
✓ queued
0.8s
09:28:30
BKG-0388
Draft reply
draft.tone
✓ 3 slots
0.7s
08:30:11
PO-4471
Classify
classify.intent
✓ approval, hold
0.6s
8 of 1,204 events today · append-only · tenant-resident · exportable to compliance
Every action, logged in the open. Read, classify, file, draft, extract, reconcile: each tool call is an append-only ledger entry with its result and latency. An auditor can replay any thread end to end and show exactly what the agent did.
Extraction · invoice.pdf → workbook
Excel REST
Harbour Logistics B.V. Invoice INV-2026-0412
PDF
Container handling, 40ft ×12€ 8,640.00
Carrier freight, Q2€ 14,200.00
Demurrage (3 days)€ 1,275.00
Customs handling fee€ 980.50
…142 further line items⋯
Invoice total€ 61,418.50
→extract + write
Reconciliation_Q2.xlsx · Sheet 1
A · Item
B · Qty
C · Amount
1
Container handling 40ft
12
8,640.00
2
Carrier freight Q2
1
14,200.00
3
Demurrage
3
1,275.00
4
Customs handling
1
980.50
5
Port dues
1
412.00
6
Documentation fee
4
320.00
7
Fuel surcharge
1
2,118.75
✓146 line items reconciled into the live workbook at 99.3% accuracy. No re-keying, every cell traceable to a source line in the PDF.
Attachment in, worksheet out. The agent reads the invoice PDF, maps each line to the right column, and writes straight into the SharePoint-hosted workbook over Excel REST, the same file the finance team already owns.
05 · Enterprise-safe by construction
It works inside Microsoft 365, not alongside it.
The agent is a tenant citizen: it uses the same identity, permissions and data residency the organisation already trusts.
01
Microsoft Graph
Reads and acts on mail through the official API, scoped per user.
02
Excel REST
Writes extracted line items straight into the live workbook.
03
SharePoint
The workbook that owns the data stays where it already lives.
04
EU residency
Nothing leaves the tenant or the region it's bound to.
05
Audit ledger
Every classify, draft and extraction is a logged event.
06
Kill switch
Per-user off switch. Control stays with the organisation.