With Xero modules in {{Make}}, you can watch, create, update, retrieve, list, and/or delete accounts, bank transfers, bank transactions, change history, contacts, contact groups, credit notes, employees, files, invoices, items, journal manuals, notes, payments, purchase orders, and tax rates in your Xero account.
In order to use Xero with {{Make}}, it is necessary to have a Xero account. If you do not have an account, you can create one at xero.com/signup/.
![]() |
Note |
---|---|
Refer to the Xero API documentation for the list of available endpoints. |
To connect your Xero account to {{Make}}:
Log in to your {{Make}} account and add a Xero module to a scenario.
Click Create a connection.
Note: If you add a module with an instant
tag, click Create a webhook > Create a connection.
Optional: In the Connection name field, enter a name for the connection.
Optional: Click Show advanced settings and choose the Scopes for the connection. Each module's scopes can be found in the Build Xero Scenarios section below listed as Required Permissions. For more information regarding scopes, refer to the Xero API documentation.
Grant access to {{Make}} in the popup window. If you are prompted to sign in to your Xero account, do so first and then grant access.
You have successfully established the connection. You can now edit your scenario and add more Xero modules. If your connection requires reauthorization at any point, follow the connection renewal steps here.
![]() |
Note |
---|---|
If you receive an error while creating the connection, you must manually add the scopes. Go to step 4 and follow the instructions to do so. When adding a new Xero module to a scenario using an existing connection, you may be prompted to update the connection permissions. Click Continue and Allow access to extend the permissions. |
This app uses webhooks to trigger a scenario when an event occurs instantly. Follow the steps below to set them up.
Log in to your {{Make}} account and add the Xero Watch Events instant
module to a scenario.
Click Create a webhook, input a name in the Webhook name field, choose the associated Connection, and click Save.
Note: When adding the module using an existing connection, you may be prompted to update the connection permissions. Click Continue and Allow access to extend the permissions.
Click Copy address to clipboard > OK.
Go to the My Apps page of your Xero Developer account and select the app in which you want to set up the webhook.
Note: To create a new app, click New app, enter your Company or application URL, paste the following Redirect URI: https://www.integromat.com/oauth/cb/xero
, and click Create app.
Click the Webhooks tab on the left sidebar.
Follow the steps listed in Xero's Creating a webhook page. Use the link you copied in step 3 as the Delivery URL.
You have successfully set up your webhook.
Triggers when an invoice is added or updated.
Required Permissions: accounting.transactions, accounting.settings
Creates a new invoice.
Required Permissions: accounting.transactions, accounting.contacts, accounting.settings
Updates an invoice by ID.
Required Permissions: accounting.transactions, accounting.contacts, accounting.settings
Retrieves a sale invoice PDF.
Required Permissions: accounting.transactions, accounting.settings
Returns information about an invoice with a given ID.
Required Permissions: accounting.transactions, accounting.settings
Retrieves a Xero online invoice URL.
Required Permissions: accounting.transactions, accounting.settings
Searches for an invoice.
Required Permissions: accounting.transactions, accounting.settings
The email will be sent to the primary email address of the contact on the invoice. The invoice must be of Type ACCREC and have a valid Status for sending (SUBMITTED, AUTHORISED, or PAID).
Required Permissions: accounting.transactions, accounting.settings
Triggers when bank transactions are added or updated.
Required Permissions: accounting.transactions, accounting.settings
Creates a new bank transaction.
Required Permissions: accounting.transactions, accounting.contacts, accounting.settings
Triggers when a new bank transfer is created.
Required Permissions: accounting.transactions, accounting.settings
Triggers when a contact is created or updated.
Required Permissions: accounting.contacts, accounting.settings
Creates a new contact.
Required Permissions: accounting.transactions, accounting.contacts, accounting.settings
Updates a contact by ID.
Required Permissions: accounting.transactions, accounting.contacts, accounting.settings
Retrieves contact information by ID.
Required Permissions: accounting.contacts, accounting.settings
Searches for a contact by name or email.
Required Permissions: accounting.contacts, accounting.settings
Triggers when a credit note is added or updated.
Required Permissions: accounting.transactions, accounting.settings
Creates a new credit note.
Required Permissions: accounting.transactions, accounting.settings
Triggers when a manual journal is created or updated.
Required Permissions: accounting.transactions
Creates a manual journal.
Required Permissions: accounting.transactions, accounting.settings
Returns information about a manual journal.
Required Permissions: accounting.transactions, accounting.settings
Triggers when a quote is created.
Required Permissions: accounting.transactions, accounting.contacts, accounting.settings
Triggers when a payment is created or updated.
Required Permissions: accounting.transactions, accounting.settings
Creates a new batch payment
Required Permissions: accounting.transactions, accounting.settings
Use this method to apply payments to approved AR and AP invoices or refund AR or AP credit notes.
Required Permissions: accounting.transactions, accounting.settings
Retrieves information about payment with a specified ID.
Required Permissions: accounting.transactions, accounting.settings
Triggers when an order is added or updated.
Required Permissions: accounting.transactions, accounting.settings
Creates a new purchase order.
Required Permissions: accounting.transactions, accounting.contacts, accounting.settings
Updates an existing purchase order.
Required Permissions: accounting.transactions, accounting.contacts, accounting.settings
Returns information about a purchase order with a specified ID.
Required Permissions: accounting.transactions, accounting.settings
Creates a contact group.
Required Permissions: accounting.contacts, accounting.settings
Adds a contact to a specified contact group.
Required Permissions: accounting.contacts, accounting.settings
Returns information about a contact group.
Required Permissions: accounting.contacts, accounting.settings
Searches for a contact group.
Required Permissions: accounting.settings, accounting.contacts
Deletes all contacts from a contact group.
Required Permissions: accounting.contacts, accounting.settings
Triggers when employee leave is approved.
Required Permissions: payroll.employees.read, payroll.settings.read
Returns the balance and cash movements for each bank account.
Required Permissions: accounting.reports.read, accounting.settings
Returns information about an account with a specified ID.
Required Permissions: accounting.settings
Adds a note to a record.
Required Permissions: accounting.transactions, accounting.contacts, accounting.settings
Retrieves a list of attachments.
Required Permissions: accounting.attachments, accounting.settings, accounting.settings.read
Uploads a file using Files API.
Required Permissions: accounting.attachments, accounting.settings
Searches for timesheets or lists them all.
Required Permissions: payroll.timesheets.read
Updates an existing tracking category.
Required Permissions: payroll.settings
Retrieves an existing tracking category.
Required Permissions: payroll.settings.read
Searches for tracking categories or lists them all.
Required Permissions: payroll.settings.read
Performs an arbitrary authorized API call.
Connection |
|
Organization |
Select the organization for which you are making the API call. |
Base URL |
Select the endpoint URL to connect to your Xero account. |
URL |
Enter a path relative to For the list of available endpoints, refer to the Xero API Documentation. |
Method |
Select the HTTP method you want to use:
|
Headers |
Enter the desired request headers. You don't have to add authorization headers; we already did that for you. |
Query String |
Enter the request query string. |
Body |
Enter the body content for your API call. |