Connect Xero to Microsoft Copilot

Microsoft's remote-connector path for Xero runs through Copilot Studio, not the Copilot chat box you already have open. Build an agent once, add this connector on its Tools page, and publish it so it can answer across every Xero organisation in your group in the same session, down to the invoice and bill lines: total receivables across entities, which job is over its estimate. Reads run straight through. Every write is drafted and held until you approve it - with a click in Invio, or right there in the conversation.

7 days free, no card needed. Plans from $87 USD a month for up to 5 organisations. See pricing and plans.

Using Claude or ChatGPT instead? See the Claude guide or the ChatGPT guide.

Want to see it first? Book a 30-min demo.

Example Your assistant

Your assistant8 Xero organisations connected

How did each company in the group do last month?

Your assistant

Read 8 organisationsget_xero_group_report

Profit and loss for each organisation in the group, last month, in NZD, with the total added up by Invio
Last month, NZDIncomeExpensesNet profit
Apex Holdings Ltd58,450.0021,380.0037,070.00
Apex Electrical Ltd214,600.00168,215.5046,384.50
Apex Property Ltd96,320.0041,870.2554,449.75
Apex Plumbing Ltd131,780.00119,402.0012,378.00
Apex Projects Ltd87,250.5093,114.00-5,863.50
+ 3 more organisations106,850.7590,385.7516,465.00
Total, added up by Invio695,251.25534,367.50160,883.75

A plain side-by-side sum in NZD, not a consolidation: money between these companies is counted on both sides.

Draft this month's management fee from Apex Holdings Ltd to Apex Electrical Ltd, $4,500.00 plus GST.

Your assistant

I haven't sent anything to Xero. I've drafted the invoice and it is waiting in your approval queue in Invio. If nobody approves it, it expires on its own.

Xero

Read 8 organisations

get_xero_group_report

Apex Holdings LtdCreate invoiceexpires in 24 h

Create a new invoice in "Apex Holdings Ltd" for Apex Electrical Ltd - 1 line item, estimated subtotal NZD 4500.00 (excl. tax - Xero calculates the final, tax-inclusive total once created).

Drafted by your assistant

Nothing is written to Xero until a person approves it.

What the connector can do across multiple organisations in a single session

Writes

Each one is a draft that waits for your approval.

  • Invoices and bills

    Create, or update one that is still a draft or awaiting approval.

  • Contacts: create or update

  • Credit notes, for sales or bills

  • Quotes

  • Manual journals

OptionalOff by default.

  • Payments against invoices

  • Payroll: timesheets, leave, pay runs, employee details

    Pay runs in Australia and New Zealand. Posting one is Australia only, and Invio cannot undo it.

Reads

Live from Xero. Nothing is changed.

  • Every connected organisation

  • Invoices and bills, with line items

  • Who owes you and how overdue

  • Profit and loss, balance sheet, accounts

    One organisation, or several side by side with a total: a plain sum in one currency, not a consolidation.

  • Contacts, credit notes, quotes, projects

  • Drafts still waiting for approval

OptionalOff by default.

  • Payments, employees, leave and pay runs

    Payroll covers Australia, New Zealand and the United Kingdom.

You choose the permissions when you connect.

What you type, and what comes back

Three real questions against Xero's own Demo Company (NZ) sample data - not a mockup.

In Demo Company (NZ), who owes me money and how much?
NZ$18,196.38 is outstanding across 12 invoices, and NZ$12,372.63 of that is overdue. The largest is Ridgeway University at NZ$6,187.50 - all of it overdue. City Limousines has four invoices overdue too, the oldest due back on 27 June.
Of those, which one has been overdue the longest, and what should I chase first?
City Limousines has been waiting longest - its oldest invoice was due 27 June, and three more have followed since. Ridgeway University is the single biggest amount, NZ$6,187.50, entirely overdue. If you can only chase one today, chase City Limousines - it's been waiting longest. If you have time for a second, Ridgeway University is worth the most.
Draft an invoice in Demo Company (NZ) for Bayside Club, NZ$450 plus GST, for a callout on 8 September.
I haven't sent anything to Xero - I've drafted a sales invoice for Bayside Club, NZ$450 (excl. tax; Xero adds GST once it's created), for the 8 September callout. It's now waiting in your Xero connector's approval queue in Invio, with the exact details for you to check before anything happens. If nobody approves or rejects it, it expires on its own in 24 hours - nothing reaches Xero unless you say so.

These are Xero's own Demo Company (NZ) sample figures - Xero publishes that organisation as fictional data, not a real customer's books. The first two answers were produced by the live connector on 10 September 2026; the third shows what the connector actually returns for a drafted invoice.

Name the organisation when you ask something new, the way the first and third questions above do. With only one organisation connected, Invio uses it automatically; with more than one, it asks which one rather than guessing. A follow-up that reasons over an answer already on screen, like the middle question above, does not need to repeat it.

This runs through Copilot Studio, not the Copilot chat box

Checked 9 September 2026

Microsoft's own remote-connector path for Xero lives in Copilot Studio - the platform used to build agents for Microsoft 365 Copilot and Teams, reached from an agent's own Tools page, not a setting inside the ordinary Copilot chat window. You add this connector there as a Model Context Protocol tool, choose no authentication (the connector URL already carries your access), and then publish that agent - to specific people, a group, or your organisation's agent catalog for an admin to approve - before it is reachable at all. We have not run this specific connector through Copilot Studio ourselves; what we can say with certainty is that it serves the Streamable HTTP transport Copilot Studio's own wizard requires, the same endpoint Claude and ChatGPT already connect to.

Connect Xero to Copilot Studio in 5 steps

The same connector URL works for Claude and ChatGPT too - see the full setup guide for every client at once.

1

Connect Xero and generate a connector URL

In Invio, go to Settings > AI connections > Xero, connect the Xero organisations you want to share, then click Generate connector URL. Copy it straight away - it is shown exactly once.

2

Open, or create, a Copilot Studio agent

This is Copilot Studio, the separate platform Microsoft agents are built in - not the Microsoft 365 Copilot chat window you already have open. Open an existing agent there, or create a new one, to attach the connector to.

3

Add the connector as a tool

On the agent's Tools page, choose Add a tool, then New tool, then Model Context Protocol. Paste the URL you copied from Invio into Server URL, and set the authentication type to None - the URL already carries your access, the same way it does for Claude and ChatGPT.

4

Publish the agent to the people who should use it

An agent is not reachable by anyone until you publish it. Share it directly with specific people or a group, or submit it to your organisation's agent catalog for an admin to approve - either way, it then appears in Microsoft 365 Copilot or Teams for the users you chose.

5

Ask a question first

Try something read-only, like what's outstanding on one of your organisations. Reads run straight through - no approval needed. Then ask it to draft an invoice or change a contact, so you see the approval step happen for real.

Reads are live. Writes wait for you.

Copilot drafts

It reads your live Xero data directly. When it wants to create or change an invoice, a contact, a credit note or a journal, that becomes a draft - not a change to your books.

Invio holds it

The draft sits in your approval queue, showing the exact organisation and the exact payload Invio would send. Left untouched, it expires after 24 hours and nothing happens.

You approve

Approve or reject it - in Invio, or by telling Copilot to go ahead. Nothing reaches Xero until you do, and every approval records who made it.

Approvals

Apex Holdings LtdCreate invoiceexpires in 24 h

Create a new invoice in "Apex Holdings Ltd" for Apex Electrical Ltd - 1 line item, estimated subtotal NZD 4500.00 (excl. tax - Xero calculates the final, tax-inclusive total once created).

Drafted by Copilot

RejectApprove

After you approve

Apex Holdings LtdCreate invoiceSent to Xero

Approved by ana@apexgroup.example - just now - -> Xero INV-0058

What an agent gains that it doesn't have on its own

A documented way to connect

Copilot Studio's own tool wizard accepts a hosted, remote connector like this one directly - paste the URL, choose no authentication, and it is available to add to an agent's Tools page.

Every organisation in your group

Connect every organisation your group runs, up to your plan's limit, and ask across them in one session without reconnecting. Name the entity in a question, or ask the agent to work through all of them. The agent reads each organisation in turn and combines the answers in the conversation; for the profit and loss and balance sheet, Invio can also lay several organisations out side by side with a total, in one currency. Invio does not build a consolidated ledger or eliminate intercompany balances.

Line items, not just totals

Invoices, bills, credit notes and quotes open line by line, so the agent can show what a total is made of, and the profit and loss and balance sheet come back row by row. Bank feed transactions are not readable.

Writes that wait for a human

Nothing created or changed reaches Xero until you approve it - in Invio, or right there in the conversation once you clearly say so. A ledger stays a human decision, never something the agent decided on its own.

Every client, in one guide

The full setup guide covers Claude, ChatGPT and any other AI assistant - what Xero's consent screen asks for, where the connector URL comes from, and exactly how approval works.

Questions about Microsoft Copilot and Xero

Does this work inside the Microsoft Copilot chat box I already have?
Not directly. Microsoft's remote-connector method for Xero is built into Copilot Studio, the separate platform used to build agents for Microsoft 365 Copilot and Teams - not the ordinary Copilot chat window. You, or someone with access to Copilot Studio, add this connector to an agent's Tools page and then publish that agent to the people who should use it. It is not something the chat box picks up on its own.
Have you tested this connector with Copilot Studio?
Not yet, and we would rather say so than imply otherwise. What we do know: Copilot Studio's own tool wizard requires the Streamable HTTP transport - it dropped support for the older SSE transport in August 2025 - and this connector serves exactly that, the same endpoint Claude and ChatGPT already connect to. If you set this up and something in this guide does not match what you see, tell us and we will fix the guide or tell you honestly where things stand.
What authentication type should I choose in Copilot Studio?
None. Copilot Studio's wizard asks for a Server URL and then an authentication type - None, API key, or OAuth 2.0. The Server URL you paste in from Invio already carries your whole connector credential as its last part, so there is no separate key or sign-in step to layer on top - the same reason Claude and ChatGPT need nothing more than the URL either.
Can Copilot see the lines behind a total, or only totals?
The lines, not only the totals. With the default permissions, Copilot can list invoices, bills, credit notes and quotes, then open any one to read its line items: description, quantity, unit amount, line amount, account code and tax type. It can also read contacts with what each one owes and what is overdue, your chart of accounts, Xero Projects jobs if you use Projects, and the profit and loss and balance sheet reports row by row, one row for each account line and subtotal. Payments are readable too if you tick the payments permission when you connect. It cannot read the bank feed: individual bank transactions, such as a card charge, are not available, and manual journals can be drafted but not read back.
What happens when Copilot tries to change something in Xero?
It can't post the change directly. Copilot hands the draft to Invio, which shows you exactly what it wants to write and to which organisation, and holds it. Nothing reaches Xero until a person approves it - with a click in Invio, or by clearly telling Copilot to approve it, right there in the conversation - and an unapproved draft expires after 24 hours.
Can I point the same connector at Claude or ChatGPT as well?
Yes. One connector URL works with Claude, ChatGPT and Copilot Studio on the same subscription - you do not need a second plan to use more than one assistant. See the Claude-specific or ChatGPT-specific guide if you use those too.
Is this an official Microsoft or Copilot product?
No. Invio is an independent connector built on Xero's official API. We are not affiliated with, endorsed by, or certified by Xero or Microsoft, and we say so on every page.

Give an agent the Xero organisations you already can't see across

Choose a plan on the main connector page, generate a connector URL in Settings, and add it to a Copilot Studio agent's Tools page.

Comparing plans first? See pricing and plans. Using Claude or ChatGPT too? See the Claude guide or the ChatGPT guide. For questions this page doesn't cover, the main connector FAQ has more.

Invio is an independent connector built on Xero's official API. Invio is not affiliated with, endorsed by, or certified by Xero. Xero is a trademark of Xero Limited. Microsoft Copilot is a trademark of Microsoft, and we are not affiliated with, endorsed by, or certified by Microsoft either. You remain responsible for reviewing and approving any changes made to your Xero organisations.

Still choosing where to work with Xero? Compare Xero-native options and Invio using dated sources and explicit verification limits.

Connect Xero to Microsoft Copilot - approved writes | Invio