Skip to content
TriedDocs
Integrations

Zoho CRM

Upsert Zoho CRM contacts by phone with a call note after every call, and let agents create contacts during the conversation.

Zoho CRM supports CRM sync and an integration app with a create_contact action.

Connect#

OAuth Needs keys#

Press Connect on the Zoho card. Tried requests ZohoCRM.modules.ALL,ZohoCRM.settings.fields.READ,ZohoCRM.users.READ with offline access. The API domain for your data centre is taken from the token response. The deployment needs ZOHO_OAUTH_CLIENT_ID and ZOHO_OAUTH_CLIENT_SECRET.

Accounts outside the US data centre: start the flow with the API and set options.accounts_url to your accounts host, for example https://accounts.zoho.com.au. See OAuth connections.

Access token#

Credential Required Description
access_token Yes Zoho OAuth access token
api_domain No API host. Default https://www.zohoapis.com

Requests send Authorization: Zoho-oauthtoken <token>. POST /test-crm-auth/zoho reads the current user.

Contact sync#

Requests use the CRM API v6.

  1. POST /crm/v6/Contacts/upsert with duplicate_check_fields: ["Phone"], so repeat callers update one contact.
  2. POST /crm/v6/Contacts/{id}/Notes with Note_Title and Note_Content.
Zoho field Value
Last_Name Contact last name, else first name, else phone number
First_Name Contact first name
Email Contact email
Phone Contact phone number
Mapped fields From field_mapping

Default fields shown in mock mode: First_Name, Last_Name, Email, Phone, Description. With credentials, GET /get-crm-schema/zoho reads the Contacts module fields.

Agent functions#

Action Arguments Output
zoho.create_contact phone (required), first_name, last_name, email {"contact": {"id": "<record id>"}}

Mock mode#

Without credentials, operations are recorded and return ids like mock_zoho_2d7f1b5e9a3c.