Integrations / Xero
Xero AI voice agents that read invoices to callers
A Cartesia agent finds the caller's Xero contact, reads what they owe from outstanding invoices, and leaves a note in the contact's history for your team.
Accounts receivable agent
Answers balance questions from Xero and notes what the caller says.
Instructions
Ask for the business name or billing email and find the contact. Read outstanding invoices with amounts and due dates. Before the call ends, add a note with what the caller said and anything they promised. If there is no contact, ask for the business name and email and create one.
Connected tools
- Find contactWebhook
- Get outstanding invoicesWebhook
- Add noteWebhook
- Create contactWebhook
What a Xero AI voice agent can do
Open one to watch a call. The grey lines are the tools the agent calls mid-sentence.
Xero's contact search matches names, emails and account numbers, not phone numbers, so the agent asks for the business name first.
Your service pulls the contact's authorised invoices and returns the number, amount due and due date of each one.
The agent adds a note to the contact's history and notes, or creates the contact when the caller isn't in Xero yet.
Tool definitions
Webhook tools go to POST /v1/agents/tools. Transfers are a system tool on the agent. Replace the placeholder values in capitals with your own.
Find contact
Searches Xero contacts by name or email.
Show the JSON definition
Get outstanding invoices
Lists the contact's unpaid invoices.
Show the JSON definition
Add note
Adds a note to the contact's history.
Show the JSON definition
Create contact
Creates a Xero contact for a new caller.
Show the JSON definition
Set it up
No native connector. The tools call a small service of yours, which holds the Xero OAuth connection and calls the Xero Accounting API. Vendor details read in November 2026.
Create a Xero app
In Xero's developer portal, create a web app with
accounting.contacts,accounting.invoices.readandoffline_access, or a custom connection for a single organisation.Run the four endpoints
Your service calls
GET ContactswithsearchTerm,GET InvoiceswithContactIDsandStatuses=AUTHORISED,PUT Contacts/and{ContactID}/ History POST Contacts, each with thexero-tenant-idheader.Add the tools
Point the tools at your service with a bearer secret. The note tool runs async, so the caller doesn't wait on it.
Test on the Demo Company
Connect Xero's Demo Company first. It's free, including for custom connections, and has sample contacts and invoices.
Documentation
- Contacts (checked November 2026)Xero Accounting API docs
- Invoices (checked November 2026)Xero Accounting API docs
- History and notes (checked November 2026)Xero Accounting API docs
- Scopes (checked November 2026)Xero docs
- Token types (checked November 2026)Xero docs
- Custom connections (checked November 2026)Xero docs
- Webhook toolsCartesia docs
Before you build
Why not call Xero directly
Xero access tokens last 30 minutes, and each refresh returns a new refresh token. A webhook tool sends the value you stored, so your service refreshes and stores the tokens.
Contact search skips phone numbers
searchTerm covers Name, FirstName, LastName, ContactNumber, CompanyNumber and EmailAddress. To match on caller ID, your service needs its own phone-to-contact index.
Custom connections cost extra
A custom connection uses client credentials for one organisation and needs an additional monthly Xero subscription. It is available in Australia, New Zealand, the UK and the US only.
Use the granular scopes
Since March 2026, Xero web apps get granular scopes such as accounting.invoices.read. The broad accounting.transactions scopes keep working until September 2027.
Use cases for teams on Xero
More integrations
Enterprise-grade security
HIPAA compliant

SOC 2 Type 2

GDPR
Xero AI voice agent FAQs
Can an AI voice agent read invoices from Xero?
Yes. A Cartesia agent finds the caller's contact, reads what they owe from authorised invoices, and leaves a note in the contact's history, through a small service of yours that holds the Xero OAuth connection. There is no native Xero connector.
Can the agent find a Xero contact by phone number?
Not with Xero's search alone. searchTerm covers Name, FirstName, LastName, ContactNumber, CompanyNumber and EmailAddress, not phone numbers. The agent asks for the business name, or your service keeps its own phone-to-contact index for caller ID.
Can the Xero AI agent take a payment?
No. The tools on this page find contacts, read outstanding invoices, add notes and create contacts. Nothing on the call collects payment details.
Why can't the agent call the Xero API directly?
Xero access tokens last 30 minutes, and each refresh returns a new refresh token. A webhook tool sends the value you stored, so your service refreshes and stores the tokens and the agent calls your service with a bearer secret.
Who shows as the author of the note in Xero?
Xero records notes added through the API as "System Generated", with the date they were created. Put the call date and the caller's name in the note text so your team knows where it came from.
What does a Xero voice agent cost to run?
Agents run at $0.03/min, plus LLM usage and telephony. A Xero custom connection needs an additional monthly subscription and is available in Australia, New Zealand, the UK and the US only. The Demo Company is free to test against.
Get started today
Talk to an expert.
Connect with a member of our team and learn how Cartesia can help you build world-class voice experiences.
Start building.
Access our models via API and bring a voice agent into production in minutes.