Power Automate Xero Connector Documentation



Getting Started

Or get started with a 7 day free trial. View our official Microsoft approved connector or our official Xero marketplace listing.

Create a Connection

Each connection is linked to a specific Xero user. A user can be authorised for multiple Xero tenants/environments. Licenses are linked to the Xero authorising user, and can be shared across organisations/environments.

Connections can be created directly from within a Cloud Flow when adding an Action or Trigger for the Xero Accounting - Magnetism connector for the first time. Alternatively, create and manage connections from the Connections area in the maker portal.

Create Connection from a Cloud Flow

  1. From the Power Apps or Power Automate maker portal, create or edit a Cloud Flow from the Solutions or Flows area.

  2. Add a new Action or Trigger and search for Xero Accounting - Magnetism.

  3. Select any of the actions, and you’ll be prompted to create a new connection. Select Sign in.

  4. You’ll be redirected to Xero to sign in and Allow access for the App to your selected Xero organisation. It’s recommended to use a generic administrative user to avoid permissions issues.

  5. Once authorised, you’ll be redirected back to your Cloud Flow and can continue using the connector.

Manage & Create Connections

  1. From the Power Apps or Power Automate maker portal, select Connections, and then New connection.

  2. Search for and select Xero Accounting - Magnetism, then Create.

  3. You’ll be redirected to Xero to sign in and approve the App for your selected Xero organisation. It’s recommended to use a generic administrative user to avoid permissions issues.

  4. Once authorised, you’ll be redirected back to the Connections list and can see the status Connected.

  5. To authorise multiple Xero tenants from the same user, either create a new connection, or select See Details from the existing connection, and Switch account to repeat steps 3-4.

The trial is valid for 7 days, after which a user license is required to continue using the connector.

Selecting the Tenant ID

Actions include dynamic content from your selected Xero Tenant ID. If transferring flows between environments where a different Xero Tenant ID is required, it’s recommended to use an Environment Variable to store the Tenant ID. This can be used with each Trigger and Action and will still allow dynamic content to populate correctly.

Find your Xero Tenant ID

Select your Tenant ID from the dropdown on any Xero Accounting - Magnetism action or trigger. Then use Code view to copy the xero-tenant-id parameter value.

Using an Environment Variable

Create an environment variable (e.g. called Xero Tenant Id) with the current value copied from above. Then reference this by selecting Enter custom value from the Tenant ID dropdown.

Xero Accounting API

The schema used by the dynamic operations are based on Xero Accounting API.

Operations & Data Flow

The table below lists each record type and the operations available.

Record Type Trigger Create Update Get List Delete
Accounts
Attachments
Branding Themes
Contacts
Credit Notes
Credit Note Allocations
Currencies
History
Invoices
Invoice PDF
Invoice URL
Items
Notes
Payments
Purchase Orders
Quotes
Repeating Invoices
Tax Rates
Tracking Categories
Tracking Options

Need an operation that isn't listed? Try the Send an HTTP Request to Xero action, or contact us and we'll look into adding support for it.

Trigger when a Xero record is Created or Updated

Trigger when a Xero record is Created or Updated, e.g. Invoice, Contact.

Input parameters

Tenant ID (required) - The Xero Tenant ID to connect to. Dynamic list of authorised Xero tenants.

Event Type (required) - The type of event to trigger on. Create, Update, or Create and Update.

Event Category (required) - The type of Xero record to trigger on. Invoice, or Contact.

Output parameters

Record ID - The ID of the Invoice or Contact.

Event Category - The category of event that occurred. INVOICE, or CONTACT.

Event Type - The type of event that occurred. CREATE, or UPDATE.

Event Date UTC - The date the event was triggered in UTC time.

Create a Xero record

Create a Xero record, e.g. Invoice, Credit Note, Contact.

Input parameters

Tenant ID (required) - The Xero Tenant ID to connect to. Dynamic list of authorised Xero tenants.

Record Type (required) - The type of Xero record to create. Attachment, Contact, Credit Note, Credit Note Allocation, Invoice, Item, Note, Payment (Credit Note), Payment (Invoice), Purchase Order, Quote, Repeating Invoice.

Additional fields are dynamic based on the record type.

Output parameters

Dynamic based on the record type. Includes the full Xero record.

Delete a Xero record

Delete a Xero record by its ID, e.g. Invoice, Payment, Credit Note.

Input parameters

Tenant ID (required) - The Xero Tenant ID to connect to. Dynamic list of authorised Xero tenants.

Record Type (required) - The type of Xero record to delete. Account, Credit Note, Credit Note Allocation, Invoice, Item, Payment, Purchase Order, Quote, Repeating Invoice, Tax Rate, Tracking Category, Tracking Option.

Record ID (required) - The Xero record ID to delete.

Output parameters

None.

Get a Xero record by ID

Get a single Xero record by its ID, e.g. Invoice, Payment, Credit Note.

Input parameters

Tenant ID (required) - The Xero Tenant ID to connect to. Dynamic list of authorised Xero tenants.

Record Type (required) - The type of Xero record to get the details for. Attachment, Contact, Credit Note, Invoice, Invoice PDF, Invoice URL, Item, Note, Payment, Purchase Order, Quote, Repeating Invoice.

Record ID (required) - The Xero record ID to get the details for.

Output parameters

Dynamic based on the record type. Includes the full Xero record.

List Xero records

Get a list of Xero records, e.g. Invoices, Payments, Credit Notes.

Input parameters

Tenant ID (required) - The Xero Tenant ID to connect to. Dynamic list of authorised Xero tenants.

Record Type (required) - The type of Xero record to get the details for. Account, Attachment, Branding Theme, Contact, Credit Note, Currency, History, Invoice, Item, Payment, Repeating Invoice, Tax Rate, Tracking Category.

Where (optional) - Filter conditions (if supported), e.g.: Type == “ACCREC“.

Order (optional) - Order attribute (if supported), e.g.: UpdatedDateUTC DESC.

Top (optional) - Top count of records to return.

Additional fields for History only:

Parent Record Type (required) - The parent record type to get the history for.

Parent Record ID (required) - The parent record ID to get the history for.

Output parameters

Dynamic based on the record type. Includes a list of Xero records.

Update a Xero record

Update a Xero record by its ID, e.g. Invoice, Credit Note, Contact.

Input parameters

Tenant ID (required) - The Xero Tenant ID to connect to. Dynamic list of authorised Xero tenants.

Record Type (required) - The type of Xero record to update. Contact, Invoice, Item, Purchase Order, Quote.

Record ID (required) - The Xero record ID to update.

Additional fields are dynamic based on the record type.

Output parameters

Dynamic based on the record type. Includes the full Xero record.

Send an HTTP request to Xero

Send an authenticated HTTP request to the Xero API. For more advanced operations.

Input parameters

Tenant ID (required) - The Xero Tenant ID to connect to. Dynamic list of authorised Xero tenants.

Method (required) - The HTTP method for the request. GET, POST, PUT, PATCH, DELETE.

API Endpoint (required) - Relative Xero Accounting API URL, e.g. /Invoices or /Invoices/{id}/Email.

Header (optional) - Key/value pair of additional headers to add to the request.

Body (optional) - The Body (typically JSON) to send with the request.

Output parameters

Body - Response body content (typically JSON string).

Headers - Response headers.

Status code - Response HTTP status code.

Xero Reports

Xero's reporting endpoints give you access to pre-calculated financial summaries directly from the API — often more efficient than fetching and aggregating raw records yourself. All reports are available via the Send an HTTP Request to Xero action.

Available Reports

Report Endpoint Region
Aged Payables By Contact /Reports/AgedPayablesByContact All
Aged Receivables By Contact /Reports/AgedReceivablesByContact All
Balance Sheet /Reports/BalanceSheet All
Bank Summary /Reports/BankSummary All
Budget Summary /Reports/BudgetSummary All
Executive Summary /Reports/ExecutiveSummary All
Profit and Loss /Reports/ProfitAndLoss All
Trial Balance /Reports/TrialBalance All

How to Retrieve a Report

Use the Send an HTTP Request to Xero action with:

  • Method: GET
  • API Endpoint: the report path from the table above, with any query parameters appended

Example — Profit and Loss for a specific date range:

Field Value
Method GET
API Endpoint /Reports/ProfitAndLoss?fromDate=2024-01-01&toDate=2024-03-31

Example — Aged Receivables for a specific contact:

Field Value
Method GET
API Endpoint /Reports/AgedReceivablesByContact?contactID=your-contact-id

Common Parameters

Many reports share these optional query string parameters:

Parameter Description
date As-at date for the report, e.g. 2024-03-31
fromDate / toDate Date range for the report period
periods Number of comparison periods to include
timeframe Period size: MONTH, QUARTER, or YEAR
paymentsOnly Set to true for cash-basis reporting

Refer to the Xero Accounting API documentation for the full parameter list for each individual report.

Response Format

All reports return a JSON Reports array. Each report contains:

  • ReportID and ReportName — identifies the report
  • ReportTitles — the heading lines as they appear in Xero (including organisation name and date range)
  • ReportDate — the date the report was generated
  • Rows — the report data structured as a collection of typed rows (Header, Section, Row, SummaryRow) each containing Cells with values

Use the Parse JSON action in Power Automate to work with the response body and extract the values you need.

Permissions Note

Reports require the connected Xero user to have at least Standard access. Users with the No Reports role will receive a 403 Forbidden error when calling any report endpoint.

Frequently Asked Questions

Who can use the Power Automate Xero Connector?

The Power Automate Xero Connector can be used by anyone who has a Xero account and access to Microsoft Power Automate. It's particularly valuable for:

  • Business users who want to automate their Xero workflows without coding knowledge

  • System administrators looking to connect Xero with their existing business applications

  • Finance teams who need real-time synchronization between Xero and other systems

  • Operations managers seeking to streamline their business processes

  • Small business owners who want enterprise-grade automation without the enterprise price tag

  • IT professionals who want to quickly implement reliable Xero integrations

  • Consultants and system integrators building solutions for their clients

No coding experience is required - if you can use Power Automate's drag-and-drop interface, you can use our connector. Whether you're a small business owner handling your own accounting or part of a large enterprise IT team, the connector is designed to be both powerful and user-friendly.

How fast can I set it up?

The Power Automate Xero Connector can be set up in minutes with no technical expertise required. All you need is:

  • A Xero account with full Accounting access.

  • A Microsoft Power Automate account

The setup process is straightforward:

  1. Add the Xero Accounting - Magnetism Connector from the Power Automate connector library

  2. Authenticate your Xero account

  3. Start creating your flows

Watch our step-by-step video where we demonstrate the complete setup and create a basic workflow in under 5 minutes. Most users are able to have their first automation flow running within their first session.

Even complex workflows can be set up in minutes rather than the days or weeks typically required for custom integrations. Since everything is done through Power Automate's visual interface, you won't need to involve developers or IT specialists - if you can use Power Automate, you can set up our connector!

Can I try the Power Automate Xero Connector before I buy it?

Yes! We offer a free 7-day trial, which we’ll help you set up. No credit card required and no obligations to continue if the Power Automate Xero Connector isn’t right for you.

I’m still unsure - can I ask some questions before I try it?

Of course. We're always here to help. Download the trial and then email sales@magnetismsolutions.com and we'll have our product specialist talk you through your concerns.