Get organization (yekar.zoho-crm.get-organization) | Read | The Zoho CRM organization this connection points at - company name, primary email, country, time zone, currency, edition and the org id (zgid). The cheapest way to confirm the connection works and that the Data centre setting matches the org you meant. To see WHICH Zoho user the connection acts as, use List users with type CurrentUser. |
List modules (yekar.zoho-crm.list-modules) | Read | Every module in this Zoho CRM org - the standard ones (Leads, Contacts, Accounts, Deals…) and any custom modules - with the exact case-sensitive API name each record tool needs, plus whether the module is creatable, editable and deletable. This is the discovery path: module API names are not guessable, custom modules have org-specific ones, and even standard modules can be renamed. |
List fields (yekar.zoho-crm.list-fields) | Read | Every field on a module with its exact API name, data type, whether it is read-only or mandatory, its picklist values, and for lookup fields the module an id must come from. Call this before writing a record: field API names are case-sensitive and org-specific, writing a read-only field is rejected, and a picklist only accepts values from its own list. |
List users (yekar.zoho-crm.list-users) | Read | Users in this Zoho CRM org with their role, profile and status - the ids that record Owner fields and assignment take. Pass type CurrentUser to find out which Zoho user this connection itself acts as, whose profile is the permission ceiling for every tool here. |
List records (yekar.zoho-crm.list-records) | Read | A page of records from any module - standard or custom - with cursor or page-number paging. Ask for the fields you need; Zoho returns a default set otherwise. This endpoint reports no total: use Query records with COUNT() to count, or Search records to filter by field values. |
Get record (yekar.zoho-crm.get-record) | Read | One record by id from any module, with its fields as Zoho types them - numbers stay numbers, and a lookup field comes back as an id plus a display name. Reads live data, so unlike Search records it sees a record created a moment ago. |
Search records (yekar.zoho-crm.search-records) | Read | Find records in a module by criteria expression, email, phone or free text. Exactly one of those four is used per call, in that priority order. Note two things this tool cannot do: it reports no total (use Query records with COUNT), and it reads a lagging search index, so a just-written record may not appear yet - Query records and Get record read live data. |
Query records (yekar.zoho-crm.query-records) | Read | Run a COQL SELECT against this org's CRM data - the most precise read here, and the only one that can COUNT. Supports WHERE with and/or, joins across lookup fields, ORDER BY, LIMIT/OFFSET, and the aggregates COUNT, SUM, AVG, MIN and MAX with GROUP BY. Reads live data, so it is also the reliable way to confirm a record that was just written. Read-only: COQL has no INSERT, UPDATE or DELETE. |
List related records (yekar.zoho-crm.list-related-records) | Read | The records linked to one record through a named related list - a contact's Deals, an account's Contacts, any record's Notes or Tasks. The related list API names are per-module; the module metadata in Zoho lists them, and the common ones are Notes, Attachments, Tasks, Contacts, Deals and Products. |
List deleted records (yekar.zoho-crm.list-deleted-records) | Read | Records deleted from a module, who deleted them and when, and whether each is still in the Recycle Bin or has been permanently purged. Use this to confirm a delete landed, or to find a record that has gone missing before concluding it never existed. Returns a slim entry per deletion, not the record's fields - Zoho does not serve those once deleted. |
Create records (yekar.zoho-crm.create-records) | Write | Create up to 100 records in one module. Zoho reports the outcome PER RECORD, so a partly-valid batch returns some ids and some failures with their reasons - read the counts, not just the absence of an error. Records are created as the Zoho user this connection acts as. Not idempotent: calling twice creates two sets of records; use Upsert records when re-running must not duplicate. |
Update records (yekar.zoho-crm.update-records) | Write | Update up to 100 records in one module by id. This is a partial update: only the fields you send change, and sending null clears one. Zoho reports the outcome PER RECORD, so a partly-valid batch returns some successes and some failures with their reasons - read the counts. Records are stamped as modified by the Zoho user this connection acts as. |
Upsert records (yekar.zoho-crm.upsert-records) | Write | Insert up to 100 records, updating any that already match on the duplicate-check fields instead of creating a second copy. Each result says which branch Zoho took - insert or update - so a re-run is visible rather than assumed. This is the tool to use when an automation may run more than once over the same data; Create records would duplicate. |
Delete records (yekar.zoho-crm.delete-records) | Write | Delete up to 100 records from a module by id. This moves them to the Zoho Recycle Bin, where they remain restorable from the Zoho CRM UI - it does not erase them, and this integration has no tool that does. A record's notes and attachments go with it. Zoho reports the outcome per record, so a batch containing an unknown id returns that failure alongside the successes. |
Create note (yekar.zoho-crm.create-note) | Write | Attach a note to a record in any module. Notes are visible to everyone who can see the record - this is not a private annotation. Authored as the Zoho user this connection acts as. Not idempotent: calling twice leaves two notes, so re-run it only when a duplicate note is acceptable. |
Convert lead (yekar.zoho-crm.convert-lead) | Write | Convert a Lead into a Contact and an Account, optionally creating a Deal at the same time. This is irreversible - the Lead ceases to exist as a Lead and there is no undo, in this integration or in Zoho. Existing Contact and Account ids can be supplied to merge into them rather than creating duplicates. |