ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

magento2

Manage a Magento 2 / Adobe Commerce store via REST API. Use for orders, catalog, customers, inventory, promotions, and sales reporting. It can also discover and interact with custom modules (like blogs) by exploring the system's modules and REST schema. Triggers on requests like "show me today's orders", "update product stock", "check installed modules", "call custom api", "morning brief", "store health", "inventory risk", "stockout", "promotion audit", "stuck orders", "order exceptions", "pricing issues", or anything referencing a Magento store.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/caravanglory/magento2
Or

Magento 2 Skill

Connect to one or more Magento 2 / Adobe Commerce stores via REST API using OAuth 1.0a.

Authentication

All requests are signed with OAuth 1.0a. Credentials are read from environment variables — never ask the user to paste them in chat.

Single site (default)

  • MAGENTO_BASE_URL — e.g. https://store.example.com
  • MAGENTO_CONSUMER_KEY
  • MAGENTO_CONSUMER_SECRET
  • MAGENTO_ACCESS_TOKEN
  • MAGENTO_ACCESS_TOKEN_SECRET

Multi-site setup

To connect to additional stores, define credentials with a site suffix (MAGENTO_<VAR>_<SITE>):

MAGENTO_BASE_URL_US=https://us.store.com
MAGENTO_CONSUMER_KEY_US=...
MAGENTO_CONSUMER_SECRET_US=...
MAGENTO_ACCESS_TOKEN_US=...
MAGENTO_ACCESS_TOKEN_SECRET_US=...

MAGENTO_BASE_URL_EU=https://eu.store.com
MAGENTO_CONSUMER_KEY_EU=...
...

All scripts accept --site <alias> to target a specific store. When omitted, the default (unsuffixed) credentials are used.

python3 orders.py list --site us --limit 10
python3 system.py sites            # list all configured sites

Optional env vars

  • MAGENTO_TIMEOUT — Default is 30 seconds. Supports per-site override: MAGENTO_TIMEOUT_US.
  • MAGENTO_DEBUG — Set to 1 to enable verbose logging to stderr.

All scripts import the shared client from scripts/magento_client.py. Never construct raw HTTP requests inline — always use the client.

Available commands

Run scripts with: python3 <skill_dir>/scripts/<script>.py [args]

Orders — scripts/orders.py

# List recent orders (default: last 20)
python3 orders.py list [--limit N] [--status pending|processing|complete|canceled|closed|holded|payment_review]

# Get a single order
python3 orders.py get <order_id>

# Update order status
python3 orders.py update-status <order_id> <status>

# Cancel an order
python3 orders.py cancel <order_id>

# Ship an order (optional: add tracking number and carrier)
python3 orders.py ship <order_id> [--track N] [--carrier carrier_code] [--title title]

# Invoice an order
python3 orders.py invoice <order_id>

Catalog — scripts/catalog.py

# Search products
python3 catalog.py search <query> [--limit N]

# Get product by SKU
python3 catalog.py get <sku>

# Update product price
python3 catalog.py update-price <sku> <price>

# Update product name / description
python3 catalog.py update-attribute <sku> <attribute> <value>

# Enable or disable a product
python3 catalog.py update-status <sku> {enabled|disabled}

# Delete a product
python3 catalog.py delete <sku>

# List categories
python3 catalog.py categories

Customers — scripts/customers.py

# Search customers by email or name
python3 customers.py search <query> [--limit N]

# Get customer by ID
python3 customers.py get <customer_id>

# Get customer orders
python3 customers.py orders <customer_id>

# Update customer group
python3 customers.py update-group <customer_id> <group_id>

Inventory — scripts/inventory.py

Metadata

Stars4072
Views1
Updated2026-04-13
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-caravanglory-magento2": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.