{"id":"e0ad086b-0fa0-4a6e-96ec-c1baf91976d0","entityType":"agent","slug":"clawhub-hith3sh-xero-accounting","name":"Xero","canonicalUrl":"https://www.xpersona.co/agent/clawhub-hith3sh-xero-accounting","canonicalPath":"/agent/clawhub-hith3sh-xero-accounting","generatedAt":"2026-10-09T20:24:47.166Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T12:12:29.843Z","emptyReason":null},"description":"Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contac... Skill: Xero Owner: hith3sh Summary: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contac... Tags: latest:1.0.6 Version history: v1.0.6 | 2026-06-09T07:21:20.131Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 2.7K downloads reported by the source. Last updated 10/9/2026.","installCommand":"clawhub skill install s173vws87a7ss71xf9rq53k5gd8568kv:xero-accounting","sourceUrl":"https://clawhub.ai/hith3sh/xero-accounting","homepage":"https://clawhub.ai/hith3sh/skills/xero-accounting","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/hith3sh/xero-accounting","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/hith3sh/skills/xero-accounting","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":69,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contac..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:12:29.843Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:12:29.843Z","emptyReason":null},"stars":null,"forks":null,"downloads":2682,"packageName":null,"latestVersion":"1.0.6","tractionLabel":"2.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-09T12:12:29.817Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T12:12:29.843Z","lastCrawledAt":"2026-10-09T12:12:29.817Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-10T12:12:29.817Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.6","createdAt":"2026-06-09T07:21:20.131Z","changelog":"Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.","fileCount":3,"zipByteSize":6128},{"version":"1.0.5","createdAt":"2026-06-09T06:11:56.305Z","changelog":"- skill-card.md file removed. - SKILL.md updated to reference the correct Xero logo image with a version query string. - No changes made to features, tools, or setup/usage instructions. - Documentation cleanup only; no changes to the Xero integration functionality.","fileCount":3,"zipByteSize":6275},{"version":"1.0.4","createdAt":"2026-06-09T04:49:45.463Z","changelog":"- Removed the skill-card.md file from the project. - No user-facing functionality or documentation has changed.","fileCount":3,"zipByteSize":6247},{"version":"1.0.1","createdAt":"2026-06-08T16:43:26.630Z","changelog":"- Added a Xero brand logo at the top of SKILL.md for improved visual presentation. - Minor format and layout enhancements in SKILL.md for clarity. - Removed the skill-card.md file. - No changes to core features or functionality.","fileCount":3,"zipByteSize":6387},{"version":"0.2.1","createdAt":"2026-06-07T13:52:19.596Z","changelog":"Fix display name: show app name only (was including tool list).","fileCount":3,"zipByteSize":6231},{"version":"0.2.0","createdAt":"2026-06-07T13:41:26.093Z","changelog":"Full rewrite to new standard","fileCount":3,"zipByteSize":6267},{"version":"0.1.0","createdAt":"2026-05-06T19:22:19.240Z","changelog":"- Initial release of the xero-accounting skill, enabling integration with Xero via ClawLink. - Supports working with invoices, contacts, accounting records, and finance workflows directly from chat. - Guided setup includes installing and pairing the ClawLink plugin, and connecting Xero through an OAuth flow. - Provides dynamic tool discovery with ClawLink; capabilities depend on current user connections and permissions. - Emphasizes user confirmation for sensitive or external-facing actions and never requires raw Xero credentials in chat.","fileCount":3,"zipByteSize":3514}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s173vws87a7ss71xf9rq53k5gd8568kv:xero-accounting","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-xero-accounting/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-xero-accounting/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-xero-accounting/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-xero-accounting/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-xero-accounting/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-xero-accounting/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-09T20:24:47.164Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-xero-accounting/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-xero-accounting/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-xero-accounting/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-hith3sh-xero-accounting/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-09T12:12:29.843Z","emptyReason":null},"readme":"Skill: Xero\n\nOwner: hith3sh\n\nSummary: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contac...\n\nTags: latest:1.0.6\n\nVersion history:\n\nv1.0.6 | 2026-06-09T07:21:20.131Z | user\n\nAdd UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.\n\nv1.0.5 | 2026-06-09T06:11:56.305Z | auto\n\n- skill-card.md file removed.\n- SKILL.md updated to reference the correct Xero logo image with a version query string.\n- No changes made to features, tools, or setup/usage instructions.\n- Documentation cleanup only; no changes to the Xero integration functionality.\n\nv1.0.4 | 2026-06-09T04:49:45.463Z | auto\n\n- Removed the skill-card.md file from the project.\n- No user-facing functionality or documentation has changed.\n\nv1.0.1 | 2026-06-08T16:43:26.630Z | auto\n\n- Added a Xero brand logo at the top of SKILL.md for improved visual presentation.\n- Minor format and layout enhancements in SKILL.md for clarity.\n- Removed the skill-card.md file.\n- No changes to core features or functionality.\n\nv0.2.1 | 2026-06-07T13:52:19.596Z | user\n\nFix display name: show app name only (was including tool list).\n\nv0.2.0 | 2026-06-07T13:41:26.093Z | user\n\nFull rewrite to new standard\n\nv0.1.0 | 2026-05-06T19:22:19.240Z | auto\n\n- Initial release of the xero-accounting skill, enabling integration with Xero via ClawLink.\n- Supports working with invoices, contacts, accounting records, and finance workflows directly from chat.\n- Guided setup includes installing and pairing the ClawLink plugin, and connecting Xero through an OAuth flow.\n- Provides dynamic tool discovery with ClawLink; capabilities depend on current user connections and permissions.\n- Emphasizes user confirmation for sensitive or external-facing actions and never requires raw Xero credentials in chat.\n\nArchive index:\n\nArchive v1.0.6: 3 files, 6128 bytes\n\nFiles: skill-card.md (2113b), SKILL.md (16030b), _meta.json (134b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: xero-accounting\ndescription: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contacts, track payments, or automate Xero accounting workflows.\n---\n\n# Xero\n\n![Xero](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/xero.svg?v=2)\n\nManage Xero invoices, contacts, bills, payments, and accounting records from chat via the Xero API.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=xero-accounting) for hosted connection flows and credentials so you do not need to configure Xero API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Xero |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Xero |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Xero API       │\n│   (User Chat)   │     │   (OAuth)    │     │                  │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Xero     │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Xero   │\n   │  File    │           │ Auth     │           │  Tenant │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Xero again.\"\n\n## Quick Start\n\n```bash\n# List invoices\nclawlink_call_tool --tool \"xero_list_invoices\" --params '{\"status\": \"DRAFT\"}'\n\n# Get an invoice\nclawlink_call_tool --tool \"xero_get_invoice\" --params '{\"invoice_id\": \"INVOICE_ID\"}'\n\n# List contacts\nclawlink_call_tool --tool \"xero_list_contacts\" --params '{}'\n```\n\n## Authentication\n\nAll Xero tool calls are authenticated automatically by ClawLink using the user's connected Xero account OAuth token.\n\n**No API credentials are required in chat.** ClawLink stores the OAuth token securely and injects it into every Xero API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=xero and connect Xero.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `xero` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration xero\n```\n\n**Response:** Returns the live tool catalog for Xero.\n\n### Reconnect\n\nIf Xero tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=xero\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration xero`\n\n## Security & Permissions\n\n- Access is scoped to the Xero organization connected during OAuth setup.\n- **All write operations (create invoice, approve, delete, payment) require explicit user confirmation.**\n- Financial transactions (invoices, bills, payments) affect accounting records — always confirm details.\n- Confirm before voiding or deleting invoices, as these actions affect financial reporting.\n- Tax and currency amounts should always be verified against the Xero dashboard.\n\n## Tool Reference\n\n### Invoices\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_invoices` | List all invoices with status filters | Read |\n| `xero_get_invoice` | Get invoice details including line items | Read |\n| `xero_create_invoice` | Create a new invoice | Write |\n| `xero_update_invoice` | Update an existing invoice's details | Write |\n| `xero_void_invoice` | Void an invoice (marks as void, keeps record) | Write |\n| `xero_delete_invoice` | Delete a draft invoice | Write |\n| `xero_email_invoice` | Send an invoice to the contact via email | Write |\n| `xero_get_invoice_as_pdf` | Download an invoice as PDF | Read |\n\n### Bills (Purchase Invoices)\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bills` | List all bills (purchase invoices) | Read |\n| `xero_get_bill` | Get bill details | Read |\n| `xero_create_bill` | Create a new bill | Write |\n| `xero_update_bill` | Update an existing bill | Write |\n| `xero_delete_bill` | Delete a draft bill | Write |\n| `xero_approve_bill` | Approve a bill for payment | Write |\n\n### Contacts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_contacts` | List all contacts (customers and suppliers) | Read |\n| `xero_get_contact` | Get contact details including addresses and contacts | Read |\n| `xero_create_contact` | Create a new contact | Write |\n| `xero_update_contact` | Update contact information | Write |\n| `xero_delete_contact` | Delete a contact | Write |\n| `xero_search_contacts` | Search contacts by name, email, or account number | Read |\n\n### Payments\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_payments` | List all payments on invoices and bills | Read |\n| `xero_create_payment` | Record a payment against an invoice or bill | Write |\n| `xero_delete_payment` | Delete/void a payment | Write |\n| `xero_get_payment` | Get details of a specific payment | Read |\n\n### Items\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_items` | List all items/products | Read |\n| `xero_get_item` | Get item details | Read |\n| `xero_create_item` | Create a new item | Write |\n| `xero_update_item` | Update an existing item | Write |\n| `xero_delete_item` | Delete an item | Write |\n\n### Accounts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_accounts` | List all chart of accounts | Read |\n| `xero_get_account` | Get account details | Read |\n| `xero_create_account` | Create a new account | Write |\n| `xero_update_account` | Update an account | Write |\n\n### Bank Transactions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transactions` | List bank transactions (deposits, withdrawals, transfers) | Read |\n| `xero_get_bank_transaction` | Get bank transaction details | Read |\n| `xero_create_bank_transaction` | Create a bank transaction | Write |\n| `xero_delete_bank_transaction` | Delete a draft bank transaction | Write |\n\n### Bank Feeds\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transfers` | List bank transfers | Read |\n| `xero_create_bank_transfer` | Create a transfer between bank accounts | Write |\n\n### Manual Journals\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_journals` | List journal entries | Read |\n| `xero_get_journal` | Get a specific journal entry | Read |\n| `xero_create_journal` | Create a manual journal entry | Write |\n\n### Organisation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_get_organisation` | Get organisation/company details | Read |\n| `xero_list_currencies` | List currencies configured in the organisation | Read |\n\n### Tracking Categories\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_tracking_categories` | List tracking categories (regions, departments) | Read |\n| `xero_create_tracking_category` | Create a tracking category | Write |\n| `xero_update_tracking_category` | Update a tracking category | Write |\n\n## Code Examples\n\n### List all draft invoices\n\n```bash\nclawlink_call_tool --tool \"xero_list_invoices\" \\\n  --params '{\n    \"status\": \"DRAFT\",\n    \"page\": 1\n  }'\n```\n\n### Get invoice details\n\n```bash\nclawlink_call_tool --tool \"xero_get_invoice\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\"\n  }'\n```\n\n### Create an invoice\n\n```bash\nclawlink_call_tool --tool \"xero_create_invoice\" \\\n  --params '{\n    \"contact_id\": \"CONTACT_ID\",\n    \"type\": \"ACCREC\",\n    \"status\": \"DRAFT\",\n    \"line_items\": [\n      {\n        \"description\": \"Web development services - Phase 1\",\n        \"quantity\": 1,\n        \"unit_amount\": 2500,\n        \"account_code\": \"200\"\n      }\n    ]\n  }'\n```\n\n### Record a payment\n\n```bash\nclawlink_call_tool --tool \"xero_create_payment\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\",\n    \"amount\": 2500,\n    \"payment_date\": \"2025-06-07\",\n    \"reference\": \"Payment via bank transfer\"\n  }'\n```\n\n### Create a contact\n\n```bash\nclawlink_call_tool --tool \"xero_create_contact\" \\\n  --params '{\n    \"name\": \"Acme Corporation\",\n    \"email_address\": \"billing@acme.com\",\n    \"account_number\": \"ACM-001\"\n  }'\n```\n\n### Get organisation details\n\n```bash\nclawlink_call_tool --tool \"xero_get_organisation\" \\\n  --params '{}'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Xero is connected.\n2. Call `clawlink_list_tools --integration xero` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `xero`.\n5. If no Xero tools appear, direct the user to https://claw-link.dev/dashboard?add=xero.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe                             │\n│                                                             │\n│  Example: List invoices → Get invoice → Show line items     │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                      │\n│                                                             │\n│  Example: Preview invoice creation → User approves → Create│\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, get, and search operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Xero uses `ACCREC` (accounts receivable) for sales invoices and `ACCPAY` (accounts payable) for bills.\n- Invoice and bill IDs are unique within an organisation — use them directly for payments.\n- Voiding an invoice keeps it in the system as a voided record for audit purposes.\n- Currency amounts should match the organisation's configured currencies.\n- Tracking categories (regions, departments) can be assigned to line items for reporting.\n- Draft invoices must be approved or sent before they appear in financial reports.\n- Contact IDs are required for creating invoices and bills — resolve from `xero_list_contacts` first.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration xero`. |\n| Missing connection | Xero is not connected. Direct the user to https://claw-link.dev/dashboard?add=xero. |\n| `Invoice not found` | The invoice ID does not exist or belongs to a different organisation. |\n| `Contact not found` | The contact ID does not exist. |\n| `Account not found` | The account code does not exist in the chart of accounts. |\n| `Invalid status transition` | The invoice cannot be updated in its current status (e.g., voiding an already-paid invoice). |\n| `Validation error` | A required field is missing or has an invalid value. |\n| `Duplicate invoice` | An invoice with the same number already exists. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invoice Creation Fails\n\n1. Verify the contact ID exists — use `xero_list_contacts` or `xero_search_contacts`.\n2. Check that account codes are valid for line items.\n3. Confirm the invoice type (`ACCREC` or `ACCPAY`) matches the intended purpose.\n4. Ensure date formats are correct (ISO 8601 format recommended).\n\n## Resources\n\n- [Xero API Documentation](https://developer.xero.com/documentation/)\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview)\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2)\n- ClawLink: https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=xero-accounting\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=xero-accounting)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"xero-accounting\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1780989680131\n}\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nManage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[hith3sh](https://clawhub.ai/user/hith3sh)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and accounting operators use this skill to manage Xero invoices, contacts, bills, payments, and accounting records from an agent chat after connecting their Xero organization through OAuth.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can read and change financial records in the connected Xero organization.\n\nMitigation: Install only when the user intends to connect ClawLink to Xero, and review write previews before approving invoices, bills, payments, deletes, voids, journals, or account changes.\n\nRisk: Accounting changes can affect tax, currency, and financial reporting outcomes.\n\nMitigation: Verify important tax, currency, and reporting effects in Xero before relying on or approving changes.\n\n## Reference(s):\n\n- [ClawHub Xero Skill](https://clawhub.ai/hith3sh/skills/xero-accounting)\n- [Xero API Documentation](https://developer.xero.com/documentation/)\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview)\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2)\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and tool-call guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include previews and confirmation requests before write operations that affect accounting records.]\n\n## Skill Version(s):\n\n1.0.6 (source: server evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.5: 3 files, 6275 bytes\n\nFiles: skill-card.md (2701b), SKILL.md (15826b), _meta.json (134b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: xero-accounting\ndescription: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contacts, track payments, or automate Xero accounting workflows.\n---\n\n# Xero\n\n![Xero](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/xero.svg?v=2)\n\nManage Xero invoices, contacts, bills, payments, and accounting records from chat via the Xero API.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Xero API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Xero |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Xero |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Xero API       │\n│   (User Chat)   │     │   (OAuth)    │     │                  │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Xero     │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Xero   │\n   │  File    │           │ Auth     │           │  Tenant │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Xero again.\"\n\n## Quick Start\n\n```bash\n# List invoices\nclawlink_call_tool --tool \"xero_list_invoices\" --params '{\"status\": \"DRAFT\"}'\n\n# Get an invoice\nclawlink_call_tool --tool \"xero_get_invoice\" --params '{\"invoice_id\": \"INVOICE_ID\"}'\n\n# List contacts\nclawlink_call_tool --tool \"xero_list_contacts\" --params '{}'\n```\n\n## Authentication\n\nAll Xero tool calls are authenticated automatically by ClawLink using the user's connected Xero account OAuth token.\n\n**No API credentials are required in chat.** ClawLink stores the OAuth token securely and injects it into every Xero API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=xero and connect Xero.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `xero` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration xero\n```\n\n**Response:** Returns the live tool catalog for Xero.\n\n### Reconnect\n\nIf Xero tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=xero\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration xero`\n\n## Security & Permissions\n\n- Access is scoped to the Xero organization connected during OAuth setup.\n- **All write operations (create invoice, approve, delete, payment) require explicit user confirmation.**\n- Financial transactions (invoices, bills, payments) affect accounting records — always confirm details.\n- Confirm before voiding or deleting invoices, as these actions affect financial reporting.\n- Tax and currency amounts should always be verified against the Xero dashboard.\n\n## Tool Reference\n\n### Invoices\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_invoices` | List all invoices with status filters | Read |\n| `xero_get_invoice` | Get invoice details including line items | Read |\n| `xero_create_invoice` | Create a new invoice | Write |\n| `xero_update_invoice` | Update an existing invoice's details | Write |\n| `xero_void_invoice` | Void an invoice (marks as void, keeps record) | Write |\n| `xero_delete_invoice` | Delete a draft invoice | Write |\n| `xero_email_invoice` | Send an invoice to the contact via email | Write |\n| `xero_get_invoice_as_pdf` | Download an invoice as PDF | Read |\n\n### Bills (Purchase Invoices)\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bills` | List all bills (purchase invoices) | Read |\n| `xero_get_bill` | Get bill details | Read |\n| `xero_create_bill` | Create a new bill | Write |\n| `xero_update_bill` | Update an existing bill | Write |\n| `xero_delete_bill` | Delete a draft bill | Write |\n| `xero_approve_bill` | Approve a bill for payment | Write |\n\n### Contacts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_contacts` | List all contacts (customers and suppliers) | Read |\n| `xero_get_contact` | Get contact details including addresses and contacts | Read |\n| `xero_create_contact` | Create a new contact | Write |\n| `xero_update_contact` | Update contact information | Write |\n| `xero_delete_contact` | Delete a contact | Write |\n| `xero_search_contacts` | Search contacts by name, email, or account number | Read |\n\n### Payments\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_payments` | List all payments on invoices and bills | Read |\n| `xero_create_payment` | Record a payment against an invoice or bill | Write |\n| `xero_delete_payment` | Delete/void a payment | Write |\n| `xero_get_payment` | Get details of a specific payment | Read |\n\n### Items\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_items` | List all items/products | Read |\n| `xero_get_item` | Get item details | Read |\n| `xero_create_item` | Create a new item | Write |\n| `xero_update_item` | Update an existing item | Write |\n| `xero_delete_item` | Delete an item | Write |\n\n### Accounts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_accounts` | List all chart of accounts | Read |\n| `xero_get_account` | Get account details | Read |\n| `xero_create_account` | Create a new account | Write |\n| `xero_update_account` | Update an account | Write |\n\n### Bank Transactions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transactions` | List bank transactions (deposits, withdrawals, transfers) | Read |\n| `xero_get_bank_transaction` | Get bank transaction details | Read |\n| `xero_create_bank_transaction` | Create a bank transaction | Write |\n| `xero_delete_bank_transaction` | Delete a draft bank transaction | Write |\n\n### Bank Feeds\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transfers` | List bank transfers | Read |\n| `xero_create_bank_transfer` | Create a transfer between bank accounts | Write |\n\n### Manual Journals\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_journals` | List journal entries | Read |\n| `xero_get_journal` | Get a specific journal entry | Read |\n| `xero_create_journal` | Create a manual journal entry | Write |\n\n### Organisation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_get_organisation` | Get organisation/company details | Read |\n| `xero_list_currencies` | List currencies configured in the organisation | Read |\n\n### Tracking Categories\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_tracking_categories` | List tracking categories (regions, departments) | Read |\n| `xero_create_tracking_category` | Create a tracking category | Write |\n| `xero_update_tracking_category` | Update a tracking category | Write |\n\n## Code Examples\n\n### List all draft invoices\n\n```bash\nclawlink_call_tool --tool \"xero_list_invoices\" \\\n  --params '{\n    \"status\": \"DRAFT\",\n    \"page\": 1\n  }'\n```\n\n### Get invoice details\n\n```bash\nclawlink_call_tool --tool \"xero_get_invoice\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\"\n  }'\n```\n\n### Create an invoice\n\n```bash\nclawlink_call_tool --tool \"xero_create_invoice\" \\\n  --params '{\n    \"contact_id\": \"CONTACT_ID\",\n    \"type\": \"ACCREC\",\n    \"status\": \"DRAFT\",\n    \"line_items\": [\n      {\n        \"description\": \"Web development services - Phase 1\",\n        \"quantity\": 1,\n        \"unit_amount\": 2500,\n        \"account_code\": \"200\"\n      }\n    ]\n  }'\n```\n\n### Record a payment\n\n```bash\nclawlink_call_tool --tool \"xero_create_payment\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\",\n    \"amount\": 2500,\n    \"payment_date\": \"2025-06-07\",\n    \"reference\": \"Payment via bank transfer\"\n  }'\n```\n\n### Create a contact\n\n```bash\nclawlink_call_tool --tool \"xero_create_contact\" \\\n  --params '{\n    \"name\": \"Acme Corporation\",\n    \"email_address\": \"billing@acme.com\",\n    \"account_number\": \"ACM-001\"\n  }'\n```\n\n### Get organisation details\n\n```bash\nclawlink_call_tool --tool \"xero_get_organisation\" \\\n  --params '{}'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Xero is connected.\n2. Call `clawlink_list_tools --integration xero` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `xero`.\n5. If no Xero tools appear, direct the user to https://claw-link.dev/dashboard?add=xero.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe                             │\n│                                                             │\n│  Example: List invoices → Get invoice → Show line items     │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                      │\n│                                                             │\n│  Example: Preview invoice creation → User approves → Create│\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, get, and search operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Xero uses `ACCREC` (accounts receivable) for sales invoices and `ACCPAY` (accounts payable) for bills.\n- Invoice and bill IDs are unique within an organisation — use them directly for payments.\n- Voiding an invoice keeps it in the system as a voided record for audit purposes.\n- Currency amounts should match the organisation's configured currencies.\n- Tracking categories (regions, departments) can be assigned to line items for reporting.\n- Draft invoices must be approved or sent before they appear in financial reports.\n- Contact IDs are required for creating invoices and bills — resolve from `xero_list_contacts` first.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration xero`. |\n| Missing connection | Xero is not connected. Direct the user to https://claw-link.dev/dashboard?add=xero. |\n| `Invoice not found` | The invoice ID does not exist or belongs to a different organisation. |\n| `Contact not found` | The contact ID does not exist. |\n| `Account not found` | The account code does not exist in the chart of accounts. |\n| `Invalid status transition` | The invoice cannot be updated in its current status (e.g., voiding an already-paid invoice). |\n| `Validation error` | A required field is missing or has an invalid value. |\n| `Duplicate invoice` | An invoice with the same number already exists. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invoice Creation Fails\n\n1. Verify the contact ID exists — use `xero_list_contacts` or `xero_search_contacts`.\n2. Check that account codes are valid for line items.\n3. Confirm the invoice type (`ACCREC` or `ACCPAY`) matches the intended purpose.\n4. Ensure date formats are correct (ISO 8601 format recommended).\n\n## Resources\n\n- [Xero API Documentation](https://developer.xero.com/documentation/)\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview)\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"xero-accounting\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1780985516305\n}\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nManage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and accounting operators use this skill to manage Xero invoices, contacts, bills, payments, bank transactions, accounts, and organisation records from chat through authenticated Xero API tools. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can affect accounting records through invoices, bills, payments, contacts, bank transactions, accounts, and journals. <br>\nMitigation: Preview and explicitly confirm write operations before execution, and verify financial amounts, tax treatment, currency, account codes, and target records in Xero. <br>\nRisk: The skill requires OAuth access and sensitive account context for the connected Xero organisation. <br>\nMitigation: Grant only the ClawLink and Xero access needed for the expected task, and confirm the connected organisation before taking action. <br>\nRisk: A clean scan verdict does not eliminate operational risk from user-approved financial changes. <br>\nMitigation: Review the skill's visible instructions and restrict tool access to workflows that match the intended accounting task. <br>\n\n\n## Reference(s): <br>\n- [Xero API Documentation](https://developer.xero.com/documentation/) <br>\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview) <br>\n- [Xero OAuth 2.0 Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2) <br>\n- [ClawLink OpenClaw Documentation](https://docs.claw-link.dev/openclaw) <br>\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/xero-accounting) <br>\n- [Publisher Profile](https://clawhub.ai/user/hith3sh) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, Configuration instructions, API calls, Markdown] <br>\n**Output Format:** [Markdown with inline shell commands and JSON tool parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires a connected Xero account through ClawLink; write operations should be previewed and explicitly confirmed before execution.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.4: 3 files, 6247 bytes\n\nFiles: skill-card.md (2626b), SKILL.md (15822b), _meta.json (134b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: xero-accounting\ndescription: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contacts, track payments, or automate Xero accounting workflows.\n---\n\n# Xero\n\n![Xero](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/xero.svg)\n\nManage Xero invoices, contacts, bills, payments, and accounting records from chat via the Xero API.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Xero API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Xero |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Xero |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Xero API       │\n│   (User Chat)   │     │   (OAuth)    │     │                  │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Xero     │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Xero   │\n   │  File    │           │ Auth     │           │  Tenant │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Xero again.\"\n\n## Quick Start\n\n```bash\n# List invoices\nclawlink_call_tool --tool \"xero_list_invoices\" --params '{\"status\": \"DRAFT\"}'\n\n# Get an invoice\nclawlink_call_tool --tool \"xero_get_invoice\" --params '{\"invoice_id\": \"INVOICE_ID\"}'\n\n# List contacts\nclawlink_call_tool --tool \"xero_list_contacts\" --params '{}'\n```\n\n## Authentication\n\nAll Xero tool calls are authenticated automatically by ClawLink using the user's connected Xero account OAuth token.\n\n**No API credentials are required in chat.** ClawLink stores the OAuth token securely and injects it into every Xero API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=xero and connect Xero.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `xero` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration xero\n```\n\n**Response:** Returns the live tool catalog for Xero.\n\n### Reconnect\n\nIf Xero tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=xero\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration xero`\n\n## Security & Permissions\n\n- Access is scoped to the Xero organization connected during OAuth setup.\n- **All write operations (create invoice, approve, delete, payment) require explicit user confirmation.**\n- Financial transactions (invoices, bills, payments) affect accounting records — always confirm details.\n- Confirm before voiding or deleting invoices, as these actions affect financial reporting.\n- Tax and currency amounts should always be verified against the Xero dashboard.\n\n## Tool Reference\n\n### Invoices\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_invoices` | List all invoices with status filters | Read |\n| `xero_get_invoice` | Get invoice details including line items | Read |\n| `xero_create_invoice` | Create a new invoice | Write |\n| `xero_update_invoice` | Update an existing invoice's details | Write |\n| `xero_void_invoice` | Void an invoice (marks as void, keeps record) | Write |\n| `xero_delete_invoice` | Delete a draft invoice | Write |\n| `xero_email_invoice` | Send an invoice to the contact via email | Write |\n| `xero_get_invoice_as_pdf` | Download an invoice as PDF | Read |\n\n### Bills (Purchase Invoices)\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bills` | List all bills (purchase invoices) | Read |\n| `xero_get_bill` | Get bill details | Read |\n| `xero_create_bill` | Create a new bill | Write |\n| `xero_update_bill` | Update an existing bill | Write |\n| `xero_delete_bill` | Delete a draft bill | Write |\n| `xero_approve_bill` | Approve a bill for payment | Write |\n\n### Contacts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_contacts` | List all contacts (customers and suppliers) | Read |\n| `xero_get_contact` | Get contact details including addresses and contacts | Read |\n| `xero_create_contact` | Create a new contact | Write |\n| `xero_update_contact` | Update contact information | Write |\n| `xero_delete_contact` | Delete a contact | Write |\n| `xero_search_contacts` | Search contacts by name, email, or account number | Read |\n\n### Payments\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_payments` | List all payments on invoices and bills | Read |\n| `xero_create_payment` | Record a payment against an invoice or bill | Write |\n| `xero_delete_payment` | Delete/void a payment | Write |\n| `xero_get_payment` | Get details of a specific payment | Read |\n\n### Items\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_items` | List all items/products | Read |\n| `xero_get_item` | Get item details | Read |\n| `xero_create_item` | Create a new item | Write |\n| `xero_update_item` | Update an existing item | Write |\n| `xero_delete_item` | Delete an item | Write |\n\n### Accounts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_accounts` | List all chart of accounts | Read |\n| `xero_get_account` | Get account details | Read |\n| `xero_create_account` | Create a new account | Write |\n| `xero_update_account` | Update an account | Write |\n\n### Bank Transactions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transactions` | List bank transactions (deposits, withdrawals, transfers) | Read |\n| `xero_get_bank_transaction` | Get bank transaction details | Read |\n| `xero_create_bank_transaction` | Create a bank transaction | Write |\n| `xero_delete_bank_transaction` | Delete a draft bank transaction | Write |\n\n### Bank Feeds\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transfers` | List bank transfers | Read |\n| `xero_create_bank_transfer` | Create a transfer between bank accounts | Write |\n\n### Manual Journals\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_journals` | List journal entries | Read |\n| `xero_get_journal` | Get a specific journal entry | Read |\n| `xero_create_journal` | Create a manual journal entry | Write |\n\n### Organisation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_get_organisation` | Get organisation/company details | Read |\n| `xero_list_currencies` | List currencies configured in the organisation | Read |\n\n### Tracking Categories\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_tracking_categories` | List tracking categories (regions, departments) | Read |\n| `xero_create_tracking_category` | Create a tracking category | Write |\n| `xero_update_tracking_category` | Update a tracking category | Write |\n\n## Code Examples\n\n### List all draft invoices\n\n```bash\nclawlink_call_tool --tool \"xero_list_invoices\" \\\n  --params '{\n    \"status\": \"DRAFT\",\n    \"page\": 1\n  }'\n```\n\n### Get invoice details\n\n```bash\nclawlink_call_tool --tool \"xero_get_invoice\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\"\n  }'\n```\n\n### Create an invoice\n\n```bash\nclawlink_call_tool --tool \"xero_create_invoice\" \\\n  --params '{\n    \"contact_id\": \"CONTACT_ID\",\n    \"type\": \"ACCREC\",\n    \"status\": \"DRAFT\",\n    \"line_items\": [\n      {\n        \"description\": \"Web development services - Phase 1\",\n        \"quantity\": 1,\n        \"unit_amount\": 2500,\n        \"account_code\": \"200\"\n      }\n    ]\n  }'\n```\n\n### Record a payment\n\n```bash\nclawlink_call_tool --tool \"xero_create_payment\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\",\n    \"amount\": 2500,\n    \"payment_date\": \"2025-06-07\",\n    \"reference\": \"Payment via bank transfer\"\n  }'\n```\n\n### Create a contact\n\n```bash\nclawlink_call_tool --tool \"xero_create_contact\" \\\n  --params '{\n    \"name\": \"Acme Corporation\",\n    \"email_address\": \"billing@acme.com\",\n    \"account_number\": \"ACM-001\"\n  }'\n```\n\n### Get organisation details\n\n```bash\nclawlink_call_tool --tool \"xero_get_organisation\" \\\n  --params '{}'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Xero is connected.\n2. Call `clawlink_list_tools --integration xero` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `xero`.\n5. If no Xero tools appear, direct the user to https://claw-link.dev/dashboard?add=xero.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe                             │\n│                                                             │\n│  Example: List invoices → Get invoice → Show line items     │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                      │\n│                                                             │\n│  Example: Preview invoice creation → User approves → Create│\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, get, and search operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Xero uses `ACCREC` (accounts receivable) for sales invoices and `ACCPAY` (accounts payable) for bills.\n- Invoice and bill IDs are unique within an organisation — use them directly for payments.\n- Voiding an invoice keeps it in the system as a voided record for audit purposes.\n- Currency amounts should match the organisation's configured currencies.\n- Tracking categories (regions, departments) can be assigned to line items for reporting.\n- Draft invoices must be approved or sent before they appear in financial reports.\n- Contact IDs are required for creating invoices and bills — resolve from `xero_list_contacts` first.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration xero`. |\n| Missing connection | Xero is not connected. Direct the user to https://claw-link.dev/dashboard?add=xero. |\n| `Invoice not found` | The invoice ID does not exist or belongs to a different organisation. |\n| `Contact not found` | The contact ID does not exist. |\n| `Account not found` | The account code does not exist in the chart of accounts. |\n| `Invalid status transition` | The invoice cannot be updated in its current status (e.g., voiding an already-paid invoice). |\n| `Validation error` | A required field is missing or has an invalid value. |\n| `Duplicate invoice` | An invoice with the same number already exists. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invoice Creation Fails\n\n1. Verify the contact ID exists — use `xero_list_contacts` or `xero_search_contacts`.\n2. Check that account codes are valid for line items.\n3. Confirm the invoice type (`ACCREC` or `ACCPAY`) matches the intended purpose.\n4. Ensure date formats are correct (ISO 8601 format recommended).\n\n## Resources\n\n- [Xero API Documentation](https://developer.xero.com/documentation/)\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview)\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"xero-accounting\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1780980585463\n}\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nManage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and finance or accounting operators use this skill to manage Xero invoices, contacts, bills, payments, bank transactions, journals, and related accounting records through an agent workflow. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can create or change invoices, bills, payments, bank transactions, contacts, items, accounts, tracking categories, and manual journals in a connected Xero organization. <br>\nMitigation: Keep write confirmations enabled and verify all financial details in previews before approving tool calls. <br>\nRisk: The skill relies on OAuth access to a Xero organization through ClawLink. <br>\nMitigation: Install only if you trust ClawLink with Xero access and review requested OAuth permissions during connection. <br>\nRisk: Incorrect deletions, voids, payments, or journal entries can affect accounting records and reporting. <br>\nMitigation: Check invoices, payments, deletions, bank transactions, journal entries, tax amounts, and currencies against Xero before confirmation. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/xero-accounting) <br>\n- [hith3sh Publisher Profile](https://clawhub.ai/user/hith3sh) <br>\n- [Xero API Documentation](https://developer.xero.com/documentation/) <br>\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview) <br>\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2) <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance, API calls] <br>\n**Output Format:** [Markdown with inline shell commands and JSON tool parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Write operations require explicit user confirmation before execution.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 3 files, 6387 bytes\n\nFiles: skill-card.md (2911b), SKILL.md (15822b), _meta.json (134b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: xero-accounting\ndescription: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contacts, track payments, or automate Xero accounting workflows.\n---\n\n# Xero\n\n![Xero](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/xero.svg)\n\nManage Xero invoices, contacts, bills, payments, and accounting records from chat via the Xero API.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Xero API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Xero |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Xero |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Xero API       │\n│   (User Chat)   │     │   (OAuth)    │     │                  │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Xero     │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Xero   │\n   │  File    │           │ Auth     │           │  Tenant │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Xero again.\"\n\n## Quick Start\n\n```bash\n# List invoices\nclawlink_call_tool --tool \"xero_list_invoices\" --params '{\"status\": \"DRAFT\"}'\n\n# Get an invoice\nclawlink_call_tool --tool \"xero_get_invoice\" --params '{\"invoice_id\": \"INVOICE_ID\"}'\n\n# List contacts\nclawlink_call_tool --tool \"xero_list_contacts\" --params '{}'\n```\n\n## Authentication\n\nAll Xero tool calls are authenticated automatically by ClawLink using the user's connected Xero account OAuth token.\n\n**No API credentials are required in chat.** ClawLink stores the OAuth token securely and injects it into every Xero API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=xero and connect Xero.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `xero` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration xero\n```\n\n**Response:** Returns the live tool catalog for Xero.\n\n### Reconnect\n\nIf Xero tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=xero\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration xero`\n\n## Security & Permissions\n\n- Access is scoped to the Xero organization connected during OAuth setup.\n- **All write operations (create invoice, approve, delete, payment) require explicit user confirmation.**\n- Financial transactions (invoices, bills, payments) affect accounting records — always confirm details.\n- Confirm before voiding or deleting invoices, as these actions affect financial reporting.\n- Tax and currency amounts should always be verified against the Xero dashboard.\n\n## Tool Reference\n\n### Invoices\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_invoices` | List all invoices with status filters | Read |\n| `xero_get_invoice` | Get invoice details including line items | Read |\n| `xero_create_invoice` | Create a new invoice | Write |\n| `xero_update_invoice` | Update an existing invoice's details | Write |\n| `xero_void_invoice` | Void an invoice (marks as void, keeps record) | Write |\n| `xero_delete_invoice` | Delete a draft invoice | Write |\n| `xero_email_invoice` | Send an invoice to the contact via email | Write |\n| `xero_get_invoice_as_pdf` | Download an invoice as PDF | Read |\n\n### Bills (Purchase Invoices)\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bills` | List all bills (purchase invoices) | Read |\n| `xero_get_bill` | Get bill details | Read |\n| `xero_create_bill` | Create a new bill | Write |\n| `xero_update_bill` | Update an existing bill | Write |\n| `xero_delete_bill` | Delete a draft bill | Write |\n| `xero_approve_bill` | Approve a bill for payment | Write |\n\n### Contacts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_contacts` | List all contacts (customers and suppliers) | Read |\n| `xero_get_contact` | Get contact details including addresses and contacts | Read |\n| `xero_create_contact` | Create a new contact | Write |\n| `xero_update_contact` | Update contact information | Write |\n| `xero_delete_contact` | Delete a contact | Write |\n| `xero_search_contacts` | Search contacts by name, email, or account number | Read |\n\n### Payments\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_payments` | List all payments on invoices and bills | Read |\n| `xero_create_payment` | Record a payment against an invoice or bill | Write |\n| `xero_delete_payment` | Delete/void a payment | Write |\n| `xero_get_payment` | Get details of a specific payment | Read |\n\n### Items\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_items` | List all items/products | Read |\n| `xero_get_item` | Get item details | Read |\n| `xero_create_item` | Create a new item | Write |\n| `xero_update_item` | Update an existing item | Write |\n| `xero_delete_item` | Delete an item | Write |\n\n### Accounts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_accounts` | List all chart of accounts | Read |\n| `xero_get_account` | Get account details | Read |\n| `xero_create_account` | Create a new account | Write |\n| `xero_update_account` | Update an account | Write |\n\n### Bank Transactions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transactions` | List bank transactions (deposits, withdrawals, transfers) | Read |\n| `xero_get_bank_transaction` | Get bank transaction details | Read |\n| `xero_create_bank_transaction` | Create a bank transaction | Write |\n| `xero_delete_bank_transaction` | Delete a draft bank transaction | Write |\n\n### Bank Feeds\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transfers` | List bank transfers | Read |\n| `xero_create_bank_transfer` | Create a transfer between bank accounts | Write |\n\n### Manual Journals\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_journals` | List journal entries | Read |\n| `xero_get_journal` | Get a specific journal entry | Read |\n| `xero_create_journal` | Create a manual journal entry | Write |\n\n### Organisation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_get_organisation` | Get organisation/company details | Read |\n| `xero_list_currencies` | List currencies configured in the organisation | Read |\n\n### Tracking Categories\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_tracking_categories` | List tracking categories (regions, departments) | Read |\n| `xero_create_tracking_category` | Create a tracking category | Write |\n| `xero_update_tracking_category` | Update a tracking category | Write |\n\n## Code Examples\n\n### List all draft invoices\n\n```bash\nclawlink_call_tool --tool \"xero_list_invoices\" \\\n  --params '{\n    \"status\": \"DRAFT\",\n    \"page\": 1\n  }'\n```\n\n### Get invoice details\n\n```bash\nclawlink_call_tool --tool \"xero_get_invoice\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\"\n  }'\n```\n\n### Create an invoice\n\n```bash\nclawlink_call_tool --tool \"xero_create_invoice\" \\\n  --params '{\n    \"contact_id\": \"CONTACT_ID\",\n    \"type\": \"ACCREC\",\n    \"status\": \"DRAFT\",\n    \"line_items\": [\n      {\n        \"description\": \"Web development services - Phase 1\",\n        \"quantity\": 1,\n        \"unit_amount\": 2500,\n        \"account_code\": \"200\"\n      }\n    ]\n  }'\n```\n\n### Record a payment\n\n```bash\nclawlink_call_tool --tool \"xero_create_payment\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\",\n    \"amount\": 2500,\n    \"payment_date\": \"2025-06-07\",\n    \"reference\": \"Payment via bank transfer\"\n  }'\n```\n\n### Create a contact\n\n```bash\nclawlink_call_tool --tool \"xero_create_contact\" \\\n  --params '{\n    \"name\": \"Acme Corporation\",\n    \"email_address\": \"billing@acme.com\",\n    \"account_number\": \"ACM-001\"\n  }'\n```\n\n### Get organisation details\n\n```bash\nclawlink_call_tool --tool \"xero_get_organisation\" \\\n  --params '{}'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Xero is connected.\n2. Call `clawlink_list_tools --integration xero` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `xero`.\n5. If no Xero tools appear, direct the user to https://claw-link.dev/dashboard?add=xero.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe                             │\n│                                                             │\n│  Example: List invoices → Get invoice → Show line items     │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                      │\n│                                                             │\n│  Example: Preview invoice creation → User approves → Create│\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, get, and search operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Xero uses `ACCREC` (accounts receivable) for sales invoices and `ACCPAY` (accounts payable) for bills.\n- Invoice and bill IDs are unique within an organisation — use them directly for payments.\n- Voiding an invoice keeps it in the system as a voided record for audit purposes.\n- Currency amounts should match the organisation's configured currencies.\n- Tracking categories (regions, departments) can be assigned to line items for reporting.\n- Draft invoices must be approved or sent before they appear in financial reports.\n- Contact IDs are required for creating invoices and bills — resolve from `xero_list_contacts` first.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration xero`. |\n| Missing connection | Xero is not connected. Direct the user to https://claw-link.dev/dashboard?add=xero. |\n| `Invoice not found` | The invoice ID does not exist or belongs to a different organisation. |\n| `Contact not found` | The contact ID does not exist. |\n| `Account not found` | The account code does not exist in the chart of accounts. |\n| `Invalid status transition` | The invoice cannot be updated in its current status (e.g., voiding an already-paid invoice). |\n| `Validation error` | A required field is missing or has an invalid value. |\n| `Duplicate invoice` | An invoice with the same number already exists. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invoice Creation Fails\n\n1. Verify the contact ID exists — use `xero_list_contacts` or `xero_search_contacts`.\n2. Check that account codes are valid for line items.\n3. Confirm the invoice type (`ACCREC` or `ACCPAY`) matches the intended purpose.\n4. Ensure date formats are correct (ISO 8601 format recommended).\n\n## Resources\n\n- [Xero API Documentation](https://developer.xero.com/documentation/)\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview)\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"xero-accounting\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1780937006630\n}\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nManage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEmployees and operators use this skill to work with Xero accounting records from an agent workflow, including invoices, bills, contacts, payments, items, accounts, bank transactions, journals, organization details, currencies, and tracking categories. It supports read workflows and write workflows that require explicit confirmation before changing accounting records. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Financial write operations can change invoices, bills, payments, accounts, or other accounting records. <br>\nMitigation: Preview and explicitly confirm write actions before execution, and verify material changes in the Xero dashboard. <br>\nRisk: The skill depends on OAuth access to the user's connected Xero organization. <br>\nMitigation: Use the hosted ClawLink OAuth flow, avoid sharing credentials in chat, and verify the active Xero connection before tool calls. <br>\nRisk: The live Xero tool catalog may differ from examples in the skill text. <br>\nMitigation: List, search, or describe live Xero tools before using unfamiliar capabilities or resolving ambiguous requests. <br>\nRisk: Incorrect tax, currency, contact, invoice, or account details can create failed or inaccurate accounting entries. <br>\nMitigation: Resolve contacts and accounts with read tools first, then verify amounts, tax treatment, currencies, and identifiers before execution. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Xero Skill Page](https://clawhub.ai/hith3sh/xero-accounting) <br>\n- [Xero API Documentation](https://developer.xero.com/documentation/) <br>\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview) <br>\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2) <br>\n- [ClawLink Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink](https://claw-link.dev) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with bash command examples and JSON tool parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses live ClawLink tool discovery before unfamiliar or ambiguous Xero actions.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.1: 3 files, 6231 bytes\n\nFiles: skill-card.md (2583b), SKILL.md (15717b), _meta.json (134b)\n\nFile v0.2.1:SKILL.md\n\n---\nname: xero-accounting\ndescription: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contacts, track payments, or automate Xero accounting workflows.\n---\n\n# Xero\n\nManage Xero invoices, contacts, bills, payments, and accounting records from chat via the Xero API.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Xero API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Xero |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Xero |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Xero API       │\n│   (User Chat)   │     │   (OAuth)    │     │                  │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Xero     │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Xero   │\n   │  File    │           │ Auth     │           │  Tenant │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Xero again.\"\n\n## Quick Start\n\n```bash\n# List invoices\nclawlink_call_tool --tool \"xero_list_invoices\" --params '{\"status\": \"DRAFT\"}'\n\n# Get an invoice\nclawlink_call_tool --tool \"xero_get_invoice\" --params '{\"invoice_id\": \"INVOICE_ID\"}'\n\n# List contacts\nclawlink_call_tool --tool \"xero_list_contacts\" --params '{}'\n```\n\n## Authentication\n\nAll Xero tool calls are authenticated automatically by ClawLink using the user's connected Xero account OAuth token.\n\n**No API credentials are required in chat.** ClawLink stores the OAuth token securely and injects it into every Xero API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=xero and connect Xero.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `xero` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration xero\n```\n\n**Response:** Returns the live tool catalog for Xero.\n\n### Reconnect\n\nIf Xero tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=xero\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration xero`\n\n## Security & Permissions\n\n- Access is scoped to the Xero organization connected during OAuth setup.\n- **All write operations (create invoice, approve, delete, payment) require explicit user confirmation.**\n- Financial transactions (invoices, bills, payments) affect accounting records — always confirm details.\n- Confirm before voiding or deleting invoices, as these actions affect financial reporting.\n- Tax and currency amounts should always be verified against the Xero dashboard.\n\n## Tool Reference\n\n### Invoices\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_invoices` | List all invoices with status filters | Read |\n| `xero_get_invoice` | Get invoice details including line items | Read |\n| `xero_create_invoice` | Create a new invoice | Write |\n| `xero_update_invoice` | Update an existing invoice's details | Write |\n| `xero_void_invoice` | Void an invoice (marks as void, keeps record) | Write |\n| `xero_delete_invoice` | Delete a draft invoice | Write |\n| `xero_email_invoice` | Send an invoice to the contact via email | Write |\n| `xero_get_invoice_as_pdf` | Download an invoice as PDF | Read |\n\n### Bills (Purchase Invoices)\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bills` | List all bills (purchase invoices) | Read |\n| `xero_get_bill` | Get bill details | Read |\n| `xero_create_bill` | Create a new bill | Write |\n| `xero_update_bill` | Update an existing bill | Write |\n| `xero_delete_bill` | Delete a draft bill | Write |\n| `xero_approve_bill` | Approve a bill for payment | Write |\n\n### Contacts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_contacts` | List all contacts (customers and suppliers) | Read |\n| `xero_get_contact` | Get contact details including addresses and contacts | Read |\n| `xero_create_contact` | Create a new contact | Write |\n| `xero_update_contact` | Update contact information | Write |\n| `xero_delete_contact` | Delete a contact | Write |\n| `xero_search_contacts` | Search contacts by name, email, or account number | Read |\n\n### Payments\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_payments` | List all payments on invoices and bills | Read |\n| `xero_create_payment` | Record a payment against an invoice or bill | Write |\n| `xero_delete_payment` | Delete/void a payment | Write |\n| `xero_get_payment` | Get details of a specific payment | Read |\n\n### Items\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_items` | List all items/products | Read |\n| `xero_get_item` | Get item details | Read |\n| `xero_create_item` | Create a new item | Write |\n| `xero_update_item` | Update an existing item | Write |\n| `xero_delete_item` | Delete an item | Write |\n\n### Accounts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_accounts` | List all chart of accounts | Read |\n| `xero_get_account` | Get account details | Read |\n| `xero_create_account` | Create a new account | Write |\n| `xero_update_account` | Update an account | Write |\n\n### Bank Transactions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transactions` | List bank transactions (deposits, withdrawals, transfers) | Read |\n| `xero_get_bank_transaction` | Get bank transaction details | Read |\n| `xero_create_bank_transaction` | Create a bank transaction | Write |\n| `xero_delete_bank_transaction` | Delete a draft bank transaction | Write |\n\n### Bank Feeds\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transfers` | List bank transfers | Read |\n| `xero_create_bank_transfer` | Create a transfer between bank accounts | Write |\n\n### Manual Journals\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_journals` | List journal entries | Read |\n| `xero_get_journal` | Get a specific journal entry | Read |\n| `xero_create_journal` | Create a manual journal entry | Write |\n\n### Organisation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_get_organisation` | Get organisation/company details | Read |\n| `xero_list_currencies` | List currencies configured in the organisation | Read |\n\n### Tracking Categories\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_tracking_categories` | List tracking categories (regions, departments) | Read |\n| `xero_create_tracking_category` | Create a tracking category | Write |\n| `xero_update_tracking_category` | Update a tracking category | Write |\n\n## Code Examples\n\n### List all draft invoices\n\n```bash\nclawlink_call_tool --tool \"xero_list_invoices\" \\\n  --params '{\n    \"status\": \"DRAFT\",\n    \"page\": 1\n  }'\n```\n\n### Get invoice details\n\n```bash\nclawlink_call_tool --tool \"xero_get_invoice\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\"\n  }'\n```\n\n### Create an invoice\n\n```bash\nclawlink_call_tool --tool \"xero_create_invoice\" \\\n  --params '{\n    \"contact_id\": \"CONTACT_ID\",\n    \"type\": \"ACCREC\",\n    \"status\": \"DRAFT\",\n    \"line_items\": [\n      {\n        \"description\": \"Web development services - Phase 1\",\n        \"quantity\": 1,\n        \"unit_amount\": 2500,\n        \"account_code\": \"200\"\n      }\n    ]\n  }'\n```\n\n### Record a payment\n\n```bash\nclawlink_call_tool --tool \"xero_create_payment\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\",\n    \"amount\": 2500,\n    \"payment_date\": \"2025-06-07\",\n    \"reference\": \"Payment via bank transfer\"\n  }'\n```\n\n### Create a contact\n\n```bash\nclawlink_call_tool --tool \"xero_create_contact\" \\\n  --params '{\n    \"name\": \"Acme Corporation\",\n    \"email_address\": \"billing@acme.com\",\n    \"account_number\": \"ACM-001\"\n  }'\n```\n\n### Get organisation details\n\n```bash\nclawlink_call_tool --tool \"xero_get_organisation\" \\\n  --params '{}'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Xero is connected.\n2. Call `clawlink_list_tools --integration xero` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `xero`.\n5. If no Xero tools appear, direct the user to https://claw-link.dev/dashboard?add=xero.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe                             │\n│                                                             │\n│  Example: List invoices → Get invoice → Show line items     │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                      │\n│                                                             │\n│  Example: Preview invoice creation → User approves → Create│\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, get, and search operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Xero uses `ACCREC` (accounts receivable) for sales invoices and `ACCPAY` (accounts payable) for bills.\n- Invoice and bill IDs are unique within an organisation — use them directly for payments.\n- Voiding an invoice keeps it in the system as a voided record for audit purposes.\n- Currency amounts should match the organisation's configured currencies.\n- Tracking categories (regions, departments) can be assigned to line items for reporting.\n- Draft invoices must be approved or sent before they appear in financial reports.\n- Contact IDs are required for creating invoices and bills — resolve from `xero_list_contacts` first.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration xero`. |\n| Missing connection | Xero is not connected. Direct the user to https://claw-link.dev/dashboard?add=xero. |\n| `Invoice not found` | The invoice ID does not exist or belongs to a different organisation. |\n| `Contact not found` | The contact ID does not exist. |\n| `Account not found` | The account code does not exist in the chart of accounts. |\n| `Invalid status transition` | The invoice cannot be updated in its current status (e.g., voiding an already-paid invoice). |\n| `Validation error` | A required field is missing or has an invalid value. |\n| `Duplicate invoice` | An invoice with the same number already exists. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invoice Creation Fails\n\n1. Verify the contact ID exists — use `xero_list_contacts` or `xero_search_contacts`.\n2. Check that account codes are valid for line items.\n3. Confirm the invoice type (`ACCREC` or `ACCPAY`) matches the intended purpose.\n4. Ensure date formats are correct (ISO 8601 format recommended).\n\n## Resources\n\n- [Xero API Documentation](https://developer.xero.com/documentation/)\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview)\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v0.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"xero-accounting\",\n  \"version\": \"0.2.1\",\n  \"publishedAt\": 1780840339596\n}\n\nFile v0.2.1:skill-card.md\n\n## Description: <br>\nManage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nUsers and finance operators use this skill to manage Xero accounting workflows from chat, including invoices, contacts, bills, payments, accounts, bank transactions, journals, and organization records. It helps agents discover available Xero tools, preview write actions, and execute approved Xero API operations through the user's connected organization. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Xero write actions can create, update, approve, void, email, or delete accounting records and may affect financial reporting. <br>\nMitigation: Preview write actions first and execute them only after the user confirms that organization, contact, invoice, bill, payment, tax, currency, and account details match their intent. <br>\nRisk: The skill requires access to a connected Xero organization through ClawLink and Xero OAuth. <br>\nMitigation: Before installation or use, confirm the user trusts ClawLink with the selected Xero organization and verify the active connection before making Xero calls. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Xero Skill](https://clawhub.ai/hith3sh/xero-accounting) <br>\n- [Xero API Documentation](https://developer.xero.com/documentation/) <br>\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview) <br>\n- [Xero OAuth 2.0 Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2) <br>\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink Verification](https://claw-link.dev/verify) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, Configuration, API calls] <br>\n**Output Format:** [Markdown with inline shell commands and JSON parameters] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Produces tool-selection guidance, setup commands, confirmation steps, and Xero API tool calls through ClawLink.] <br>\n\n## Skill Version(s): <br>\n0.2.1 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.2.0: 3 files, 6267 bytes\n\nFiles: skill-card.md (2675b), SKILL.md (15717b), _meta.json (134b)\n\nFile v0.2.0:SKILL.md\n\n---\nname: xero-accounting\ndescription: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contacts, track payments, or automate Xero accounting workflows.\n---\n\n# Xero\n\nManage Xero invoices, contacts, bills, payments, and accounting records from chat via the Xero API.\n\nThis skill uses [ClawLink](https://claw-link.dev) for hosted connection flows and credentials so you do not need to configure Xero API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Xero |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Xero |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Xero API       │\n│   (User Chat)   │     │   (OAuth)    │     │                  │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Xero     │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Xero   │\n   │  File    │           │ Auth     │           │  Tenant │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Xero again.\"\n\n## Quick Start\n\n```bash\n# List invoices\nclawlink_call_tool --tool \"xero_list_invoices\" --params '{\"status\": \"DRAFT\"}'\n\n# Get an invoice\nclawlink_call_tool --tool \"xero_get_invoice\" --params '{\"invoice_id\": \"INVOICE_ID\"}'\n\n# List contacts\nclawlink_call_tool --tool \"xero_list_contacts\" --params '{}'\n```\n\n## Authentication\n\nAll Xero tool calls are authenticated automatically by ClawLink using the user's connected Xero account OAuth token.\n\n**No API credentials are required in chat.** ClawLink stores the OAuth token securely and injects it into every Xero API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=xero and connect Xero.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `xero` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration xero\n```\n\n**Response:** Returns the live tool catalog for Xero.\n\n### Reconnect\n\nIf Xero tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=xero\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration xero`\n\n## Security & Permissions\n\n- Access is scoped to the Xero organization connected during OAuth setup.\n- **All write operations (create invoice, approve, delete, payment) require explicit user confirmation.**\n- Financial transactions (invoices, bills, payments) affect accounting records — always confirm details.\n- Confirm before voiding or deleting invoices, as these actions affect financial reporting.\n- Tax and currency amounts should always be verified against the Xero dashboard.\n\n## Tool Reference\n\n### Invoices\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_invoices` | List all invoices with status filters | Read |\n| `xero_get_invoice` | Get invoice details including line items | Read |\n| `xero_create_invoice` | Create a new invoice | Write |\n| `xero_update_invoice` | Update an existing invoice's details | Write |\n| `xero_void_invoice` | Void an invoice (marks as void, keeps record) | Write |\n| `xero_delete_invoice` | Delete a draft invoice | Write |\n| `xero_email_invoice` | Send an invoice to the contact via email | Write |\n| `xero_get_invoice_as_pdf` | Download an invoice as PDF | Read |\n\n### Bills (Purchase Invoices)\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bills` | List all bills (purchase invoices) | Read |\n| `xero_get_bill` | Get bill details | Read |\n| `xero_create_bill` | Create a new bill | Write |\n| `xero_update_bill` | Update an existing bill | Write |\n| `xero_delete_bill` | Delete a draft bill | Write |\n| `xero_approve_bill` | Approve a bill for payment | Write |\n\n### Contacts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_contacts` | List all contacts (customers and suppliers) | Read |\n| `xero_get_contact` | Get contact details including addresses and contacts | Read |\n| `xero_create_contact` | Create a new contact | Write |\n| `xero_update_contact` | Update contact information | Write |\n| `xero_delete_contact` | Delete a contact | Write |\n| `xero_search_contacts` | Search contacts by name, email, or account number | Read |\n\n### Payments\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_payments` | List all payments on invoices and bills | Read |\n| `xero_create_payment` | Record a payment against an invoice or bill | Write |\n| `xero_delete_payment` | Delete/void a payment | Write |\n| `xero_get_payment` | Get details of a specific payment | Read |\n\n### Items\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_items` | List all items/products | Read |\n| `xero_get_item` | Get item details | Read |\n| `xero_create_item` | Create a new item | Write |\n| `xero_update_item` | Update an existing item | Write |\n| `xero_delete_item` | Delete an item | Write |\n\n### Accounts\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_accounts` | List all chart of accounts | Read |\n| `xero_get_account` | Get account details | Read |\n| `xero_create_account` | Create a new account | Write |\n| `xero_update_account` | Update an account | Write |\n\n### Bank Transactions\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transactions` | List bank transactions (deposits, withdrawals, transfers) | Read |\n| `xero_get_bank_transaction` | Get bank transaction details | Read |\n| `xero_create_bank_transaction` | Create a bank transaction | Write |\n| `xero_delete_bank_transaction` | Delete a draft bank transaction | Write |\n\n### Bank Feeds\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_bank_transfers` | List bank transfers | Read |\n| `xero_create_bank_transfer` | Create a transfer between bank accounts | Write |\n\n### Manual Journals\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_journals` | List journal entries | Read |\n| `xero_get_journal` | Get a specific journal entry | Read |\n| `xero_create_journal` | Create a manual journal entry | Write |\n\n### Organisation\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_get_organisation` | Get organisation/company details | Read |\n| `xero_list_currencies` | List currencies configured in the organisation | Read |\n\n### Tracking Categories\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `xero_list_tracking_categories` | List tracking categories (regions, departments) | Read |\n| `xero_create_tracking_category` | Create a tracking category | Write |\n| `xero_update_tracking_category` | Update a tracking category | Write |\n\n## Code Examples\n\n### List all draft invoices\n\n```bash\nclawlink_call_tool --tool \"xero_list_invoices\" \\\n  --params '{\n    \"status\": \"DRAFT\",\n    \"page\": 1\n  }'\n```\n\n### Get invoice details\n\n```bash\nclawlink_call_tool --tool \"xero_get_invoice\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\"\n  }'\n```\n\n### Create an invoice\n\n```bash\nclawlink_call_tool --tool \"xero_create_invoice\" \\\n  --params '{\n    \"contact_id\": \"CONTACT_ID\",\n    \"type\": \"ACCREC\",\n    \"status\": \"DRAFT\",\n    \"line_items\": [\n      {\n        \"description\": \"Web development services - Phase 1\",\n        \"quantity\": 1,\n        \"unit_amount\": 2500,\n        \"account_code\": \"200\"\n      }\n    ]\n  }'\n```\n\n### Record a payment\n\n```bash\nclawlink_call_tool --tool \"xero_create_payment\" \\\n  --params '{\n    \"invoice_id\": \"INVOICE_ID\",\n    \"amount\": 2500,\n    \"payment_date\": \"2025-06-07\",\n    \"reference\": \"Payment via bank transfer\"\n  }'\n```\n\n### Create a contact\n\n```bash\nclawlink_call_tool --tool \"xero_create_contact\" \\\n  --params '{\n    \"name\": \"Acme Corporation\",\n    \"email_address\": \"billing@acme.com\",\n    \"account_number\": \"ACM-001\"\n  }'\n```\n\n### Get organisation details\n\n```bash\nclawlink_call_tool --tool \"xero_get_organisation\" \\\n  --params '{}'\n```\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Xero is connected.\n2. Call `clawlink_list_tools --integration xero` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `xero`.\n5. If no Xero tools appear, direct the user to https://claw-link.dev/dashboard?add=xero.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe                             │\n│                                                             │\n│  Example: List invoices → Get invoice → Show line items     │\n└─────────────────────────────────────────────────────────────┘\n                              │\n                              ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  describe → preview → confirm → call                      │\n│                                                             │\n│  Example: Preview invoice creation → User approves → Create│\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, get, and search operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Notes\n\n- Xero uses `ACCREC` (accounts receivable) for sales invoices and `ACCPAY` (accounts payable) for bills.\n- Invoice and bill IDs are unique within an organisation — use them directly for payments.\n- Voiding an invoice keeps it in the system as a voided record for audit purposes.\n- Currency amounts should match the organisation's configured currencies.\n- Tracking categories (regions, departments) can be assigned to line items for reporting.\n- Draft invoices must be approved or sent before they appear in financial reports.\n- Contact IDs are required for creating invoices and bills — resolve from `xero_list_contacts` first.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration xero`. |\n| Missing connection | Xero is not connected. Direct the user to https://claw-link.dev/dashboard?add=xero. |\n| `Invoice not found` | The invoice ID does not exist or belongs to a different organisation. |\n| `Contact not found` | The contact ID does not exist. |\n| `Account not found` | The account code does not exist in the chart of accounts. |\n| `Invalid status transition` | The invoice cannot be updated in its current status (e.g., voiding an already-paid invoice). |\n| `Validation error` | A required field is missing or has an invalid value. |\n| `Duplicate invoice` | An invoice with the same number already exists. |\n| Write rejected | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invoice Creation Fails\n\n1. Verify the contact ID exists — use `xero_list_contacts` or `xero_search_contacts`.\n2. Check that account codes are valid for line items.\n3. Confirm the invoice type (`ACCREC` or `ACCPAY`) matches the intended purpose.\n4. Ensure date formats are correct (ISO 8601 format recommended).\n\n## Resources\n\n- [Xero API Documentation](https://developer.xero.com/documentation/)\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview)\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2)\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n\nFile v0.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"xero-accounting\",\n  \"version\": \"0.2.0\",\n  \"publishedAt\": 1780839686093\n}\n\nFile v0.2.0:skill-card.md\n\n## Description: <br>\nManage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nEmployees, operators, and accounting workflow users use this skill to manage Xero invoices, contacts, bills, payments, and related accounting records from an agent chat through a connected Xero organization. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can perform financial write actions such as creating invoices, approving bills, recording payments, or deleting draft records. <br>\nMitigation: Use previews and require explicit user confirmation before write actions; verify invoices, bills, payments, tax, currency, and account details in Xero before confirming. <br>\nRisk: The skill depends on a hosted OAuth connection to a Xero organization through ClawLink. <br>\nMitigation: Install only when the publisher and ClawLink are trusted, review requested Xero permissions during OAuth, and confirm the intended Xero organization is connected. <br>\nRisk: Incorrect IDs, account codes, invoice types, or status transitions can affect accounting records or cause failed operations. <br>\nMitigation: Prefer list, get, search, and describe operations before writes, resolve contacts and accounts from Xero, and report real tool errors without inventing results. <br>\n\n\n## Reference(s): <br>\n- [Xero API Documentation](https://developer.xero.com/documentation/) <br>\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview) <br>\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2) <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink Verification](https://claw-link.dev/verify) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, Configuration, API calls] <br>\n**Output Format:** [Markdown with inline bash and JSON examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Produces agent-facing setup, discovery, preview, and tool-call guidance for Xero actions.] <br>\n\n## Skill Version(s): <br>\n0.2.0 (source: server evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.0: 3 files, 3514 bytes\n\nFiles: skill-card.md (2334b), SKILL.md (5040b), _meta.json (134b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: xero-accounting\ndescription: Work with invoices, contacts, accounting records, and finance workflows in Xero — powered by ClawLink.\n---\n\n# Xero via ClawLink\n\nWork with Xero from chat — inspect invoices, manage contacts, review accounting records, and coordinate finance workflows.\n\nPowered by [ClawLink](https://claw-link.dev), an integration hub for OpenClaw that handles hosted connection flows and credentials so you don't need to configure Xero API access yourself.\n\n## Quick start\n\n1. Install the verified ClawLink plugin: `openclaw plugins install clawhub:clawlink-plugin`\n2. Start a fresh OpenClaw chat if the plugin was just installed and ClawLink tools are not visible yet\n3. If ClawLink is not configured, call `clawlink_begin_pairing`\n4. Tell the user to open the returned pairing URL, sign in to ClawLink if needed, and approve the device\n5. After the user confirms approval, call `clawlink_get_pairing_status`\n6. Tell the user to connect Xero at [claw-link.dev/dashboard?add=xero](https://claw-link.dev/dashboard?add=xero)\n7. When the user confirms Xero is connected, call `clawlink_list_integrations` and then `clawlink_list_tools` with the `xero` integration slug\n\n## Setup details\n\n### Installing the plugin\n\nIf the ClawLink plugin is not installed yet, tell the user to run:\n\n```\nopenclaw plugins install clawhub:clawlink-plugin\n```\n\nIf the current chat started before the plugin was installed and ClawLink tools are still unavailable, tell the user to start a fresh chat so OpenClaw reloads the plugin tool catalog.\n\n### Pairing ClawLink\n\nIf ClawLink reports that the plugin is not configured, the plugin has not been paired with the user's ClawLink account yet.\n\n1. Call `clawlink_begin_pairing`.\n2. Tell the user to open the returned pairing URL in their browser.\n3. The user signs in to ClawLink if needed and approves the OpenClaw device.\n4. After the user confirms approval, call `clawlink_get_pairing_status` to finish local setup.\n\nThe resulting device credential is stored locally in OpenClaw's plugin config and is only sent to `claw-link.dev`. The user should not paste raw credentials into chat.\n\n### Connecting Xero\n\nTell the user to open https://claw-link.dev/dashboard?add=xero and connect Xero there. The page opens the add-connection panel filtered to Xero. ClawLink's hosted page runs the hosted OAuth flow — the user clicks through the Xero login and authorization screen. When they confirm it is done, call `clawlink_list_integrations` to verify, then call `clawlink_list_tools` with integration `xero`.\n\n## Using Xero tools\n\nClawLink provides tools dynamically based on what the user has connected. You do not need to know tool names or schemas in advance.\n\n### Discovery\n\n1. Call `clawlink_list_integrations` to confirm Xero is connected.\n2. Call `clawlink_list_tools` with integration `xero`.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `xero`.\n5. If no Xero tools appear, direct the user to https://claw-link.dev/dashboard?add=xero.\n\n### Execution\n\n1. Call `clawlink_describe_tool` before using an unfamiliar tool, before any write, or when the request is ambiguous.\n2. Use the returned schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups`.\n3. Prefer read, list, search, and get operations before writes.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first, then confirm with the user.\n5. Execute with `clawlink_call_tool`.\n6. If it fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## What you can do\n\nTypical Xero tasks (actual availability depends on the user's connected account, permissions, scopes, and current ClawLink tool catalog):\n\n- Review invoices, contacts, and accounting records\n- Inspect finance data before making changes\n- Help prepare or confirm accounting workflow actions\n- Preview write operations before updating records\n- Use live tool discovery for the current Xero catalog\n- Keep user approval in the loop for finance-impacting changes\n\n## Rules\n\n- Always use ClawLink tools for Xero. Do not ask the user for separate Xero credentials.\n- Do not claim a capability is missing without checking the live ClawLink catalog in the current turn.\n- Do not invent slash commands or ask the user to paste raw credentials.\n- Ask for confirmation before destructive, external-facing, or bulk write actions.\n- If Xero is not connected, direct the user to https://claw-link.dev/dashboard?add=xero.\n- Never echo or repeat the user's ClawLink credential.\n\n## Resources\n\n- ClawLink: https://claw-link.dev\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n- ClawLink Source: https://github.com/hith3sh/clawlink\n- Xero API: https://developer.xero.com/documentation/api/\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"xero-accounting\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1778095339240\n}\n\nFile v0.1.0:skill-card.md\n\n## Description: <br>\nWork with invoices, contacts, accounting records, and finance workflows in Xero through ClawLink. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[hith3sh](https://clawhub.ai/user/hith3sh) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nOpenClaw users with Xero access use this skill to discover ClawLink-provided Xero tools, inspect invoices, contacts, and accounting records, and carry out finance workflows with user confirmation for sensitive actions. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Xero OAuth access can expose invoices, contacts, accounting records, and other sensitive business data. <br>\nMitigation: Review requested Xero permissions, connect only the intended Xero organization, and do not paste raw Xero or ClawLink credentials into chat. <br>\nRisk: Invoice, contact, or accounting-record writes can affect external finance workflows. <br>\nMitigation: Prefer read and preview operations first, then require explicit user confirmation before destructive, external-facing, bulk, or other finance-impacting changes. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/hith3sh/xero-accounting) <br>\n- [ClawLink](https://claw-link.dev) <br>\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw) <br>\n- [ClawLink Verification](https://claw-link.dev/verify) <br>\n- [Xero API Documentation](https://developer.xero.com/documentation/api/) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, API calls, Configuration instructions] <br>\n**Output Format:** [Markdown guidance with inline shell commands and tool-call instructions] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses the live ClawLink Xero catalog as the source of truth; available actions depend on the user's connected organization, permissions, scopes, and current tool schemas.] <br>\n\n## Skill Version(s): <br>\n0.1.0 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: Xero Owner: hith3sh Summary: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contac... Tags: latest:1.0.6 Version history: v1.0.6 | 2026-06-09T07:21:20.131Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source. ","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Xero API       │\n│   (User Chat)   │     │   (OAuth)    │     │                  │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Xero     │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Xero   │\n   │  File    │           │ Auth     │           │  Tenant │\n   └──────────┘           └──────────┘           └──────────┘"},{"language":"bash","snippet":"openclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart"},{"language":"bash","snippet":"# List invoices\nclawlink_call_tool --tool \"xero_list_invoices\" --params '{\"status\": \"DRAFT\"}'\n\n# Get an invoice\nclawlink_call_tool --tool \"xero_get_invoice\" --params '{\"invoice_id\": \"INVOICE_ID\"}'\n\n# List contacts\nclawlink_call_tool --tool \"xero_list_contacts\" --params '{}'"},{"language":"bash","snippet":"clawlink_list_integrations"},{"language":"bash","snippet":"clawlink_list_tools --integration xero"},{"language":"bash","snippet":"clawlink_call_tool --tool \"xero_list_invoices\" \\\n  --params '{\n    \"status\": \"DRAFT\",\n    \"page\": 1\n  }'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: xero-accounting\ndescription: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contacts, track payments, or automate Xero accounting workflows.\n---\n\n# Xero\n\n![Xero](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/xero.svg?v=2)\n\nManage Xero invoices, contacts, bills, payments, and accounting records from chat via the Xero API.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=xero-accounting) for hosted connection flows and credentials so you do not need to configure Xero API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Xero |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Xero |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│   Xero API       │\n│   (User Chat)   │     │   (OAuth)    │     │                  │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │                       │\n         │  1. Install Plugin    │                       │\n         │  2. Pair Device       │                       │\n         │  3. Connect Xero     │                       │\n         │                       │  4. Secure Token       │\n         │                       │  5. Proxy Requests    │\n         │                       │                       │\n         ▼                       ▼                       ▼\n   ┌──────────┐           ┌──────────┐           ┌──────────┐\n   │  SKILL   │           │ Dashboard│           │  Xero   │\n   │  File    │           │ Auth     │           │  Tenant │\n   └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Xero again.\"\n\n## Quick Start\n\n```bash\n# List invoices\nclawlink_call_tool --tool \"xero_list_invoices\" --params '{\"status\": \"DRAFT\"}'\n\n# Get an invoice\nclawlink_call_tool --tool \"xero_get_invoice\" --params '{\"invoice_id\": \"INVOICE_ID\"}'\n\n# List contacts\nclawlink_call_tool --tool \"xero_list_contacts\" --params '{}'\n```\n\n## Authentication\n\nAll Xero tool calls "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn713pxvayh8fjhb503zjb8yxh815j54\",\n  \"slug\": \"xero-accounting\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1780989680131\n}"},{"path":"skill-card.md","content":"## Description:\n\nManage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[hith3sh](https://clawhub.ai/user/hith3sh)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and accounting operators use this skill to manage Xero invoices, contacts, bills, payments, and accounting records from an agent chat after connecting their Xero organization through OAuth.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can read and change financial records in the connected Xero organization.\n\nMitigation: Install only when the user intends to connect ClawLink to Xero, and review write previews before approving invoices, bills, payments, deletes, voids, journals, or account changes.\n\nRisk: Accounting changes can affect tax, currency, and financial reporting outcomes.\n\nMitigation: Verify important tax, currency, and reporting effects in Xero before relying on or approving changes.\n\n## Reference(s):\n\n- [ClawHub Xero Skill](https://clawhub.ai/hith3sh/skills/xero-accounting)\n- [Xero API Documentation](https://developer.xero.com/documentation/)\n- [Xero API Overview](https://developer.xero.com/documentation/api/overview)\n- [Xero OAuth Guide](https://developer.xero.com/documentation/auth-and-reporting/xero-oauth2)\n- [ClawLink OpenClaw Docs](https://docs.claw-link.dev/openclaw)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and tool-call guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include previews and confirmation requests before write operations that affect accounting records.]\n\n## Skill Version(s):\n\n1.0.6 (source: server evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contac... Skill: Xero Owner: hith3sh Summary: Manage invoices, contacts, bills, payments, and accounting records in Xero via the Xero API. Use this skill when users want to create invoices, manage contac... Tags: latest:1.0.6 Version history: v1.0.6 | 2026-06-09T07:21:20.131Z | user Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1006,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T12:12:29.843Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T12:12:29.843Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T20:24:47.166Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}