Business situation
ABC Limited’s director emails a London accountancy practice: “Why is our VAT bill so much higher this quarter?” The manager knows the answer is somewhere in the quarter’s transactions and last month’s correspondence about a new supplier, but finding it means opening Xero, searching the mailbox and piecing it together.
Why existing tools alone are insufficient
The manager uses ChatGPT. To use it here, they would paste transactions and emails into the chat. A direct mailbox connection would let the AI search every client’s correspondence, and send replies on its own. The practice’s AI policy allows neither.
Systems involved
- Xero — ABC Limited’s VAT returns and transactions.
- Outlook — correspondence linked to ABC Limited.
- KroyDB — the client entity and its open queries.
Kroy architecture
ChatGPT connects to Kroy. Xero and Microsoft 365 are connected to Kroy by the practice. The Investigate Client Query Skill may read one client’s ledger and linked correspondence, draft a reply and update the query record. Kroy scopes every read to the client named in the query and to the manager’s portfolio.
Workflow
- The manager asks ChatGPT: “ABC Limited want to know why their VAT bill has gone up this quarter. Find out why.”
- Kroy checks the manager, the agent, the manager’s access to ABC Limited and the Skill.
- Kroy returns this quarter’s and last quarter’s returns and transactions through
xero.reports.readandxero.transactions.read, and correspondence linked to ABC Limited throughoutlook.mail.read. - ChatGPT explains the change: higher standard-rated sales after a new contract, and fewer purchases with reclaimable VAT.
- The manager asks: “Does XYZ Limited have the same issue?” Kroy refuses: this query is about ABC Limited, and XYZ Limited’s records are outside the Skill’s scope for it.
- The manager asks: “Draft a reply.” ChatGPT requests
outlook.draft.create. Kroy permits the draft. - A request to send the reply is refused:
outlook.mail.sendis not part of the Skill. The manager reviews the draft and sends it. - ChatGPT requests
query.update. The query is marked Answered — draft ready.
Agent permissions
ChatGPT acts under the manager’s delegation, within the Skill and within the one client named in the query. It can read and draft; it cannot send or reach other clients.
Human permissions
The manager can see their own portfolio and sends every reply. A partner can see open queries across the practice.
State changes
- The client query moves to Answered — draft ready.
- The draft reply is linked to the query and to ABC Limited.
- The explanation is recorded against the query, so a colleague can pick it up.
Audit outcome
Kroy records each read from Xero and Outlook, the draft, the refused cross-client request and the refused send — with the manager, the agent, the Skill and the policy that decided each.
Security considerations
- Mailbox access is limited to correspondence linked to the client, not the whole mailbox.
- Scope is set by Kroy for each request, so it holds even if the AI is asked to widen it.
- Credentials for Xero and Microsoft 365 stay in Kroy.
Setup requirements
- Client entities and portfolios in KroyDB, with correspondence linked to clients.
- Xero and Microsoft 365 connected to Kroy.
- ChatGPT connected to Kroy.
- The Investigate Client Query Skill enabled for the client services team.