POST to /crm/v8/coql with a JSON body containing a select_query field with your COQL statement
COQL uses SQL-like syntax: SELECT field1, field2 FROM Leads WHERE criteria LIMIT n OFFSET m
Join to a related module using dot notation on lookup fields: Deals.Account_Name.name accesses the related account name from a Deals query
Use aggregate functions COUNT, SUM, AVG, MIN, MAX with GROUP BY to produce summary rows
Paginate using OFFSET and LIMIT; iterate until the response info block shows no more records
Validate field API names against the Fields metadata API before constructing queries to avoid silent empty results
Known gotchas
COQL does not support cross-module JOINs in the traditional SQL sense; relationship traversal is limited to the lookup fields defined on the module being queried
The OFFSET-based pagination does not perform well for very large offsets; for full-module exports the Bulk Read API is more appropriate than iterating COQL with high offsets
COQL queries are subject to the same API rate limits as other Zoho CRM REST calls; high-frequency COQL polling will exhaust the daily API credit limit
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp