| name | zoho-books |
| description | Zoho Books: manage chart of accounts, journal entries, contacts, invoices, bills, expenses, payments, projects, time entries. Permission-gated. Use when an agent needs zoho books, list organizations, list chart of accounts, create journal entries, import bank statements, bank get matching transactions, organization id, record id through AgentPMT-hosted remote tool calls. Discovery terms: zoho books, list organizations, list chart of accounts, create journal entries, import bank statements. |
| version | 1.0.0 |
| homepage | https://www.agentpmt.com/marketplace/zoho-books |
| compatibility | Agent instructions for AgentPMT-hosted remote tool calls. Follow this skill body for supported account, wallet, and setup routes. No local command runtime is declared. |
| metadata | {"author":"agentpmt","openclaw":{"homepage":"https://www.agentpmt.com/marketplace/zoho-books"}} |
Zoho Books
Freshness
Last updated: 2026-06-24.
If the current date is more than 7 days after the last updated date, reinstall this skill from skills.sh or ClawHub before relying on endpoints, schemas, setup steps, or examples.
What This Tool Does
Access Zoho Books with OAuth to list organizations and manage core accounting resources such as chart of accounts, journal entries, contacts, items, invoices, estimates, credit notes, bills, expenses, payments, projects, tasks, and time entries. Includes explicit invoice status and bank reconciliation actions with permission gating and supports organization-scoped queries.
Product Instructions
Zoho Books
Actions
Use describe_action with action_to_describe to get the full schema for any action.
Supported Resources
contacts, items, invoices, estimates, creditnotes, chartofaccounts, journals, bankaccounts, banktransactions, bankstatements, bills, expenses, vendorcredits, customerpayments, vendorpayments, projects, tasks, time_entries
Note: tasks requires project_id. bankstatements only supports create_record.
Pagination
List responses default to 25 records per page. Use per_page (max 200) and page in query_params to control pagination. Check the page_context object in the response for has_more_page.
Tool Call Format
List Organizations
{
"action": "list_organizations"
}
List Records
{
"action": "list_records",
"resource": "invoices",
"organization_id": "YOUR_ORG_ID",
"query_params": {
"page": 1,
"per_page": 25
}
}
Get Record
{
"action": "get_record",
"resource": "contacts",
"organization_id": "YOUR_ORG_ID",
"record_id": "460000000026049"
}
Create Record
{
"action": "create_record",
"resource": "contacts",
"organization_id": "YOUR_ORG_ID",
"payload": {
"contact_name": "Bowman & Co"
}
}
Update Record
{
"action": "update_record",
"resource": "contacts",
"organization_id": "YOUR_ORG_ID",
"record_id": "460000000026049",
"payload": {
"contact_name": "Bowman & Co (Updated)"
}
}
Delete Record
{
"action": "delete_record",
"resource": "invoices",
"organization_id": "YOUR_ORG_ID",
"record_id": "460000000026049"
}
Invoice - Mark as Sent
{
"action": "invoice_mark_sent",
"organization_id": "YOUR_ORG_ID",
"record_id": "460000000026049"
}
Invoice - Mark as Void
{
"action": "invoice_mark_void",
"organization_id": "YOUR_ORG_ID",
"record_id": "460000000026049"
}
Invoice - Mark as Draft
{
"action": "invoice_mark_draft",
"organization_id": "YOUR_ORG_ID",
"record_id": "460000000026049"
}
Invoice - Send Email
{
"action": "invoice_email",
"organization_id": "YOUR_ORG_ID",
"record_id": "460000000026049",
"payload": {
"to_mail_ids": ["customer@example.com"],
"subject": "Invoice from Your Company",
"body": "Please find the invoice attached."
}
}
Bank - Get Matching Transactions
{
"action": "bank_get_matching_transactions",
"organization_id": "YOUR_ORG_ID",
"record_id": "460000000026049"
}
Bank - Match Transaction
{
"action": "bank_match_transaction",
"organization_id": "YOUR_ORG_ID",
"record_id": "460000000026049",
"payload": {
"transactions_to_be_matched": [
{"transaction_id": "460000000026050", "transaction_type": "invoice"}
]
}
}
Bank - Unmatch Transaction
{
"action": "bank_unmatch_transaction",
"organization_id": "YOUR_ORG_ID",
"record_id": "460000000026049"
}
Describe Action
{
"action": "describe_action",
"action_to_describe": "list_records"
}
Tasks (requires project_id)
{
"action": "list_records",
"resource": "tasks",
"organization_id": "YOUR_ORG_ID",
"project_id": "460000000030001"
}
Permissions
Write actions require the corresponding permission in the permissions array:
create_record requires add
update_record, invoice_mark_sent, invoice_mark_void, invoice_mark_draft, invoice_email, bank_match_transaction, bank_unmatch_transaction require edit
delete_record requires delete
- Combine exact scopes as needed, such as
[read, edit] for read plus update access.
- If
permissions is omitted, Zoho Books defaults to read-only access.
When To Use
- Use this skill for
Zoho Books on AgentPMT.
- Use it when an agent needs this specific tool's behavior, schema, inputs, outputs, and invocation shape.
- Search and activation keywords: zoho books, list organizations, list chart of accounts, create journal entries, import bank statements, bank get matching transactions, organization id, record id.
- Supported action names:
bank_get_matching_transactions, bank_match_transaction, bank_unmatch_transaction, create_record, delete_record, describe_action, get_record, invoice_email, invoice_mark_draft, invoice_mark_sent, invoice_mark_void, list_organizations, list_records, update_record.
Use Cases
- List organizations
- List chart of accounts
- Create journal entries
- Import bank statements
- Match bank transactions
- Sync contacts
- Create invoices
- Update invoice status
- Email invoices
- Track expenses
Categories And Industries
No categories or industry tags are published for this tool.
Actions And Schema
Complete generated action schema: ./schema.md.
Supported action count: 14.
x402 availability: not enabled for this product.
bank_get_matching_transactions (action slug: bank-get-matching-transactions): Find existing transactions that could match an uncategorized bank transaction. Price: 5 credits. Parameters: organization_id, query_params, record_id.
bank_match_transaction (action slug: bank-match-transaction): Match an uncategorized bank transaction to one or more existing transactions. Requires 'edit' permission. Price: 5 credits. Parameters: organization_id, payload, query_params, record_id.
bank_unmatch_transaction (action slug: bank-unmatch-transaction): Remove the match from a previously matched bank transaction. Requires 'edit' permission. Price: 5 credits. Parameters: organization_id, query_params, record_id.
create_record (action slug: create-record): Create a new record for a given resource type. Requires 'add' permission. The bankstatements resource only supports this action (used to import statements). Price: 5 credits. Parameters: organization_id, payload, project_id, query_params, resource.
delete_record (action slug: delete-record): Delete a record. Requires 'delete' permission. Price: 5 credits. Parameters: organization_id, project_id, query_params, record_id, resource.
describe_action (action slug: describe-action): Get the detailed parameter schema for any action. Useful for discovering required and optional fields. Price: 5 credits. Parameters: action_to_describe.
get_record (action slug: get-record): Retrieve a single record by its ID. Price: 5 credits. Parameters: organization_id, project_id, query_params, , .
Live Schema And Examples
Use the compact schema above for ordinary calls. Before a new production integration, or whenever parameters, enum values, nested objects, outputs, or examples are unclear, fetch live details first.
- Exact schema: call
agentpmt-tool-search-and-execution with action: "get_schema", and tool_id: "zoho-books".
- Detailed examples: call
agentpmt-tool-search-and-execution with action: "get_instructions" and tool_id: "zoho-books", or call this product with action: "get_instructions" when the product tool is already selected.
- Treat returned live schema and instructions as more specific than this generated summary.
MCP schema lookup through the main AgentPMT MCP server:
{
"method": "tools/call",
"params": {
"name": "AgentPMT-Tool-Search-and-Execution",
"arguments": {
"action": "get_schema",
"tool_id": "zoho-books"
}
}
}
For live examples, keep the same MCP tool and use these arguments:
{
"action": "get_instructions",
"tool_id": "zoho-books"
}
Authenticated AgentPMT REST schema lookup body:
{
"name": "agentpmt-tool-search-and-execution",
"parameters": {
"action": "get_schema",
"tool_id": "zoho-books"
}
}
Authenticated AgentPMT REST live examples body:
{
"name": "agentpmt-tool-search-and-execution",
"parameters": {
"action": "get_instructions",
"tool_id": "zoho-books"
}
}
Call This Tool
Product slug: zoho-books
Marketplace page: https://www.agentpmt.com/marketplace/zoho-books
- AgentPMT account route: first use
../agentpmt-account-mcp-rest-api-setup to connect the main MCP server or REST API for an Agent Group where this tool is enabled.
- x402 route: not enabled for this product.
- AgentPMT overview: use
../what-is-agentpmt for marketplace, Agent Group, workflow, MCP, REST, and payment concepts.
If those setup skills are not installed beside this product skill, use the downloads below.
Core AgentPMT setup skills:
- What AgentPMT is: ../what-is-agentpmt
- AgentPMT account MCP/REST setup: ../agentpmt-account-mcp-rest-api-setup
skills.sh install script:
npx skills add AgentPMT/agent-skills --skill what-is-agentpmt
npx skills add AgentPMT/agent-skills --skill agentpmt-account-mcp-rest-api-setup
MCP call shape after the main AgentPMT MCP server is connected:
{
"method": "tools/call",
"params": {
"name": "Zoho-Books",
"arguments": {
"action": "bank_get_matching_transactions",
"organization_id": "example organization id",
"query_params": {},
"record_id": "example record id"
}
}
}
Use the exact tool name returned by tools/list; the name above is the expected readable form.
Authenticated AgentPMT REST call body:
{
"name": "zoho-books",
"parameters": {
"action": "bank_get_matching_transactions",
"organization_id": "example organization id",
"query_params": {},
"record_id": "example record id"
}
}
Use the setup skill for the account connection details before making REST calls.
Response Handling
- Treat the returned JSON as the source of truth for this tool call.
- If the response includes warnings or correction targets, apply them before retrying.
- If the response includes a
passed or success-style boolean, use it as the workflow gate.
- If validation fails or the response shape is unclear, call
get_schema or get_instructions before retrying.
- If
bank_get_matching_transactions fails, preserve the request parameters and retry only after fixing schema, auth, or payment errors.
Security
- Do not place account secrets, wallet private keys, mnemonics, signatures, or payment headers in prompts or logs.
- Keep tool inputs scoped to the minimum content needed for the task.
- Use the setup skills for credential handling; this product skill only defines product-specific behavior.
AgentPMT Reference