Xero CLI for AI Agents

CLIs are eating MCPs. The industry is converging on the very same idea. MCPs for all their merit can be token hungry, slow, and unreliable for complex tool chaining. However, coding agents have become incredibly good at working with CLIs, and in fact they are far more comfortable working with CLI tools than MCP. With Composio's Universal CLI, your coding agents can talk to over 1000+ SaaS applications. With Xero, agents can list all active xero tenant connections, show latest contacts added this week, retrieve all open quotes for this month, and more — all without worrying about authentication. This guide walks you through Composio Universal CLI and explains how you can connect it with coding agents like Claude Code, Codex, OpenCode, etc, for end-to-end Xero automation.

Xero logoXero
Oauth2

Xero is cloud-based accounting software for small businesses, offering invoicing, bookkeeping, and real-time financial reports. It helps you manage business finances efficiently from anywhere.

41 Tools

Introduction

CLIs are eating MCPs. The industry is converging on the very same idea. MCPs for all their merit can be token hungry, slow, and unreliable for complex tool chaining. However, coding agents have become incredibly good at working with CLIs, and in fact they are far more comfortable working with CLI tools than MCP.

With Composio's Universal CLI, your coding agents can talk to over 1000+ SaaS applications. With Xero, agents can list all active xero tenant connections, show latest contacts added this week, retrieve all open quotes for this month, and more — all without worrying about authentication.

This guide walks you through Composio Universal CLI and explains how you can connect it with coding agents like Claude Code, Codex, OpenCode, etc, for end-to-end Xero automation.

Also integrate Xero with

What is Universal CLI and why use it?

The idea behind building the universal CLI is to give agents a single command interface to interact with all your external applications. Here's what you'll get with it:

  • Agent-friendly: Coding agents like Claude Code, Codex, and OpenCode can use CLI tools natively — no MCP setup required.
  • Authentication handled: Connect once via OAuth or API Key, and all CLI commands work with your credentials automatically.
  • Tool discovery: Search, inspect, and execute 20,000+ tools across 1000+ apps from one interface.
  • Trigger support: Use triggers to listen for events across your apps, powered by real-time webhooks or polling under the hood.
  • Type generation: Generate typed schemas for autocomplete and type safety in your projects.

Prerequisites

Install the Composio CLI, authenticate, and initialize your project:

bash
# Install the Composio CLI
curl -fsSL https://composio.dev/install | bash

# Authenticate with Composio
composio login

During login you'll be redirected to sign in page, finish the complete flow and you're all set.

Composio CLI authentication flow

Connecting Xero to Coding Agents via Universal CLI

Once it is installed, it's essentially done. Claude Code, Codex, OpenCode, OpenClaw, or any other agent will be able to access the CLI. A few steps to give agents access to your apps.

  1. Launch your Coding Agent — Claude Code, Codex, OpenCode, anything you prefer.
  2. Prompt it to "Authenticate with Xero"
  3. Complete the authentication and authorization flow and your Xero integration is all set.
  4. Start asking anything you want.

Universal CLI Commands for Xero

You can also manually execute CLI commands to interact with your Xero.

Connect your Xero account

Link your Xero account and verify the connection:

bash
# Connect your Xero account (opens OAuth flow)
composio connected-accounts link xero

# Verify the connection
composio connected-accounts list --toolkits xero

Discover Xero tools

Search and inspect available Xero tools:

bash
# List all available Xero tools
composio tools list --toolkit xero

# Search for Xero tools by action
composio tools search "xero"

# Inspect a tool's input schema
composio tools info XERO_GET_CONNECTIONS

Common Xero Actions

Get ConnectionsTool to list active xero connections

bash
composio tools execute XERO_GET_CONNECTIONS

Get ContactsTool to retrieve a list of contacts

bash
composio tools execute XERO_GET_CONTACTS \
  --IDs "uuid1,uuid2,uuid3" \
  --page "<integer>" \
  --order "<string>" \
  --where "<string>"

Get QuotesTool to retrieve a list of quotes

bash
composio tools execute XERO_GET_QUOTES \
  --xero-tenant-id "213bd52c-ee3b-4ae7-8175-aa58c6720f28"

Update InvoiceTool to update an existing invoice

bash
composio tools execute XERO_POST_INVOICE_UPDATE \
  --Invoices "<array>"

Generate Type Definitions

Generate typed schemas for Xero tools to get autocomplete and type safety in your project:

bash
# Auto-detect language
composio generate --toolkits xero

# TypeScript
composio ts generate --toolkits xero

# Python
composio py generate --toolkits xero

Tips & Tricks

  • Always inspect a tool's input schema before executing: composio tools info <TOOL_NAME>
  • Pipe output with jq for better readability: composio tools execute TOOL_NAME -d '{}' | jq
  • Set COMPOSIO_API_KEY as an environment variable for CI/CD pipelines
  • Use composio dev logs tools to inspect execution logs and debug issues

Next Steps

  • Try asking your coding agent to perform various Xero operations
  • Explore cross-app workflows by connecting more toolkits
  • Set up triggers for real-time automation
  • Use composio generate for typed schemas in your projects
TOOLS

Supported Tools

Every Xero action and event your agent gets out of the box.

Create Bank Transaction

Create a bank transaction in Xero.

Create Contact

Create a new contact in Xero.

Create Invoice

Create a new invoice in Xero.

Create Item

Create an inventory item in Xero.

Create Manual Journal

Create one or more manual journals (journal entries) in Xero with journal lines.

Create Payment

Create a payment in Xero to link an invoice with a bank account transaction.

Create Purchase Order

Create a purchase order in Xero to order goods/services from suppliers.

Get Account

Retrieve a specific account from Xero's chart of accounts by its unique ID.

Get Asset

Retrieve a specific asset by ID from Xero.

Get Balance Sheet Report

Retrieve Balance Sheet report from Xero.

Get Budget

Retrieve a budget from Xero.

Get Connections

Tool to list active Xero connections.

Get Contacts

Tool to retrieve a list of contacts.

Get Invoice

Retrieve a specific invoice by ID from Xero.

Get Item

Retrieve a specific item by ID from Xero.

Get Manual Journal

Retrieve a specific manual journal by ID from Xero.

Get Organisation

Retrieve organisation details from Xero.

Get Profit & Loss Report

Retrieve Profit & Loss report from Xero.

Get Project

Retrieve a specific project by ID from Xero.

Get Purchase Order

Retrieve a specific purchase order by ID from Xero.

Get Quotes

Tool to retrieve a list of quotes.

Get Trial Balance Report

Retrieve Trial Balance report from Xero.

List Accounts

Retrieve chart of accounts from Xero.

List Assets

Retrieve fixed assets from Xero.

List Attachments

List all attachments for a specific entity in Xero (invoice, contact, etc.

List Bank Transactions

Retrieve bank transactions from Xero.

List Credit Notes

Retrieve list of credit notes from Xero.

List Files

Retrieve files from Xero Files.

List Folders

Retrieve folders from Xero Files.

List Invoices

Retrieve a list of invoices from Xero.

List Items

Retrieve items (inventory/products) from Xero.

List Journals

Retrieve journals from Xero.

List Manual Journals

Retrieve manual journals from Xero.

List Payments

Retrieve list of payments from Xero.

List Projects

Retrieve projects from Xero.

List Purchase Orders

Retrieve list of purchase orders from Xero.

List Tax Rates

Retrieve tax rates from Xero.

List Tracking Categories

Retrieve tracking categories from Xero.

Update Invoice

Tool to update an existing invoice.

Update Contact

Update an existing contact in Xero.

Upload Attachment

Upload a file attachment to a Xero entity (invoice, contact, etc.

FAQ

Frequently asked questions

The Composio Universal CLI is a single command-line interface that lets coding agents and developers interact with 1000+ SaaS applications. It handles authentication, tool discovery, action execution, and trigger setup — all from the terminal, without needing to configure MCP servers.

Any coding agent that can run shell commands works with the Composio CLI — including Claude Code, Codex, OpenCode, OpenClaw, and others. Once the CLI is installed, agents automatically discover and use the composio commands to interact with Xero and other connected apps.

MCP servers require configuration and can be token-heavy for complex workflows. The CLI gives agents a direct, lightweight interface — no server setup needed. Agents simply call composio commands like any other shell tool. It's faster to set up, more reliable for multi-step tool chaining, and works natively with how coding agents already operate.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Xero data and credentials are handled as safely as possible. You can also bring your own OAuth credentials for full control.

Start with Xero.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Xero tool your agent needs.Free to start.

Start building