Xero is a New Zealand–based technology company that provides cloud-based accounting software for small and medium-sized businesses.

Changelog

15 versions
v1.6.4 Latest
  • Fixed *META* lock exhaustion ("Exceeded 30 attempts to lock the resource ...:locks:xero:<hash>") on long-running jobs (>15 min) that repeatedly read the same account/query via the withCache list cache. Cache hits are now served without taking the lock, so warm-cache reads no longer contend; the lock is only used to dedupe the burst that populates a cold cache.
  • withCache: the lock is now released in every code path (cache hit, success and error), the release is awaited and guarded, and lock acquisition uses an explicit TTL (60s, documented) plus a longer retry budget. If the lock still cannot be acquired the call degrades to a direct fetch instead of failing the component, and lock acquisition/release failures are logged with the lock key.
v1.6.3
  • Fixed dynamic output port options of ListAccounts, ListContacts, ListJournals and GetOrganization: the designer's options call was rejected because the required tenantId input was not supplied, leaving downstream variable pickers empty (invalid-variable chips).
  • GetOrganization now outputs the organisation object directly (fields at the top level), matching the variable picker options; previously the output was wrapped in an items key that the picker did not offer.
  • Fixed swapped label/value pairs in output options (ListAccounts Account ID, GetOrganization External Links and Payment Terms).
  • ListJournals: pagination is now handled internally using the Journals endpoint's offset mechanism (the endpoint ignores page-based pagination); the manual Offset input was removed.
  • ListAccounts, ListContacts, ListJournals, GetOrganization: required Tenant ID input is validated with a clear error message.
v1.6.2
  • Cache inspector/list source calls (ListTenants, ListContacts, ListAccounts, ListTrackingCategories) with context.lock + staticCache and a configurable TTL (context.config.listCacheTTL, default 120s) to avoid Xero 429 rate-limit errors in the designer.
  • XeroClient: honor Retry-After on 429 responses so a single throttled page does not fail the whole paginated fetch.
v1.6.1
  • Fixed account identity resolution: profile info now comes from the OpenID Connect userinfo endpoint (the authenticated user) instead of the organisation's first user, so two users on the same Xero org no longer collapse to the same connected account.
  • Re-authentication required: existing Xero connections still carry the old (organisation's first user) identity. Remove and re-authorize each affected connection after upgrading for the correct user to resolve.
v1.6.0
  • Added MakeApiCall component for performing arbitrary authorized API calls to the Xero API.
v1.5.0
  • Added test() (Flow Test Mode) to the NewContact, UpdatedContact, NewInvoice and UpdatedInvoice triggers.
v1.4.0
  • Added component: CreateTrackingCategory.
  • CreateTrackingCategoryOption: validate required inputs (tenantId, trackingCategoryId, name).
  • ListTrackingCategories: tenantId is no longer a hard schema requirement so it can back a dependent dropdown; when used as a dropdown source (isSource) it degrades to an empty list on a missing/invalid tenant or API error instead of surfacing an inspector error.
v1.3.0
  • Added component: CreateTrackingCategoryOption.
v1.2.1
  • Added output examples to component schemas.
v1.2.0
  • Added components: FindManualJournals, CreateManualJournal, UpdateManualJournal.
v1.1.3
  • Fixed issue with all trigger components not working properly with the default configuration.
v1.1.2
  • Fixed currency enumerations in CreateInvoice and UpdateInvoice components.
v1.1.1
  • Added components: NewInvoice, UpdatedInvoice, NewContact, UpdatedContact.
v1.0.3
  • Fixed type of ExpectedPaymentDate and PlannedPaymentDate fields in inspector to be date instead of string for CreateInvoice and UpdateInvoice components.
v1.0.0
  • Initial version.

Authentication

TypeDetails
OAuth 2
Authentication Hub Verified

This connector is globally authenticated and verified by Appmixer and is ready to use without registering your own OAuth application with the provider. Appmixer's Authentication Hub acts as an authentication proxy, so all OAuth-based connectors work out of the box. You can still use your own OAuth credentials (clientId and clientSecret) for enhanced customization or compliance — see the Connector Configuration section of the documentation. The Authentication Hub is enabled for all hosted Appmixer tenants; on self-managed installations it has to be explicitly set.

Scopes:
openid profile email offline_access accounting.settings.read

Triggers

4
New Contact icon

New Contact

Triggered when a new contact is created.
Additional Scopes:
accounting.contacts.read
New Invoice icon

New Invoice

Triggered when a new invoice is created.
Additional Scopes:
accounting.transactions
Updated Invoice icon

Updated Invoice

Triggered when a invoice is updated.
Additional Scopes:
accounting.transactions
Updated Contact icon

Updated Contact

Triggered when a contact is updated.
Additional Scopes:
accounting.contacts.read

Actions

18
Add Attachment To Invoice icon

Add Attachment To Invoice

Attach files to a sales invoice or purchase bill.
Additional Scopes:
accounting.attachments
Create Contact icon

Create Contact

Create a contact.
Additional Scopes:
accounting.contacts
Create Invoice icon

Create Invoice

Create an invoice or purchase bill.
Additional Scopes:
accounting.transactions
Create Manual Journal icon

Create Manual Journal

Create a manual journal.
Additional Scopes:
accounting.transactions
Create Tracking Category icon

Create Tracking Category

Create a new tracking category in Xero.
Additional Scopes:
accounting.settings
Create Tracking Category Option icon

Create Tracking Category Option

Create a new option on an existing Xero tracking category.
Additional Scopes:
accounting.settings
Find Manual Journals icon

Find Manual Journals

Find manual journals. Optionally filter by status.
Additional Scopes:
accounting.transactions.read
Get Invoice icon

Get Invoice

Retrieve an invoice or purchase bill.
Additional Scopes:
accounting.transactions
Get Organization icon

Get Organization

Returns information about a Xero organisation. The organisation will be the one specified by the Tenant ID field.
List Contacts icon

List Contacts

Allows you to retrieve contacts in a Xero organisation.
Additional Scopes:
accounting.contacts.read
List Accounts icon

List Accounts

Allows you to retrieve the full chart of accounts.
List Journals icon

List Journals

Use this method to retrieve either one or many journals. A maximum of 100 journals will be returned in any response. Journals are ordered oldest to newest.
Additional Scopes:
accounting.journals.read
List Tenants icon

List Tenants

List tenants/organizations.
List Tracking Categories icon

List Tracking Categories

Retrieve tracking categories and options for a Xero organisation.
Update Contact icon

Update Contact

Udpate status of a single contact.
Additional Scopes:
accounting.contacts
Update Invoice icon

Update Invoice

Use this method to create or update an invoice.
Additional Scopes:
accounting.transactions
Update Manual Journal icon

Update Manual Journal

Update a manual journal.
Additional Scopes:
accounting.transactions
Make Api Call icon

Make Api Call

Performs an arbitrary authorized API call to the Xero API.