BareBones + Hermes
If Hermes can call tools, it can keep your books. Give it a single tool — “add a ledger entry” — and you can just say “log the $128 water bill” or hand it a receipt photo, and the line lands in your ledger.
{
"name": "add_ledger_entry",
"description": "Add one line to the ledger.",
"parameters": {
"type": "object",
"required": ["amount", "type", "category"],
"properties": {
"amount": { "type": "number" },
"type": { "enum": ["INCOME","EXPENSE","CHARGE"] },
"category": { "type": "string" },
"property_id": { "type": "integer" }
}
}
}What you'll need
The call behind the tool
Authorization: Bearer <your_api_key>
Create a key on your dashboard. Full reference in the API docs.
| Field | Type | Notes |
|---|---|---|
| amount* | number | Dollar amount, e.g. 142.50 |
| type* | enum | INCOME, EXPENSE, or CHARGE |
| category* | enum | RENT, UTILITIES, REPAIRS, INSURANCE, TAXES, … |
| property_id | integer | Which property (optional) |
| unit_id | integer | Specific unit; omit = property-wide |
| transaction_date | string | YYYY-MM-DD; defaults to today |
| reason_description | string | Free-text note for the line |
| status | enum | PAID or UNPAID (default UNPAID; ignored for INCOME) |
* required
Step by step
Give Hermes one job
The tool schema mirrors the API, so Hermes already knows how to fill it in.
Create an API key
Generate one under API keys on your dashboard, and keep it in Hermes’ server-side config — never in a prompt.
Define the tool
Register one tool, add_ledger_entry, with the schema above. Following Hermes’ own tool / function-calling setup, point its handler at your backend.
Forward the call to the API
When Hermes calls the tool, your handler makes a POST /api/v1/ledger with the Bearer header and the tool’s arguments as the JSON body.
Talk to it naturally
Say “log a $340 plumbing repair on Unit 3C,” or send a receipt image. Hermes extracts the amount, picks a category from the allowed list, and calls the tool.
Return the result
Pass the 201 response back so Hermes can confirm “logged $340 to Repairs” — and fix a field if it guessed wrong.
Setup varies by assistant. The tool schema and the API call above are exact; where you register the tool depends on your Hermes setup. See its tool / function-calling docs for that step, or start from our tool-agnostic AI agents guide.
Let Hermes keep your books.
Create a key, wire up one tool, and your assistant logs expenses the moment you mention them.
Other integrations
