Lists Desk contacts with optional departmentId or searchStr. Returns contact rows. Use before creating duplicates; targeted lookup uses ZOHODESK_SEARCH_CONTACTS with word parameter.
Generate MCP URLOverview: Lists Desk contacts with optional departmentId or searchStr. Returns contact rows. Use before creating duplicates; targeted lookup uses ZOHODESK_SEARCH_CONTACTS with word parameter through Zoho.
Benefits:
Common Use Cases:
1. CRM Lead Management & Nurturing
AI agents capture, score, and route leads in Zoho CRM, automatically triggering nurture sequences based on engagement and deal stage.
2. Cross-App Workflow Automation
AI agents orchestrate workflows across Zoho's suite � syncing CRM deals with Zoho Projects, invoicing with Zoho Books, and campaigns with Zoho Campaigns.
3. Customer Support Ticket Routing
Automatically triage and assign Zoho Desk tickets based on priority, category, and team workload, with AI-generated response suggestions.
4. Sales Pipeline Analytics
AI agents pull deal data from Zoho CRM to build real-time pipeline dashboards, forecast revenue, and flag stalled opportunities for follow-up.
5. Automated Invoicing & Billing
AI agents generate and send invoices through Zoho Books based on CRM deal closures, track payment status, and send automated reminders for overdue accounts.
PATCHes Desk contact fields such as email or phone. Returns updated JSON. Use after duplicate detection merges; creating new people remains ZOHODESK_CREATE_CONTACT.
Fetches the cash flow statement between dates. Returns operating/investing/financing sections. Use for liquidity reviews; daily AR detail stays in ZOHOBOOKS_LIST_INVOICES.
Updates arbitrary task fields including dates and owners. Returns task JSON. Use for general edits; quick completion presets use ZOHOPROJECTS_COMPLETE_TASK.
Marks a task completed via PUT with status preset. Returns updated task JSON. Use for standups; reopening may require ZOHOPROJECTS_UPDATE_TASK with another status.
Downloads rendered message content for AI summarization. Returns HTML or text payload references. Metadata alone uses ZOHOMAIL_GET_MESSAGE.
Lead discovery using Zoho search. Returns matching leads for criteria like (Annual_Revenue:greater_than:100000). Example word search: "acme". Use when ZOHOCRM_LIST_LEADS would fetch too many rows. Always include criteria, word, email, or phone per API rules. Supports page, per_page, fields, sort_by, and sort_order.
Deletes or deactivates a CRM user depending on org policy. Returns API status JSON. Requires admin scopes. Prefer ZOHOCRM_UPDATE_USER to disable instead of hard delete when available.
Lists project forums/discussions. Returns forum threads. Use for stakeholder comms; tasks remain in ZOHOPROJECTS_LIST_TASKS.
Fetches leave summary for a userId and year. Returns balances and taken days. Applications use ZOHOPEOPLE_APPLY_LEAVE.
Lists job designations/titles. Returns title codes. Pair with employee create/update payloads.
Associates an existing related record with a primary CRM record via PUT. Returns linkage confirmation. Use when both records already exist; otherwise create with ZOHOCRM_CREATE_RECORD. Removing links uses ZOHOCRM_REMOVE_RELATED_RECORD.
Fetches metadata for a single module including permissions and generated type. Returns module JSON. Use after ZOHOCRM_LIST_MODULES for detail. Helps agents confirm API names for custom modules.
Lists unpaid invoices for cash application. Returns balances due per row. Use before ZOHOBOOKS_APPLY_PAYMENT. Overdue-only subsets can use ZOHOBOOKS_GET_OVERDUE_INVOICES.
Lists customer payments with optional customer and date filters. Returns payment rows. Use for reconciliation; recording new money uses ZOHOBOOKS_CREATE_PAYMENT.
Primary ticket index with filters for department, assignee, status, priority, and channel. Returns paginated tickets. Example filters: status=Open&priority=High. Use ZOHODESK_SEARCH_TICKETS when you only have free-text keywords.
Lists tickets assigned to the authenticated agent with Open status preset. Returns ticket rows for personal queues. Use instead of manual assigneeId typing; admins covering queues should use ZOHODESK_LIST_TICKETS.
Deletes a mailing list by listkey. Returns confirmation JSON. Export subscribers first with ZOHOCAMPAIGNS_LIST_CONTACTS.
Lists CRM users filtered by type such as AllUsers or ActiveUsers. Returns user ids and emails. Use for assignment pickers; single-user fetches use ZOHOCRM_GET_USER. Supports page, per_page, and page_token when available.
Returns the authenticated Desk agent profile (/agents/me). Use to learn agentId for self-routing. Contrast with ZOHODESK_GET_AGENT which needs an explicit id parameter.
Loads item/SKU details including rate history pointers. Returns item JSON. Use before deleting or repricing. Catalog browsing uses ZOHOBOOKS_LIST_ITEMS.
Lists sales orders with customer and date filters. Returns SO rows. Example: status=open. Confirm rows via ZOHOINVENTORY_CONFIRM_SALES_ORDER.
Pre-selects Quotes for proposal tracking. Returns quote records. Use Books integration tools if you need invoicing after a quote wins. Supports fields, sort_by, sort_order, page, per_page, page_token, and If_Modified_Since for incremental sync.
Deletes an inventory item when unused. Returns API status. Confirm no open SO/PO lines reference the SKU.
Returns aggregate send stats for a campaignkey. Use after sends complete; open/click detail uses ZOHOCAMPAIGNS_GET_OPEN_RATE.
Deletes a Desk account by id. Returns empty success when supported. Use sparingly—prefer merges. Confirm dependencies with ZOHODESK_GET_ACCOUNT_TICKETS before deletion.
Updates SKU fields like rate or reorder level. Returns item JSON. Stock corrections may need adjustment APIs.
Lists security profiles. Returns profile ids for auditing access templates. Use alongside ZOHOCRM_LIST_ROLES when troubleshooting permission errors. Requires admin settings scopes.
Creates a PO for a vendor with line_items JSON. Returns PO id. Receiving updates stock; bills may post in Books.
Marks a deal Closed Won in one update. Returns updated fields including Stage. Use after verbal agreement; for intermediate stages use ZOHOCRM_UPDATE_DEAL_STAGE. Pair with Books invoicing tools downstream.
Removes a link between a primary record and a related record. Returns delete confirmation JSON. Use during data hygiene; adding links uses ZOHOCRM_ADD_RELATED_RECORD. Requires permissions on both modules.
Pre-selects Cases for support alignment with Desk tickets. Returns case rows. Use Desk tools when the ticket already lives in Zoho Desk. Supports fields, sort_by, sort_order, page, per_page, page_token, and If_Modified_Since for incremental sync.
Pages through Desk accounts with optional searchStr. Returns account rows. Use for company autocomplete; detail lookups use ZOHODESK_GET_ACCOUNT. Supports limit and from pagination params.
Records a customer payment against an invoice in Books. Returns payment allocation JSON. Use after ZOHOBOOKS_GET_UNPAID_INVOICES identifies targets. For standalone payments without invoice context use ZOHOBOOKS_CREATE_PAYMENT.
Lists all modules visible to the credential. Returns API names and singular labels. Use this discovery tool before any generic CRUD. Cached responses help autocomplete module parameters for agents.
Opens a new Desk ticket with subject and optional routing fields. Returns ticket id and thread metadata. Use for escalations from CRM; linking CRM ids may go through custom fields in the cf object JSON string.
Logs hours against a task with date and optional notes. Returns log JSON. Use for billable updates; reporting aggregates use ZOHOPROJECTS_LIST_TIMESHEETS.
Lists comments on a task chronologically. Returns comment JSON. Use before ZOHOPROJECTS_ADD_TASK_COMMENT to avoid duplicates.
Deletes up to the API maximum of records in one call using comma-separated ids. Returns per-id statuses. Use for sandbox cleanup; production deletions should be audited. Single deletes use ZOHOCRM_DELETE_RECORD.
Lists milestones for the project. Returns milestone rows with dates. Use for roadmap views; creation uses ZOHOPROJECTS_CREATE_MILESTONE.
Lists departments for org chart pickers. Returns department ids. Use before ZOHOPEOPLE_ADD_EMPLOYEE Department field validation.
Creates an estimate for a customer with line items JSON. Returns estimate id. Use for quotes prior to ZOHOBOOKS_CONVERT_ESTIMATE_TO_INVOICE. For direct billing skip straight to ZOHOBOOKS_CREATE_INVOICE.
Voids an invoice per Books rules. Returns void status JSON. Use instead of delete when audit trail must remain. Paid invoices may need credit notes instead.
Creates a Zoho Mail contact entry. Returns contact JSON. Use for address book sync; CRM contacts remain in Zoho CRM tools.
Pre-selects Calls for activity analytics and dialer follow-ups. Returns call logs with pagination. Combine with date filters through ZOHOCRM_LIST_ACTIVITIES when you need cross-type timelines. Supports fields, sort_by, sort_order, page, per_page, page_token, and If_Modified_Since for incremental sync.
Lists time logs for the project. Returns log entries. Use before payroll sync; logging new time uses ZOHOPROJECTS_LOG_TIME.
Creates a folder under an account. Returns folder JSON including new id. Use for automation filing rules before ZOHOMAIL_MOVE_MESSAGE.
Account discovery for territory planning. Returns accounts for criteria like (Annual_Revenue:greater_than:500000). Pair with related-record tools after you identify an account id. Always include criteria, word, email, or phone per API rules. Supports page, per_page, fields, sort_by, and sort_order.
Creates an inter-warehouse transfer with line_items. Returns transfer id. Use when redistributing stock; adjustments use ZOHOINVENTORY_LIST_ADJUSTMENTS patterns.
Lists labels/tags defined on the account. Returns label ids for ZOHOMAIL_ADD_LABEL. Unlike folders, labels can overlap on one message.
Creates a new mailing list by name. Returns list metadata including listkey. Deleting mistakes uses ZOHOCAMPAIGNS_DELETE_LIST.
Lists Deals related to a Contact id. Returns deal rows for whitespace coverage checks. Use before outreach to understand active opportunities. Supports fields, page, per_page, and page_token.
Lists projects in a portal with optional status and owner filters. Returns project summaries. Use after ZOHOPROJECTS_LIST_PORTALS; detail uses ZOHOPROJECTS_GET_PROJECT.
Sets isRead=false for follow-up queues. Returns message JSON. Read receipts for auditing use ZOHOMAIL_GET_MESSAGE.
Pre-selects CRM Campaigns (not Zoho Campaigns product). Returns campaign members metadata. Use ZOHOCAMPAIGNS_* tools for mailing-list email marketing. Supports fields, sort_by, sort_order, page, per_page, page_token, and If_Modified_Since for incremental sync.
Lists layouts configured for a module. Returns layout ids and sections. Use when cloning records across layouts or driving ZOHOCRM_CREATE_RECORD with lar_id. Requires settings scopes.
Lists configured tax authorities and rates. Returns tax metadata for invoice line construction. Use when tax-inclusive pricing must be validated.
Closes a ticket then immediately GETs the same id to verify status and timestamps. Returns {close, fetch} object. Use when automations must confirm closure before notifying customers; single-step closing remains ZOHODESK_CLOSE_TICKET.
Shortcut employee lookup by EmailID column. Returns matching rows. Use instead of generic list when only email is known; arbitrary columns still use ZOHOPEOPLE_LIST_EMPLOYEES.
Lists tasks in a project with status, owner, milestone_id, and priority filters. Returns paginated tasks. Example: filter overdue via status. Single-task detail uses ZOHOPROJECTS_GET_TASK.
Lists attachments on a message. Returns filenames and sizes. Use before fetching blobs from the Zoho web UI.
Generic CRM list endpoint for any module API name. Returns rows, info pagination, and more_records flags. Example: module=Invoices with fields=Subject,Status. Use module-specific ZOHOCRM_LIST_* shortcuts when you want guardrails.
Lists shipment packages optionally filtered by salesorder_id. Returns package rows. Pair with ZOHOINVENTORY_LIST_SHIPMENTS for logistics.
Deletes an attachment from a CRM record. Returns 204-style success JSON when applicable. Use after migrating files elsewhere. Listing files first with ZOHOCRM_LIST_ATTACHMENTS avoids deleting wrong binaries.
Records a customer payment that may span multiple invoices via invoices JSON. Returns payment id. Use ZOHOBOOKS_APPLY_PAYMENT when targeting one invoice only. Requires customer_id and payment_mode.
Contact discovery for email or phone matching. Returns contacts; try criteria (Email:equals:user@company.com). Use ZOHOCRM_LIST_CONTACTS when you already know you need a full page scan. Always include criteria, word, email, or phone per API rules. Supports page, per_page, fields, sort_by, and sort_order.
Creates a Books contact (customer or vendor). Returns contact id JSON. Use before invoicing a new client. For vendors only, ZOHOBOOKS_LIST_VENDORS helps dedupe before create.
Fetches Desk account details by id. Returns account JSON with associations. Use before updates; listing many accounts should use ZOHODESK_LIST_ACCOUNTS with searchStr.
Fetches a Desk contact by id. Returns contact JSON. Use before ticket creation to confirm email; searching unknowns should call ZOHODESK_SEARCH_CONTACTS.
Runs profit and loss between from_date and to_date. Returns revenue and expense breakdown. Use for management reporting; balance sheet positions use ZOHOBOOKS_GET_BALANCE_SHEET.
Updates subscriber fields via contactinfo JSON for a listkey. Returns update status. Adding new emails still flows through ZOHOCAMPAIGNS_ADD_CONTACT.
Lists available Desk analytics reports by type parameter. Returns metadata for BI exports. Use when leadership requests dashboards; detailed ticket facts still come from ZOHODESK_LIST_TICKETS.
Submits a leave application for the authenticated or specified user scope. Returns workflow JSON. Use after ZOHOPEOPLE_LIST_LEAVE_TYPES; balances use ZOHOPEOPLE_LIST_LEAVES.
Pre-selects Vendors for procurement alignment. Returns vendor rows. Use ZOHOBOOKS_LIST_VENDORS when financial vendor master data is in Books. Supports fields, sort_by, sort_order, page, per_page, page_token, and If_Modified_Since for incremental sync.
Lists configured leave types and ids. Returns JSON for ZOHOPEOPLE_APPLY_LEAVE. Balances use ZOHOPEOPLE_LIST_LEAVES.
Creates a draft message with isDraft preset in the JSON body. Returns draft id. Use before ZOHOMAIL_LIST_DRAFTS locates folder ids.
Task discovery for workload queries. Returns tasks; example criteria (Status:not_equal:Completed). Use ZOHOCRM_GET_OPEN_TASKS for the preset incomplete filter. Always include criteria, word, email, or phone per API rules. Supports page, per_page, fields, sort_by, and sort_order.
Lists users associated with the project. Returns ids for assignment fields. Use before ZOHOPROJECTS_CREATE_TASK owner selection.
Updates only the Stage field on a deal id. Returns updated record JSON. Use for quick pipeline moves; closing states should use ZOHOCRM_CLOSE_WON_DEAL or ZOHOCRM_CLOSE_LOST_DEAL presets.
Fetches audit/history entries for a ticket id. Returns field-level change logs. Use during disputes; operational updates should still go through ZOHODESK_UPDATE_TICKET.
Marks an invoice as sent without emailing through this call. Returns status JSON. Use when PDFs were delivered offline. Customer email blasts use ZOHOBOOKS_SEND_INVOICE.
Lists field definitions for a module including data types and picklists. Returns metadata for building integrations. Use before ZOHOCRM_CREATE_RECORD to learn API names. Pair with ZOHOCRM_LIST_LAYOUTS for UI placement.
Completes a task then GETs the same task to verify status. Returns {update,fetch}. Use when integrations must confirm completion before notifying Slack; single-step completion uses ZOHOPROJECTS_COMPLETE_TASK.
Lists vendor bills inside Inventory org. Returns bill rows. Deep accounting may mirror Zoho Books.
Updates project metadata like description or owner. Returns project JSON. Use after ZOHOPROJECTS_GET_PROJECT; deleting uses ZOHOPROJECTS_DELETE_PROJECT.
Lists attachments on a ticket. Returns metadata prior to download via Desk UI or storage export. Use before ZOHODESK_ADD_TICKET_ATTACHMENT to avoid duplicates.
Preset COQL for leads created in the last N days. Returns Last_Name, Email, Company, Created_Time. Use for nurture queues; for arbitrary filters compose ZOHOCRM_COQL_QUERY manually. Default window is seven days.
Creates a product or service item with rate. Returns item id JSON. Use before referencing SKUs on invoices. Bulk catalog imports may prefer sheet import in Books UI.
Lists tickets tied to an account id. Returns ticket summaries. Use during churn reviews; combine with ZOHODESK_GET_TICKET for detail. Supports status filters when passed as query.
Searches Calls scheduled for the current UTC day using dynamic criteria. Returns call rows for daily standups. Adjust timezone by editing criteria manually via ZOHOCRM_SEARCH_CALLS. Uses server date at invocation time.
Lists subscription topics for preference centers. Returns topic ids for ZOHOCAMPAIGNS_ADD_CONTACT_TO_TOPIC.
Call log discovery for activity audits. Returns calls with optional criteria on Call_Start_Time. Use ZOHOCRM_LIST_CALLS when exporting paginated call lists without criteria. Always include criteria, word, email, or phone per API rules. Supports page, per_page, fields, sort_by, and sort_order.
Searches any CRM module using criteria, word, email, or phone parameters. Returns matching rows with pagination info. Example criteria: (Email:equals:ops@example.com). Use module-specific ZOHOCRM_SEARCH_* tools for guided defaults.
Returns open-rate analytics for a campaignkey. Use for subject line experiments; clicks add ZOHOCAMPAIGNS_GET_CLICK_RATE.
Generic CRM record creator accepting record_json as a JSON string of field API values. Returns standard data response. Use focused tools like ZOHOCRM_CREATE_LEAD when you want guided fields. Validate module names via ZOHOCRM_LIST_MODULES.
Lists catalog items with optional search_text. Returns SKU rows. Use before building invoice line_items JSON. Low-level stock counts may live in Zoho Inventory instead.
Pre-selects Products for catalog and CPQ lookups. Returns product rows. Use ZOHOCRM_LIST_RECORDS with a custom module if your SKU data lives outside standard Products. Supports fields, sort_by, sort_order, page, per_page, page_token, and If_Modified_Since for incremental sync.
Applies an existing label to a message via PUT. Returns updated message JSON. Discover label ids with ZOHOMAIL_LIST_LABELS first.
Deletes a ticket permanently when policy allows. Returns 204 JSON wrapper. Use only after backups; most workflows should close instead via ZOHODESK_CLOSE_TICKET.
Updates bug fields such as severity or assignee. Returns bug JSON. Use during triage; creation remains ZOHOPROJECTS_CREATE_BUG.
PATCHes mutable fields on a Desk account. Returns updated JSON. Use for website/phone corrections; deleting uses ZOHODESK_DELETE_ACCOUNT.
Do I need my own developer credentials to use Zoho MCP with Adopt AI?
No, you can get started immediately using Adopt AI's built-in Zoho integration. For production use, we recommend configuring your own API credentials for greater control and security.
Can I connect Zoho with other apps through Adopt AI?
Yes! Adopt AI supports multi-app workflows, so your AI agents can seamlessly move data between Zoho and CRMs, spreadsheets, messaging platforms, and more.
Is Adopt AI secure?
Absolutely. Adopt AI is SOC 2 Type 2 certified and ISO/IEC 27001 compliant, and adheres to EU GDPR, CCPA, and HIPAA standards. All data is encrypted in transit and at rest, ensuring the confidentiality, integrity, and availability of your data. Learn more here.
What happens if the Zoho API changes?
Adopt AI maintains and updates all integrations automatically, so your agents always work with the latest API versions, no manual maintenance required.
Do I need coding skills to set up the Zoho integration?
Not at all. Adopt AI's zero-shot API discovery means your agents understand Zoho's schema on first contact. Setup takes minutes with no code required.
How do I set up custom Zoho MCP in Adopt AI?
For a step-by-step guide on creating and configuring your own Zoho API credentials with Adopt AI, see here.