Query business databases (avocode, avocodebo) with pre-approved queries OR free-form read-only SQL. Use when asked about subscriptions, trials, revenue, invoices, refunds, or any business metrics from the database.
Read-only access to business databases. Supports pre-approved query IDs and free-form SQL queries.
Run any read-only SQL query against the database:
node /root/.openclaw/custom-skills/dist/skills/db-reader/cli.js sql "SELECT ..."
Only SELECT and WITH (CTEs) are allowed. INSERT/UPDATE/DELETE/DROP/ALTER/TRUNCATE/CREATE are blocked.
List all tables in the database:
node /root/.openclaw/custom-skills/dist/skills/db-reader/cli.js schema
Describe a specific table's columns:
node /root/.openclaw/custom-skills/dist/skills/db-reader/cli.js schema <table_name>
Run a pre-approved query by ID:
node /root/.openclaw/custom-skills/dist/skills/db-reader/cli.js <query-id>
The connection uses the configured core database (avocode). Tables from avocodebo can be referenced with the avocodebo. prefix.
| Table | Description |
|---|---|
subscriptions | All subscriptions (trials, active, cancelled) |
invoices | Payment invoices (trials, rebills, refunds) |
customers | Customer records |
currencies | Currency definitions |
websites | Website/brand definitions |
companies | Company entities |
countries | Country definitions |
| Table | Description |
|---|---|
avocodebo.ad_costs | Advertising spend data |
avocodebo.campaigns | Marketing campaign definitions |
node /root/.openclaw/custom-skills/dist/skills/db-reader/cli.js sql "SELECT COUNT(*) as total FROM subscriptions WHERE status = 'active'"
node /root/.openclaw/custom-skills/dist/skills/db-reader/cli.js sql "SELECT SUM(amount) as gross_turnover FROM invoices WHERE created_at >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) AND status = 1"
node /root/.openclaw/custom-skills/dist/skills/db-reader/cli.js sql "SELECT c.code as currency, SUM(i.amount) as total FROM invoices i JOIN currencies c ON i.currency_id = c.id WHERE i.created_at >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY c.code"
node /root/.openclaw/custom-skills/dist/skills/db-reader/cli.js schema subscriptions
schema to list tables, then schema <table> to see columnssql "SELECT ..."| Query ID | Description |
|---|---|
active-subscriptions | Count of active subscriptions by plan type |
trials-last-7-days | New trials in the last 7 days, by day |
daily-revenue-7d | Revenue breakdown last 7 days |
first-rebills-7d | First rebills last 7 days |
second-rebills-7d | Second rebills last 7 days |
ad-spend-7d | Ad spend last 7 days |
ltv-30d / ltv-45d / ltv-90d | LTV calculations |
campaign-performance | Full metrics per campaign |
campaign-summary | Lightweight campaign summary |
customer-counts | Total and active customer counts |
chargeback-rate | Chargeback rate |
base-instalada | Customers with >1 rebill |
openclaw_reader has SELECT-only permissions in MySQLResults are returned as JSON with:
status: "success" or "error"results: Query result rowsmeta: Execution time and row count