V1

Xero

Provides integration into Xero including the ability to create, update, delete and query master data and transactions.

Revision History

1.0.0.4 - changed the GenerateCertificate to include the start and end certificate lines.
2.0.0.4 - Major update to utilize Xero's RESTful API.
2.0.1.0 - Change to support supplying customer created Custom Xero Connection.
3.0.0.0 - Updated to Net4.8.
3.0.0.1 - Added error handling for expired tokens.
3.0.0.2 - Aligned code with Flowgear standards.
3.0.1.0 - Updated to allow authentication scopes to be customized.

Provides integration into Xero's Accounting Module via it's RESTful API (documented at https://developer.xero.com/documentation/api/api-overview).

Properties

Connection

Type: Connection Input

XeroTenantId
Type: String
Specifies which Xero Tenant for accessing the Xero environment.

XeroAppClientId
Type: String
App ID for the custom app created in Xero.

XeroAppClientSecret
Type: Password
App Secret for the custom app created in Xero.

XeroAppScopes
Type: String
Specifies Xero scopes for performing authentication. Follow the link to see the available scopes.
If no scopes are provided, the default scopes will be used:
offline_access accounting.transactions accounting.reports.read accounting.journals.read accounting.settings accounting.contacts accounting.attachments

ListOfTenants
Type: String
Generates a list of possible Tenant ID's connected to that Xero username, if only one tenant exists it will automatically be picked for the XeroTenantId, if multiple exist the user will need to select the appropriate one and place it into the above-mentioned field.

ReturnHttpFailureResponses
Type: Boolean
When true, indicates that the response should be returned even if the HTTP response code is not 200.

AccessToken
Type: String

RefreshToken
Type: Password

Node Properties

OperationId

Type: String Input
Populated by a GUID relevant to the selected Sample.

Request

Type: Multiline Text Input
The Request JSON payload, operations that include inserting or updating data in Xero will use this.

Response

Type: Multiline Text Output
The Response JSON payload, contains the response received from Xero Manage.

ResponseCode

Type: String Input
The Response Code as returned by the API server, 200 for success, 500 for error, etc.

Description

Type: String Input
The description of the API call selected through the dynamic samples.

Custom Inputs

Custom inputs are automatically created for the node when a sample containing url parameters has been selected. Url parameters that are part of the API call are required, while query type parameters can be removed or added based on individual need.
Example: The custom input "ContactID" from the GET Contact api call is required, while the custom input "page" from Get Contacts is not required.

All url parameters are determined through the OpenAPI document and are applied on selection of a sample, delete all custom properties that you will not be using.

Remarks

Setting up a Connection

  1. Create a custom app in Xero, using these instructions: Create Xero Client App.
  2. Set the Client App ID and Secret in the Connection.
  3. Click the Connect your Account button in the Flowgear Connection screen to initiate account authorization. On completion of this process, AccessToken and Refresh Token will be automatically populated for you.

Most integrations are associated with a specific Xero Tenant ID. The appropriate ID should be specified in the Connection.

Deprecated broad scopes

Broad scopes are being replaced by granular scopes. All Xero apps created from March 2, 2026 will use the new granular scopes. Existing Xero apps will be assigned the new granular scopes by the end of April 2026, and broad scopes will remain available until September 2027. Xero encourage users to adopt the new granular scopes as soon as they’re assigned to their app.