Xero

Xero is a cloud-based accounting software for small businesses, providing invoicing, bank reconciliation, bookkeeping, and financial reporting in real time

53 actions Integration catalog
Request access
Connect Xero once you're in Boring.
01 · WHAT THE AGENT CAN DO

Actions

Every capability is a discrete, logged action the agent calls by name — scoped to what you authorize and recorded in the run trace.

Create Bank TransactionXERO_CREATE_BANK_TRANSACTION
Create a bank transaction in Xero. Use SPEND for payments out or RECEIVE for money received.
Create ContactXERO_CREATE_CONTACT
Create a new contact in Xero. Contacts can be customers, suppliers, or both.
Create Credit NoteXERO_CREATE_CREDIT_NOTE
Create a new credit note in Xero. Credit notes are used to reduce amounts owed by customers (ACCRECCREDIT) or to suppliers (ACCPAYCREDIT).
Create InvoiceXERO_CREATE_INVOICE
Create a new invoice in Xero. Supports both sales invoices (ACCREC) and bills (ACCPAY).
Create ItemXERO_CREATE_ITEM
Create an inventory item in Xero. Items can be tracked for sales and/or purchases.
Create Manual JournalXERO_CREATE_MANUAL_JOURNAL
Create one or more manual journals (journal entries) in Xero with journal lines. Manual journals must balance (debits equal credits).
Create PaymentXERO_CREATE_PAYMENT
Create a payment in Xero to link an invoice with a bank account transaction.
Create Purchase OrderXERO_CREATE_PURCHASE_ORDER
Create a purchase order in Xero to order goods/services from suppliers.
Create QuoteXERO_CREATE_QUOTE
Create a new sales quote in Xero for a customer or prospect. Quotes can be sent to contacts for approval and later converted to invoices. Use this action when you need to create a formal price proposal or quotation for goods or services before issuing an invoice.
Get AccountXERO_GET_ACCOUNT
Retrieve a specific account from Xero's chart of accounts by its unique ID. Returns detailed account information including code, name, type (BANK, REVENUE, EXPENSE, etc.), status (ACTIVE/ARCHIVED), tax settings, bank details (for BANK accounts), and classification. Use XERO_LIST_ACCOUNTS to get account IDs if you don't already have one.
Get AssetXERO_GET_ASSET
Retrieve a specific asset by ID from Xero. Returns depreciation details and book value.
Get Balance Sheet ReportXERO_GET_BALANCE_SHEET_REPORT
Retrieve Balance Sheet report from Xero. Shows assets, liabilities, and equity at a specific date. Liability and credit balances appear as negative numbers in the response. Response structure is Reports → Rows → Sections; account lines are nested inside group sections and summary totals (e.g., 'Total Current Assets') appear in SummaryRows.
Get Bank TransactionXERO_GET_BANK_TRANSACTION
Retrieve a specific spent or received money transaction from Xero by its unique bank transaction ID. Returns full transaction details including line items, contact, bank account, amounts, and reconciliation status. Use this action when you need to fetch the details of a specific bank transaction that was previously created.
Get BudgetXERO_GET_BUDGET
Retrieve a budget from Xero. Budgets track planned vs actual spending by account.
Get ConnectionsXERO_GET_CONNECTIONS
Tool to list active Xero connections. Use to retrieve all current tenant connections for the authenticated user and resolve the correct tenant_id before making data requests. When multiple tenants are returned, never assume the first connection is correct — always explicitly pass the intended tenant_id to every subsequent call. Using a wrong or stale tenant_id can silently return or modify data for a different organisation.
Get ContactsXERO_GET_CONTACTS
Tool to retrieve a list of contacts. Use when you need up-to-date contact information with filtering, paging, or incremental updates.
Get Credit NoteXERO_GET_CREDIT_NOTE
Retrieve a specific credit note by ID from Xero. Returns full credit note details including line items, allocations, and status. Use this action when you need to fetch detailed information about a single credit note by its UUID identifier.
Get InvoiceXERO_GET_INVOICE
Retrieve a specific invoice by ID from Xero. Returns full invoice details including line items and status.
Get ItemXERO_GET_ITEM
Retrieve a specific item by ID from Xero. Returns item code, name, pricing, and tax details.
Get Manual JournalXERO_GET_MANUAL_JOURNAL
Retrieve a specific manual journal by ID from Xero. Returns full details including journal lines.
Get OrganisationXERO_GET_ORGANISATION
Retrieve organisation details from Xero. Returns company info, base currency, timezone, financial year settings, SalesTaxBasis, SalesTaxPeriod, etc. Response fields are nested under data.data.Organisations[0]. Use Timezone when computing date ranges to avoid boundary errors.
Get PaymentXERO_GET_PAYMENT
Retrieve a specific payment by ID from Xero. Returns full payment details including associated invoice, account, and reconciliation status. Use this action when you need to inspect a particular payment record to verify its status, amount, or linked transactions.
Get Profit & Loss ReportXERO_GET_PROFIT_LOSS_REPORT
Retrieve Profit & Loss report from Xero. Shows income, expenses, and net profit for a specified period. Response rows are labeled (e.g., 'Net Profit', SummaryRow); parse by row label, not array index. Aggregates multiple tax codes — not suitable for tax compliance reporting.
Get ProjectXERO_GET_PROJECT
Retrieve a specific project by ID from Xero. Returns project details, deadlines, and status.
Get Purchase OrderXERO_GET_PURCHASE_ORDER
Retrieve a specific purchase order by ID from Xero. Returns full details including line items and status.
Get QuotesXERO_GET_QUOTES
Tool to retrieve a list of quotes. Use when you need to list, filter, or page through sales quotes. Use after obtaining the tenant ID via connections.
Get Trial Balance ReportXERO_GET_TRIAL_BALANCE_REPORT
Retrieve Trial Balance report from Xero. Shows all account balances (debits and credits) at a specific date. Use to verify that total debits equal total credits and to prepare financial statements. Credit balances appear as negative numbers in the response.
List AccountsXERO_LIST_ACCOUNTS
Retrieve chart of accounts from Xero. Returns all accounting codes used for categorizing transactions. Use AccountID (not name or code) as the unique identifier for accounts. Results may be paginated; increment the page parameter until empty results are returned to avoid missing accounts in large organisations.
List AssetsXERO_LIST_ASSETS
Retrieve fixed assets from Xero. Assets track depreciation and book value of capital equipment.
List AttachmentsXERO_LIST_ATTACHMENTS
List all attachments for a specific entity in Xero (invoice, contact, etc.).
List Bank TransactionsXERO_LIST_BANK_TRANSACTIONS
Retrieve bank transactions from Xero. Includes SPEND, RECEIVE, and transfer types; unfiltered results include DELETED transactions that skew totals. Dates returned in /Date(milliseconds_since_epoch)/ format. Rate limit: ~60 requests/minute per org; heavy pagination may trigger 429 errors.
List Credit NotesXERO_LIST_CREDIT_NOTES
Retrieve list of credit notes from Xero. Credit notes are issued to reduce amounts owed by customers.
List FilesXERO_LIST_FILES
Retrieve files from Xero Files. Lists documents stored in Xero's file management system.
List FoldersXERO_LIST_FOLDERS
Retrieve folders from Xero Files. Lists document folders in Xero's file management system.
List InvoicesXERO_LIST_INVOICES
Retrieve a list of invoices from Xero. Results include both sales invoices (Type=ACCREC) and bills (Type=ACCPAY) by default; filter by Type in the `where` clause when only one is needed. Supports filtering by status, contact, date range, and pagination.
List ItemsXERO_LIST_ITEMS
Retrieve items (inventory/products) from Xero. Items can be tracked for sales and/or purchases.
List JournalsXERO_LIST_JOURNALS
Retrieve journals from Xero. Journals show the accounting entries for all transactions. Omitting filters returns the full historical journal ledger and can produce very large responses — use If-Modified-Since and/or paymentsOnly to narrow scope. No date range filter parameter exists. Results are returned inside a Journals array field.
List Manual JournalsXERO_LIST_MANUAL_JOURNALS
Retrieve manual journals from Xero. Manual journals are used for period-end adjustments and corrections.
List PaymentsXERO_LIST_PAYMENTS
Retrieve list of payments from Xero. Payments link invoices to bank transactions; invoices may have multiple partial/split payment records. Response Date fields use Xero's /Date(milliseconds)/ format requiring custom parsing.
List ProjectsXERO_LIST_PROJECTS
Retrieve projects from Xero. Projects track time and costs for client work.
List Purchase OrdersXERO_LIST_PURCHASE_ORDERS
Retrieve list of purchase orders from Xero. Purchase orders track goods/services ordered from suppliers.
List QuotesXERO_LIST_QUOTES
Retrieve a list of sales quotes from Xero with optional filtering and pagination. Supports filtering by date ranges, contact, status, and quote number. Returns up to 100 quotes per page with full line item details. Use this action when you need to query, list, or search for quotes in a Xero organization.
List Tax RatesXERO_LIST_TAX_RATES
Retrieve tax rates from Xero. Shows available tax codes and rates for the organization. Use returned tax codes as valid `TaxType` values in other tools — invalid values cause ValidationException errors.
List Tracking CategoriesXERO_LIST_TRACKING_CATEGORIES
Retrieve tracking categories from Xero. Tracking categories are used to segment data for reporting (e.g., departments, regions).
Update InvoiceXERO_POST_INVOICE_UPDATE
Tool to update an existing invoice. Use when you need to modify the details of an invoice after it's been created.
Update Bank TransactionXERO_UPDATE_BANK_TRANSACTION
Update an existing bank transaction in Xero. Use this action when you need to modify details of a previously created bank transaction such as line items, reference, date, or status. Note: Reconciled transactions cannot be updated and will return a validation error.
Update ContactXERO_UPDATE_CONTACT
Update an existing contact in Xero. Only provided fields will be updated.
Update Credit NoteXERO_UPDATE_CREDIT_NOTE
Updates a specific credit note in Xero by its unique identifier. This action allows you to modify credit note details such as status, line items, reference numbers, and other fields after the credit note has been created. Use this action when you need to change the status of a credit note (e.g., from DRAFT to AUTHORISED), update line items, modify reference information, or make other changes to an existing credit note. The credit note must already exist in Xero - use the credit_note_id to specify which credit note to update. Not all fields can be updated depending on the current status of the credit note.
Update Manual JournalXERO_UPDATE_MANUAL_JOURNAL
Update an existing manual journal (journal entry) in Xero by its ID. Use this action when you need to modify the narration, date, journal lines, status, or other properties of an existing manual journal. Manual journals must balance (debits equal credits) or the update will fail. Only DRAFT manual journals can have their journal lines updated; POSTED journals can have limited fields updated.
Update Purchase OrderXERO_UPDATE_PURCHASE_ORDER
Updates a specific purchase order in Xero by its unique identifier. Use this action when you need to modify an existing purchase order's details such as line items, delivery information, status, or other fields. Only the fields provided in the request will be updated; fields not included will remain unchanged.
Update QuoteXERO_UPDATE_QUOTE
Updates a specific quote in Xero by its QuoteID. Use this action when you need to modify an existing sales quote, such as changing its status, updating line items, contact details, dates, or other quote properties. Only the fields provided in the request will be updated - unprovided fields will remain unchanged.
Upload AttachmentXERO_UPLOAD_ATTACHMENT
Upload a file attachment to a Xero entity (invoice, contact, etc.). Supports PDF, images, and documents.
Validate CredentialXERO_VALIDATE_CREDENTIAL
Validate Xero API credentials by testing access to connected organisations. Returns success status and a message indicating whether authentication is working. Use this action when you need to verify that Xero API credentials are valid and properly configured before attempting other operations. This is particularly useful for troubleshooting authentication issues or confirming a new connection is operational.