Xero
Aynı zamanda bir ajan aracıXero Accounting API (api.xro/2.0) integration. OAuth 2.0 (authorization-code + offline refresh) with a mandatory per-call Xero-tenant-id header injected via oauth_config.extra_headers (ADR-033) — the connected organisation discovered at setup via GET https://api.xero.com/connections. Covers the full Accounting API JSON surface: Accounts, BankTransactions, BankTransfers, BatchPayments, BrandingThemes, Budgets, Contacts, ContactGroups, CreditNotes, Currencies, Employees, ExpenseClaims, Invoices, InvoiceReminders, Items, Journals, LinkedTransactions, ManualJournals, Organisation, Overpayments, Payments, PaymentServices, Prepayments, PurchaseOrders, Quotes, Receipts, RepeatingInvoices, Reports, TaxRates, TrackingCategories, Users, plus per-resource Attachments-list/History JSON sub-resources. Real signed webhooks (x-xero-signature HMAC-SHA256 base64, generic_hmac) for Contact/Invoice/CreditNote/Subscription create+update, with intent-to-receive (xero-01). Binary attachment upload/download + /pdf endpoints are deferred (xero-07); other Xero product APIs (Payroll, Files, Projects, Assets, etc.) live on separate base paths and are deferred to a future pack version (xero-10).
133 eylemler · 16 tetikleyiciler
Xero entegrasyonu — 133 aksiyon ve 16 tetikleyici ile Xero'ı otomasyonlarına bağla; her aksiyon aynı zamanda bir AI agent aracı. Örnek: Get Organisation, Get Organisation Actions, List Accounts, Get Account, Create Account. Boş bir tuvalde uğraşmadan — bağla ve workflow'larında kullan.
Aşağıdaki her eylem, bir AI ajanının da çağırabileceği bir araçtır — aynı pack hem iş akışlarınızı hem ajanlarınızı çalıştırır.
Tetikleyiciler 16
Xero üzerinde bir iş akışını başlatabilen olaylar.
Contact Created
Fires when a contact is created in Xero (webhook eventCategory=CONTACT, eventType=CREATE). The signed POST carries a thin events[] reference (resourceId, resourceUrl, tenantId) — hydrate the full contact via get_contact / the resourceUrl. Intent-to-receive validation bodies (empty events[]) emit nothing (xero-01).
Contact Updated
Fires when a contact is updated in Xero (webhook eventCategory=CONTACT, eventType=UPDATE). Thin events[] reference; hydrate via get_contact / resourceUrl.
Invoice Created
Fires when an invoice is created in Xero (webhook eventCategory=INVOICE, eventType=CREATE). Thin events[] reference; hydrate via get_invoice / resourceUrl.
Invoice Updated
Fires when an invoice is updated in Xero (webhook eventCategory=INVOICE, eventType=UPDATE). Thin events[] reference; hydrate via get_invoice / resourceUrl.
Credit Note Created
Fires when a credit note is created in Xero (webhook eventCategory=CREDITNOTE, eventType=CREATE). Thin events[] reference; hydrate via get_credit_note / resourceUrl.
Credit Note Updated
Fires when a credit note is updated in Xero (webhook eventCategory=CREDITNOTE, eventType=UPDATE). Thin events[] reference; hydrate via get_credit_note / resourceUrl.
Subscription Created
Fires when an App Store subscription is created (webhook eventCategory=SUBSCRIPTION, eventType=CREATE). App Store partner apps only.
Subscription Updated
Fires when an App Store subscription is updated (webhook eventCategory=SUBSCRIPTION, eventType=UPDATE). App Store partner apps only.
New or updated bank transactions
Polls Xero for bank transactions changed since the last run (no webhook for this resource).
New or updated contacts
Polling fallback for the CONTACT webhook; polls contacts changed since the last run.
New or updated credit notes
Polling fallback for the CREDITNOTE webhook; polls credit notes changed since the last run.
New or updated invoices
Polling fallback for the INVOICE webhook; polls invoices changed since the last run.
New or updated items
Polls Xero for inventory items changed since the last run (no webhook for this resource).
New journals
Polls the general ledger using JournalNumber offset (no webhook for journals). Cursor = last JournalNumber seen; engine bootstraps at '' (Xero treats empty offset as start-from-0).
New or updated manual journals
Polls Xero for manual journals changed since the last run (no webhook for this resource).
New or updated payments
Polls Xero for payments changed since the last run (no webhook for this resource).
Eylemler 133
Zervanor'un Xero üzerinde yapabilecekleri.
Reports12
List Reports
List available reports (Xero: GET /Reports).
Get Balance Sheet
Retrieve the Balance Sheet report (Xero: GET /Reports/BalanceSheet).
Get Bank Summary
Retrieve the Bank Summary report (Xero: GET /Reports/BankSummary).
Get Budget Summary
Retrieve the Budget Summary report (Xero: GET /Reports/BudgetSummary).
Get Executive Summary
Retrieve the Executive Summary report (Xero: GET /Reports/ExecutiveSummary).
Get Profit and Loss
Retrieve the Profit and Loss report (Xero: GET /Reports/ProfitAndLoss).
Get Trial Balance
Retrieve the Trial Balance report (Xero: GET /Reports/TrialBalance).
Get Aged Payables by Contact
Retrieve the Aged Payables by Contact report (Xero: GET /Reports/AgedPayablesByContact).
Get Aged Receivables by Contact
Retrieve the Aged Receivables by Contact report (Xero: GET /Reports/AgedReceivablesByContact).
List BAS/GST Reports
List published BAS/GST reports for AU/NZ/UK (Xero: GET /Reports/BASorGSTList).
Get Published Report
Retrieve a specific published BAS/GST report by id (Xero: GET /Reports/{ReportID}).
Get 1099 Report
Retrieve the US 1099 report (Xero: GET /Reports/TenNinetyNine).
Invoices9
List Invoices
List invoices, paged (Xero: GET /Invoices). Supports Statuses and If-Modified-Since delta.
Get Invoice
Retrieve a single invoice by GUID or InvoiceNumber (Xero: GET /Invoices/{InvoiceID}).
Create Invoice
Create invoices (Xero: PUT /Invoices). Body wraps { "Invoices": [ ... ] }.
Update Invoice
Update a single invoice — status, void, etc. (Xero: POST /Invoices/{InvoiceID}). Body wraps { "Invoices": [ ... ] }.
Email Invoice
Email an invoice to the contact (Xero: POST /Invoices/{InvoiceID}/Email). Empty body.
Get Online Invoice URL
Retrieve the online-invoice URL for an invoice (Xero: GET /Invoices/{InvoiceID}/OnlineInvoice).
List Invoice Attachments
List attachment metadata on an invoice — JSON metadata only, not the binary (Xero: GET /Invoices/{InvoiceID}/Attachments). Binary upload/download is deferred (xero-07).
Get Invoice History
Retrieve history and notes for an invoice (Xero: GET /Invoices/{InvoiceID}/History).
Add Invoice History Note
Add a note to an invoice's history (Xero: PUT /Invoices/{InvoiceID}/History). Body wraps { "HistoryRecords": [ { "Details": "..." } ] }.
Contacts8
List Contacts
List contacts, paged (Xero: GET /Contacts). Supports If-Modified-Since delta.
Get Contact
Retrieve a single contact by GUID or ContactNumber (Xero: GET /Contacts/{ContactID}).
Create Contact
Create one or more contacts (Xero: PUT /Contacts). Body wraps { "Contacts": [ ... ] }.
Update Contact
Update a single contact; archive via ContactStatus=ARCHIVED (Xero: POST /Contacts/{ContactID}). No hard delete (xero-05). Body wraps { "Contacts": [ ... ] }.
Get Contact CIS Settings
Retrieve UK CIS settings for a contact (Xero: GET /Contacts/{ContactID}/CISSettings).
List Contact Attachments
List attachment metadata on a contact — JSON metadata only (Xero: GET /Contacts/{ContactID}/Attachments). Binary upload/download is deferred (xero-07).
Get Contact History
Retrieve history and notes for a contact (Xero: GET /Contacts/{ContactID}/History).
Add Contact History Note
Add a note to a contact's history (Xero: PUT /Contacts/{ContactID}/History). Body wraps { "HistoryRecords": [ { "Details": "..." } ] }.
ContactGroups7
List Contact Groups
List contact groups (Xero: GET /ContactGroups).
Get Contact Group
Retrieve a single contact group (Xero: GET /ContactGroups/{ContactGroupID}).
Create Contact Group
Create a contact group (Xero: PUT /ContactGroups). Body wraps { "ContactGroups": [ ... ] }.
Update Contact Group
Rename a contact group or set Status=DELETED (Xero: POST /ContactGroups/{ContactGroupID}). Body wraps { "ContactGroups": [ ... ] }.
Add Contacts to Group
Add contacts to a contact group (Xero: PUT /ContactGroups/{ContactGroupID}/Contacts). Body wraps { "Contacts": [ ... ] }.
Remove All Contacts from Group
Remove all contacts from a contact group (Xero: DELETE /ContactGroups/{ContactGroupID}/Contacts).
Remove Contact from Group
Remove a single contact from a contact group (Xero: DELETE /ContactGroups/{ContactGroupID}/Contacts/{ContactID}).
CreditNotes6
List Credit Notes
List credit notes, paged (Xero: GET /CreditNotes).
Get Credit Note
Retrieve a single credit note (Xero: GET /CreditNotes/{CreditNoteID}).
Create Credit Note
Create credit notes (Xero: PUT /CreditNotes). Body wraps { "CreditNotes": [ ... ] }.
Update Credit Note
Update a credit note (Xero: POST /CreditNotes/{CreditNoteID}). Body wraps { "CreditNotes": [ ... ] }.
Allocate Credit Note
Allocate a credit note to an invoice (Xero: PUT /CreditNotes/{CreditNoteID}/Allocations). Body wraps { "Allocations": [ ... ] }.
Delete Credit Note Allocation
Delete a credit note allocation (Xero: DELETE /CreditNotes/{CreditNoteID}/Allocations/{AllocationID}).
TrackingCategories6
List Tracking Categories
List tracking categories and their options (Xero: GET /TrackingCategories).
Get Tracking Category
Retrieve a single tracking category (Xero: GET /TrackingCategories/{TrackingCategoryID}).
Create Tracking Category
Create a tracking category (Xero: PUT /TrackingCategories). Body wraps { "TrackingCategories": [ ... ] }.
Update Tracking Category
Update or delete a tracking category via Status=DELETED (Xero: POST /TrackingCategories/{TrackingCategoryID}). Body wraps { "TrackingCategories": [ ... ] }.
Add Tracking Option
Add an option to a tracking category (Xero: PUT /TrackingCategories/{TrackingCategoryID}/Options). Body wraps { "Options": [ ... ] }.
Update Tracking Option
Update or delete a tracking option via Status=DELETED (Xero: POST /TrackingCategories/{TrackingCategoryID}/Options/{OptionID}). Body wraps { "Options": [ ... ] }.
Accounts5
List Accounts
List the chart of accounts (Xero: GET /Accounts).
Get Account
Retrieve a single account by GUID (Xero: GET /Accounts/{AccountID}).
Create Account
Create a new account in the chart of accounts (Xero: PUT /Accounts). Body wraps the collection: { "Accounts": [ ... ] }.
Update Account
Update an existing account (Xero: POST /Accounts/{AccountID}). Body wraps the collection: { "Accounts": [ ... ] }.
Delete Account
Delete an account, only if it has no transactions (Xero: DELETE /Accounts/{AccountID}).
Items5
List Items
List inventory items (Xero: GET /Items).
Get Item
Retrieve a single item by GUID or Code (Xero: GET /Items/{ItemID}).
Create Item
Create items (Xero: PUT /Items). Body wraps { "Items": [ ... ] }.
Update Item
Update a single item (Xero: POST /Items/{ItemID}). Body wraps { "Items": [ ... ] }.
Delete Item
Delete an item (Xero: DELETE /Items/{ItemID}).
LinkedTransactions5
List Linked Transactions
List linked transactions / billable expenses (Xero: GET /LinkedTransactions).
Get Linked Transaction
Retrieve a single linked transaction (Xero: GET /LinkedTransactions/{LinkedTransactionID}).
Create Linked Transaction
Create a linked transaction (Xero: PUT /LinkedTransactions). Body wraps { "LinkedTransactions": [ ... ] }.
Update Linked Transaction
Update a linked transaction (Xero: POST /LinkedTransactions/{LinkedTransactionID}). Body wraps { "LinkedTransactions": [ ... ] }.
Delete Linked Transaction
Delete a linked transaction (Xero: DELETE /LinkedTransactions/{LinkedTransactionID}).
Payments5
List Payments
List payments (Xero: GET /Payments).
Get Payment
Retrieve a single payment (Xero: GET /Payments/{PaymentID}).
Create Payment
Create a single payment (Xero: PUT /Payments). Body wraps { "Payments": [ ... ] }.
Create Payments
Create multiple payments (Xero: POST /Payments). Body wraps { "Payments": [ ... ] }.
Delete Payment
Reverse/delete a payment by setting Status=DELETED (Xero: POST /Payments/{PaymentID}). Body wraps { "Payments": [ ... ] }.
BankTransactions4
List Bank Transactions
List bank transactions, paged (Xero: GET /BankTransactions).
Get Bank Transaction
Retrieve a single bank transaction (Xero: GET /BankTransactions/{BankTransactionID}).
Create Bank Transaction
Create spend/receive money bank transactions (Xero: PUT /BankTransactions). Body wraps { "BankTransactions": [ ... ] }.
Create or Update Bank Transactions
Create or update bank transactions (Xero: POST /BankTransactions). Body wraps { "BankTransactions": [ ... ] }.
BatchPayments4
List Batch Payments
List batch payments (Xero: GET /BatchPayments).
Get Batch Payment
Retrieve a single batch payment (Xero: GET /BatchPayments/{BatchPaymentID}).
Create Batch Payment
Create a batch payment (Xero: PUT /BatchPayments). Body wraps { "BatchPayments": [ ... ] }.
Delete Batch Payment
Reverse/delete a batch payment by setting Status=DELETED (Xero: POST /BatchPayments/{BatchPaymentID}). Body wraps { "BatchPayments": [ ... ] }.
Employees4
List Employees
List employees in the accounting context (Xero: GET /Employees).
Get Employee
Retrieve a single employee (Xero: GET /Employees/{EmployeeID}).
Create Employee
Create employees (Xero: PUT /Employees). Body wraps { "Employees": [ ... ] }.
Create or Update Employees
Create or update employees (Xero: POST /Employees). Body wraps { "Employees": [ ... ] }.
ExpenseClaims4
List Expense Claims
List expense claims (Xero: GET /ExpenseClaims).
Get Expense Claim
Retrieve a single expense claim (Xero: GET /ExpenseClaims/{ExpenseClaimID}).
Create Expense Claim
Create expense claims (Xero: PUT /ExpenseClaims). Body wraps { "ExpenseClaims": [ ... ] }.
Update Expense Claim
Update an expense claim (Xero: POST /ExpenseClaims/{ExpenseClaimID}). Body wraps { "ExpenseClaims": [ ... ] }.
ManualJournals4
List Manual Journals
List manual journals, paged (Xero: GET /ManualJournals).
Get Manual Journal
Retrieve a single manual journal (Xero: GET /ManualJournals/{ManualJournalID}).
Create Manual Journal
Create manual journals (Xero: PUT /ManualJournals). Body wraps { "ManualJournals": [ ... ] }.
Update Manual Journal
Update a single manual journal (Xero: POST /ManualJournals/{ManualJournalID}). Body wraps { "ManualJournals": [ ... ] }.
Overpayments4
List Overpayments
List overpayments, paged (Xero: GET /Overpayments).
Get Overpayment
Retrieve a single overpayment (Xero: GET /Overpayments/{OverpaymentID}).
Allocate Overpayment
Allocate an overpayment to an invoice (Xero: PUT /Overpayments/{OverpaymentID}/Allocations). Body wraps { "Allocations": [ ... ] }.
Delete Overpayment Allocation
Delete an overpayment allocation (Xero: DELETE /Overpayments/{OverpaymentID}/Allocations/{AllocationID}).
Prepayments4
List Prepayments
List prepayments, paged (Xero: GET /Prepayments).
Get Prepayment
Retrieve a single prepayment (Xero: GET /Prepayments/{PrepaymentID}).
Allocate Prepayment
Allocate a prepayment to an invoice (Xero: PUT /Prepayments/{PrepaymentID}/Allocations). Body wraps { "Allocations": [ ... ] }.
Delete Prepayment Allocation
Delete a prepayment allocation (Xero: DELETE /Prepayments/{PrepaymentID}/Allocations/{AllocationID}).
PurchaseOrders4
List Purchase Orders
List purchase orders, paged (Xero: GET /PurchaseOrders).
Get Purchase Order
Retrieve a single purchase order by GUID or PurchaseOrderNumber (Xero: GET /PurchaseOrders/{PurchaseOrderID}).
Create Purchase Order
Create purchase orders (Xero: PUT /PurchaseOrders). Body wraps { "PurchaseOrders": [ ... ] }.
Update Purchase Order
Update a single purchase order (Xero: POST /PurchaseOrders/{PurchaseOrderID}). Body wraps { "PurchaseOrders": [ ... ] }.
Quotes4
List Quotes
List quotes, paged (Xero: GET /Quotes).
Get Quote
Retrieve a single quote by GUID or QuoteNumber (Xero: GET /Quotes/{QuoteID}).
Create Quote
Create quotes (Xero: PUT /Quotes). Body wraps { "Quotes": [ ... ] }.
Update Quote
Update a single quote (Xero: POST /Quotes/{QuoteID}). Body wraps { "Quotes": [ ... ] }.
Receipts4
List Receipts
List draft expense receipts (Xero: GET /Receipts).
Get Receipt
Retrieve a single receipt (Xero: GET /Receipts/{ReceiptID}).
Create Receipt
Create receipts (Xero: PUT /Receipts). Body wraps { "Receipts": [ ... ] }.
Update Receipt
Update a receipt (Xero: POST /Receipts/{ReceiptID}). Body wraps { "Receipts": [ ... ] }.
RepeatingInvoices4
List Repeating Invoices
List repeating invoice templates (Xero: GET /RepeatingInvoices).
Get Repeating Invoice
Retrieve a single repeating invoice (Xero: GET /RepeatingInvoices/{RepeatingInvoiceID}).
Create Repeating Invoice
Create repeating invoices (Xero: PUT /RepeatingInvoices). Body wraps { "RepeatingInvoices": [ ... ] }.
Create or Update Repeating Invoices
Create or update repeating invoices (Xero: POST /RepeatingInvoices). Body wraps { "RepeatingInvoices": [ ... ] }.
BankTransfers3
List Bank Transfers
List bank transfers (Xero: GET /BankTransfers).
Get Bank Transfer
Retrieve a single bank transfer (Xero: GET /BankTransfers/{BankTransferID}).
Create Bank Transfer
Create a bank transfer (Xero: PUT /BankTransfers). Body wraps { "BankTransfers": [ ... ] }.
TaxRates3
List Tax Rates
List tax rates (Xero: GET /TaxRates).
Create Tax Rate
Create tax rates (Xero: PUT /TaxRates). Body wraps { "TaxRates": [ ... ] }.
Create or Update Tax Rates
Create or update tax rates, including status changes (Xero: POST /TaxRates). Body wraps { "TaxRates": [ ... ] }.
BrandingThemes2
List Branding Themes
List branding themes (Xero: GET /BrandingThemes).
Get Branding Theme
Retrieve a single branding theme (Xero: GET /BrandingThemes/{BrandingThemeID}).
Budgets2
List Budgets
List budgets (Xero: GET /Budgets).
Get Budget
Retrieve a single budget with its budget lines (Xero: GET /Budgets/{BudgetID}).
Currencies2
List Currencies
List currencies for the organisation (Xero: GET /Currencies).
Create Currency
Add a currency to the organisation (Xero: PUT /Currencies). Body wraps { "Currencies": [ ... ] }.
Journals2
List Journals
List general-ledger journals, read-only (Xero: GET /Journals).
Get Journal
Retrieve a single journal by GUID or JournalNumber (Xero: GET /Journals/{JournalID}).
Organisation2
Get Organisation
Retrieve the connected organisation's details (Xero: GET /Organisation). Single object; parameterless beyond the required Xero-tenant-id header. Safe identity/connectivity probe — validates both the OAuth token and the tenant header in one call. Connector READ test target.
Get Organisation Actions
List the allowed actions (entitlements) for the connected organisation (Xero: GET /Organisation/Actions).
PaymentServices2
List Payment Services
List payment services; requires the paymentservices scope (Xero: GET /PaymentServices).
Create Payment Service
Create a payment service (Xero: PUT /PaymentServices). Body wraps { "PaymentServices": [ ... ] }.
Users2
List Users
List users in the organisation (Xero: GET /Users).
Get User
Retrieve a single user (Xero: GET /Users/{UserID}).
InvoiceReminders1
Get Invoice Reminders Setting
Retrieve the organisation's invoice-reminder on/off setting (Xero: GET /InvoiceReminders/Settings).
Aramanızla eşleşen bir şey yok.
Xero kullanan Çözüm Şablonları
Xero ile kendi otomasyonunu görsel tasarımcıda kur.
Sıkça sorulan sorular
Xero ile neler otomatikleştirebilirim?
133 aksiyon var — örneğin: Get Organisation, Get Organisation Actions, List Accounts, Get Account, Create Account ve daha fazlası.
Hangi Xero olayları bir workflow başlatabilir?
16 tetikleyici — örneğin: Contact Created, Contact Updated, Invoice Created, Invoice Updated.
Xero bir AI agent aracı olarak kullanılabilir mi?
Evet. Xero'ın her aksiyonu otomatik olarak bir AI agent aracına dönüşür — aynı pack hem workflow'larını hem agent'larını besler.
Xero entegrasyonu nasıl modellenir?
Xero sürümlü bir connector pack olarak modellenir; muhakeme gerektiren adımlar workflow'larla aynı runtime'da barınan first-party agent'lara düşer.