Integration

Xero Payroll AU integration

Xero Payroll for Australian organisations (Payroll AU API 1.0). Manage employees, leave applications (create, approve, reject), timesheets, payroll calendars, pay items, super funds, and pay runs with their payslips; read the payroll settings. Only organisations on Xero's Australian payroll answer it: use Xero Payroll UK or Xero Payroll NZ for those regions. Employee bank account numbers, tax file numbers, employee ABNs, super fund membership numbers and super fund account numbers are left out of every response. Authentication is Xero OAuth 2.0 with the payroll scopes; call list_connections first and pass its tenantId as Xero-Tenant-Id.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in Xero Payroll AU.Built from the 33 Xero Payroll AU tools below, on the connection you add once.

Common Xero Payroll AU use cases

  • Find the tenantId before any accounting call
  • Choose between several connected organisations

What you can do with Xero Payroll AU

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Employee, 4 operations

  • create_employeesCreate employeesPOSTCreates one or more payroll employees. FirstName, LastName, DateOfBirth and HomeAddress are required per employee. Returns the created employees with their EmployeeID.
  • get_employeeGet employeeGETReturns one payroll employee: personal details, pay template, leave balances, super memberships and tax declaration (bank account numbers and tax file number are not returned).
  • list_employeesList employeesGETLists payroll employees, 100 per page. Filter with where (for example Status=="ACTIVE") and sort with order. Bank account numbers and tax file numbers are not returned by this tool.
  • update_employeeUpdate employeePOSTUpdates a payroll employee. Send only the fields to change (the vendor example sends just MiddleNames). Returns the updated employee.

Leave application, 4 operations

  • create_leave_applicationsCreate leave applicationsPOSTCreates one or more leave applications for employees. Each needs EmployeeID, LeaveTypeID (from list_pay_items), Title, StartDate and EndDate.
  • get_leave_applicationGet leave applicationGETReturns one leave application with its leave periods (pay period dates, units, status).
  • list_leave_applicationsList leave applicationsGETLists leave applications (leave already approved or scheduled), 100 per page. Use list_leave_applications_v2 to also see leave requests awaiting approval.
  • update_leave_applicationUpdate leave applicationPOSTUpdates a leave application (title, dates, description, leave periods). Send EmployeeID and LeaveTypeID with the change, as the vendor example does.

Pay run, 4 operations

  • create_pay_runCreate pay runPOSTCreates a pay run for a payroll calendar (PayrollCalendarID required, from list_payroll_calendars), as a DRAFT unless PayRunStatus POSTED is sent. Xero accepts one pay run per request. Posting is normally a separate step with update_pay_run.
  • get_pay_runGet pay runGETReturns one pay run with its payslips (per employee wages, deductions, tax, super, net pay) and totals. Use get_payslip for a payslip lines.
  • list_pay_runsList pay runsGETLists pay runs, 100 per page, with period dates, status (DRAFT or POSTED) and totals. Filter with where, for example PayRunStatus=="DRAFT".
  • update_pay_runUpdate pay runPOSTUpdates a pay run. Setting PayRunStatus to POSTED finalises the pay run for payment: only do that when the user asked for it. Leave it out to keep the pay run a draft.

Superfund, 4 operations

  • create_superfundsCreate superfundsPOSTCreates one or more super funds. Type is required: REGULATED (give the fund USI, see list_superfund_products) or SMSF (give ABN, BSB, account number and name, ESA).
  • get_superfundGet superfundGETReturns one super fund (type, name, USI or ABN, employer number). The fund bank account number is not returned.
  • list_superfundsList superfundsGETLists the super funds set up for the organisation (regulated funds and self managed funds), 100 per page. Fund bank account numbers are not returned.
  • update_superfundUpdate superfundPOSTUpdates a super fund. Type is required by the vendor schema; send it with the fields to change.

Timesheet, 4 operations

  • create_timesheetsCreate timesheetsPOSTCreates one or more timesheets. Each needs EmployeeID, StartDate and EndDate; TimesheetLines carry an EarningsRateID and NumberOfUnits, one number per day of the period.
  • get_timesheetGet timesheetGETReturns one timesheet with its lines (earnings rate, tracking item, units per day).
  • list_timesheetsList timesheetsGETLists timesheets, 100 per page, with employee, period, status and total hours. Filter with where, for example Status=="DRAFT".
  • update_timesheetUpdate timesheetPOSTUpdates a timesheet (status, lines). EmployeeID, StartDate and EndDate are required by the vendor schema: read them with get_timesheet and send them back with the change.

Payroll calendar, 3 operations

  • create_payroll_calendarsCreate payroll calendarsPOSTCreates one or more payroll calendars. Each needs Name, CalendarType (WEEKLY, FORTNIGHTLY, FOURWEEKLY, MONTHLY, TWICEMONTHLY or QUARTERLY), StartDate and PaymentDate.
  • get_payroll_calendarGet payroll calendarGETReturns one payroll calendar: name, calendar type, start date of the upcoming period and payment date.
  • list_payroll_calendarsList payroll calendarsGETLists payroll calendars (name, calendar type, start date, payment date) with the PayrollCalendarID that create_pay_run needs.

Pay item, 2 operations

  • create_pay_itemsCreate pay itemsPOSTCreates pay items (earnings rates, deduction types, leave types, reimbursement types). Send the arrays to add; returns the pay items.
  • list_pay_itemsList pay itemsGETLists the organisation pay items: earnings rates, deduction types, leave types and reimbursement types, with the ids other tools ask for (EarningsRateID, LeaveTypeID...).

Payslip, 2 operations

  • get_payslipGet payslipGETReturns one payslip with its lines: earnings, leave earnings, timesheet earnings, deductions, leave accrual, reimbursements, super and tax. Payslip ids come from get_pay_run.
  • update_payslipUpdate payslipPOSTUpdates payslip lines. A line type left out is unchanged; a line type sent must carry ALL its lines, or Xero deletes the missing ones. Read the payslip with get_payslip first. Leave earnings come from leave applications.

Approve, 1 operation

  • approve_leave_applicationApprove leave applicationPOSTApproves a requested leave application so it is scheduled in payroll. Takes no body; returns the leave application.

Connection, 1 operation

  • list_connectionsList connectionsGETList the Xero organisations this connection is authorized for. Call it first: every payroll tool needs one of the returned tenantId values as its Xero-Tenant-Id.

Reject, 1 operation

  • reject_leave_applicationReject leave applicationPOSTRejects a requested leave application. Takes no body; returns the leave application.

Settings, 1 operation

  • get_settingsGet settingsGETReturns the payroll settings: the accounts payroll posts to, the tracking categories used for employee groups and timesheets, days in the payroll year, and whether employees are on STP Phase 2.

Superfund product, 1 operation

  • list_superfund_productsList superfund productsGETLooks up regulated super fund products by ABN or USI (give one of the two), returning product name, ABN and USI to use in create_superfunds.

V2, 1 operation

  • list_leave_applications_v2List leave applications v2GETLists leave applications like list_leave_applications, but also includes leave requests (not yet approved), with each leave period and its status.

Use Xero Payroll AU from Claude Code, Cursor or Codex

Connect Xero Payroll AU in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Xero Payroll AU operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect Xero Payroll AU

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect Xero Payroll AU once

    Add your Xero Payroll AU connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

Xero Payroll AU integration FAQ

What can you do with the Xero Payroll AU integration?

LiveContext exposes 33 operations on Xero Payroll AU, covering employee, leave application, pay run and superfund. Common uses include Find the tenantId before any accounting call and Choose between several connected organisations.

Popular integrations

Browse the whole catalog