Skip to main content

Overview

Xero connects to Mistle with OAuth 2.0 authorization code flow. After authorization, Mistle exposes Xero through the Xero MCP tools in sandbox profiles. The tools can list connected tenants and make authenticated requests to the Xero Accounting, Files, Assets, and Projects API families.

Prerequisites

  • A Xero account with access to the organization you want to connect
  • A Xero OAuth 2.0 app in the Xero Developer portal
  • The Mistle OAuth callback URL shown during connection setup
  • A Xero client ID and client secret

Configure Xero

Create or open your OAuth 2.0 app in the Xero Developer portal, then add the Mistle callback URL as an allowed redirect URI. Xero does not support wildcard redirect URIs. Use the exact callback URL shown in Mistle.

Connect in Mistle

In Mistle, choose Xero, then connect with: Mistle defaults to the minimum scope needed to keep the connection refreshable:
  • offline_access
Xero requires offline_access when the connection should receive a refresh token and stay connected after the short-lived access token expires. Add the specific Xero API scopes needed for the endpoints your agents will use. Xero apps created on or after March 2, 2026 use granular scopes, so use the current granular scopes from Xero’s developer documentation instead of broad legacy scopes such as accounting.transactions.

Use Xero MCP

After the connection is authorized, bind Xero to a sandbox profile. Sessions using that profile can call:
  • xero_tenants_list
  • xero_api_get
  • xero_api_post
  • xero_api_put
  • xero_api_delete
Call xero_tenants_list first to find the tenantId for the Xero organization. API calls then require:

Current Limitations

Xero webhooks are not configured by the Mistle Xero integration yet.

Official References