Zoho

Learn how to use Zoho with Composio

Overview

SLUG: ZOHO

Description

Zoho is a suite of cloud applications including CRM, email marketing, and collaboration tools, enabling businesses to automate and scale operations

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to ZohoCRM.modules.ALL,ZohoCRM.settings.ALL,ZohoCRM.notifications.ALL,ZohoCRM.users.ALL
region
stringDefaults to comRequired

Connecting to Zoho

Create an auth config

Use the dashboard to create an auth config for the Zoho toolkit. This allows you to connect multiple Zoho accounts to Composio for agents to use.

1

Select App

Navigate to Zoho.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Zoho Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4zoho_auth_config_id = "ac_YOUR_ZOHO_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Zoho: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, zoho_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Zoho toolkit’s playground

For code examples, see the Tool calling guide and Provider examples.

Tool List

Tool Name: Convert Zoho CRM Lead

Description

Converts a lead into a contact, account, and optionally a deal in Zoho CRM.

Action Parameters

account_id
string
assign_to
string
contact_id
string
lead_id
stringRequired
notify_lead_owner
boolean
notify_new_entity_owner
boolean
overwrite
boolean

Action Response

data
arrayRequired
error
response_data
object
successful
booleanRequired

Tool Name: Create Zoho CRM Record

Description

Creates new records in a specified module in Zoho CRM.

Action Parameters

data
arrayRequired
lar_id
module_api_name
stringRequired
trigger

Action Response

data
arrayRequired
error
info
objectRequired
response_data
successful
booleanRequired

Tool Name: Create Zoho CRM Tag

Description

Creates new tags in Zoho CRM.

Action Parameters

color_code
stringDefaults to #F48435
module_api_name
stringRequired
name
stringRequired

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Zoho CRM Module Fields Metadata

Description

Retrieves field metadata for a Zoho CRM module including API names, data types, permissions, and configuration details. Use this tool to discover correct field names and types before creating or updating records, avoiding INVALID_DATA errors. Returns information about standard fields, custom fields, lookup fields, picklist options, and field-level permissions.

Action Parameters

field_unique_id
include
module_api_name
stringRequired
type

Action Response

data
objectRequired
error
successful
booleanRequired

Tool Name: Get Zoho CRM Records

Description

Retrieves records from a specified module in Zoho CRM. Notes: - Discrete (page/per_page) pagination is limited to the first 2,000 records. To retrieve records beyond this, use token-based pagination via page_token from the previous response's info.next_page_token. - Do not use page together with page_token. - You cannot use cvid together with sort_by.

Action Parameters

cvid
integer
fields
stringDefaults to First_Name,Last_Name,Email,Phone,Company
ids
string
module_api_name
stringRequired
page
integerDefaults to 1
page_token
per_page
integerDefaults to 200
sort_by
stringDefaults to Modified_Time
sort_order
stringDefaults to desc

Action Response

composio_execution_message
data
arrayRequired
error
info
objectRequired
response_data
object
successful
booleanRequired

Tool Name: Search Zoho CRM Records

Description

Search for records within a Zoho CRM module using server-side queries. Use when you need to find specific records by criteria, email, phone, or keyword instead of listing all records. This avoids pagination limits and performs efficient server-side filtering.

Action Parameters

criteria
email
fields
module_api_name
stringRequired
page
integerDefaults to 1
per_page
integerDefaults to 200
phone
word

Action Response

data
array
error
info
object
response_data
object
successful
booleanRequired

Tool Name: Update Zoho CRM Record

Description

Updates existing records in a specified module in Zoho CRM.

Action Parameters

data
arrayRequired
lar_id
string
module_api_name
stringRequired
trigger
string
wf_trigger
boolean

Action Response

data
arrayRequired
error
info
objectRequired
response_data
object
successful
booleanRequired