home / skills / openclaw / skills / bexio

bexio skill

/skills/rdewolff/bexio

This skill helps you manage Bexio CRM data by interacting with contacts, quotes, invoices, orders, and items via the Bexio API.

npx playbooks add skill openclaw/skills --skill bexio

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
3.5 KB
---
name: bexio
description: Bexio Swiss business software API for managing contacts, quotes/offers, invoices, orders, and items/products. Use when working with Bexio CRM, creating or managing invoices, quotes, sales orders, contact management, or Swiss business administration tasks. Supports listing, searching, creating, editing contacts and sales documents.
---

# Bexio

Swiss business software API for CRM, invoicing, quotes, orders, and products.

## Setup

Get your Personal Access Token (PAT) from Bexio:
1. Go to https://office.bexio.com → Settings → Security → Personal Access Tokens
2. Create a new token with required scopes

Store in `~/.clawdbot/clawdbot.json`:
```json
{
  "skills": {
    "entries": {
      "bexio": {
        "accessToken": "YOUR_ACCESS_TOKEN"
      }
    }
  }
}
```

Or set env: `BEXIO_ACCESS_TOKEN=xxx`

## Required Scopes

- `contact_show`, `contact_edit` - Contacts
- `kb_offer_show`, `kb_offer_edit` - Quotes/Offers
- `kb_invoice_show`, `kb_invoice_edit` - Invoices
- `kb_order_show`, `kb_order_edit` - Orders
- `article_show` - Items/Products

## Quick Reference

### Contacts
```bash
{baseDir}/scripts/bexio.sh contacts list              # List all contacts
{baseDir}/scripts/bexio.sh contacts search "query"    # Search contacts
{baseDir}/scripts/bexio.sh contacts show <id>         # Get contact details
{baseDir}/scripts/bexio.sh contacts create --name "Company" --type company
{baseDir}/scripts/bexio.sh contacts edit <id> --email "[email protected]"
```

### Quotes/Offers
```bash
{baseDir}/scripts/bexio.sh quotes list                # List quotes
{baseDir}/scripts/bexio.sh quotes search "query"      # Search quotes
{baseDir}/scripts/bexio.sh quotes show <id>           # Get quote details
{baseDir}/scripts/bexio.sh quotes create --contact <id> --title "Project Quote"
{baseDir}/scripts/bexio.sh quotes clone <id>          # Clone a quote
{baseDir}/scripts/bexio.sh quotes send <id> --email "[email protected]"
```

### Invoices
```bash
{baseDir}/scripts/bexio.sh invoices list              # List invoices
{baseDir}/scripts/bexio.sh invoices search "query"    # Search invoices
{baseDir}/scripts/bexio.sh invoices show <id>         # Get invoice details
{baseDir}/scripts/bexio.sh invoices create --contact <id> --title "Invoice"
{baseDir}/scripts/bexio.sh invoices issue <id>        # Issue draft invoice
{baseDir}/scripts/bexio.sh invoices send <id> --email "[email protected]"
{baseDir}/scripts/bexio.sh invoices cancel <id>       # Cancel invoice
```

### Orders
```bash
{baseDir}/scripts/bexio.sh orders list                # List orders
{baseDir}/scripts/bexio.sh orders search "query"      # Search orders
{baseDir}/scripts/bexio.sh orders show <id>           # Get order details
{baseDir}/scripts/bexio.sh orders create --contact <id> --title "Sales Order"
```

### Items/Products
```bash
{baseDir}/scripts/bexio.sh items list                 # List all items
{baseDir}/scripts/bexio.sh items search "query"       # Search items
{baseDir}/scripts/bexio.sh items show <id>            # Get item details
```

## Document Statuses

- **Quotes**: `draft`, `pending`, `accepted`, `declined`
- **Invoices**: `draft`, `pending`, `paid`, `partial`, `canceled`
- **Orders**: `draft`, `pending`, `done`

## Notes

- API Base: `https://api.bexio.com`
- Auth: Bearer token in header
- Rate limit: ~1000 req/min (check `X-RateLimit-*` headers)
- Pagination: Use `?limit=X&offset=Y` params
- Always confirm before creating/editing documents

## API Reference

For detailed endpoint documentation, see [references/api.md](references/api.md).

Overview

This skill integrates with the bexio API to manage Swiss business data: contacts, quotes/offers, invoices, orders, and items/products. It provides listing, searching, creating, editing, cloning, issuing, sending and basic lifecycle actions for sales documents and CRM entries. The skill is designed for automation, sync tasks, and scripted workflows against bexio using a personal access token.

How this skill works

The skill authenticates with bexio using a bearer token (Personal Access Token) and calls the REST API endpoints under https://api.bexio.com. It supports common operations for contacts, quotes, invoices, orders and items including search, list, show, create, edit, clone, send, issue and cancel. Pagination, rate-limit headers and scope-based access control must be handled by the caller; the skill expects required scopes to be granted for each resource type.

When to use it

  • Automating Swiss invoicing, quoting and order workflows from scripts or backend jobs.
  • Syncing CRM contacts between bexio and other systems or data stores.
  • Generating, issuing and emailing invoices or quotes programmatically.
  • Building integrations that need to list, search or manage product items.
  • Backing up or archiving sales documents and contact records for compliance.

Best practices

  • Store the Personal Access Token securely (environment variable or encrypted config) and avoid hardcoding tokens.
  • Request only the scopes you need (contacts, kb_offer, kb_invoice, kb_order, article) to minimize access risk.
  • Respect rate limits (check X-RateLimit-* headers) and use pagination with limit/offset for large result sets.
  • Confirm intent before creating or editing documents in production; use draft statuses for safe testing.
  • Log API responses and errors for auditability and retry transient failures with exponential backoff.

Example use cases

  • List and export all contacts to a local CRM or CSV for migration.
  • Create a quote for a client, clone it when accepted, then issue the corresponding invoice.
  • Search and attach product items to a sales order created by an e-commerce platform.
  • Issue and email invoices automatically when a payment milestone is reached in a project.
  • Cancel or mark invoices as paid during reconciliation between accounting and bank records.

FAQ

How do I authenticate this skill?

Provide a bexio Personal Access Token (PAT) as a bearer token; store it in a secure config or set BEXIO_ACCESS_TOKEN.

What API base URL does it use?

The skill calls endpoints under https://api.bexio.com and expects standard REST responses.

Which scopes are required?

Grant scopes for the resources you need: contact_show/contact_edit, kb_offer_*, kb_invoice_*, kb_order_*, and article_show as applicable.