zoho_crm_records_write
Create, update, upsert, or delete up to 100 Zoho CRM records per call and attach notes, returning per-record success or error details for partial failures.
Instructions
Create, update, upsert or delete records in the connected Zoho CRM (leads, contacts, deals, accounts, custom modules), up to 100 per call, and add notes. Records use Zoho field API names, e.g. { "Last_Name": "Smith", "Email": "a@b.com", "Lead_Status": "New" }; picklist values must match exactly (integrations_read zoho_fields). The result has one entry per record (success, id, or the Zoho error code and field), so partial failures are visible. delete moves records to the Zoho recycle bin; confirm with the user before deleting or bulk-updating. Actions: create — create records Needs: records. | update — update records by id (only the fields given change) Needs: records. | upsert — insert or update by duplicateCheckFields; each result says insert or update Needs: records. | delete — delete records (confirm first) Needs: recordIds. | add_note — attach a note to a record Needs: recordId, title, content.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | compact (default) = light mode: long text is cut and bulky blobs are replaced by a size marker. full = complete API response. | |
| orgId | No | Optional organization scope. | |
| title | No | For add_note. | |
| action | Yes | ||
| content | No | For add_note. | |
| records | No | For create / update / upsert: up to 100 records. update needs "id" on each record. | |
| recordId | No | For add_note: the record to attach the note to. | |
| recordIds | No | For delete: up to 100 record ids. | |
| connectionId | No | Zoho connection id. Optional when the workspace has only one Zoho account. | |
| moduleApiName | Yes | Zoho module API name: Leads, Contacts, Accounts, Deals, or a custom module (see integrations_read zoho_modules). | |
| triggerWorkflow | No | Run the Zoho workflow rules on this change (default true). | |
| duplicateCheckFields | No | For upsert: fields that identify an existing record, e.g. ["Email"]. Default: the module's own duplicate check. |