> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openmic.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoho CRM Integration

> Connect your OpenMic assistant to Zoho CRM to manage leads, contacts, events, notes, and search records without leaving the call.

The **Zoho CRM** integration lets your OpenMic agents manage leads, contacts, events, notes, and search records directly from live conversations. After connecting Zoho CRM, you can add custom functions to your agents to handle a wide range of CRM operations.

***

## Prerequisites

Before you connect Zoho CRM, make sure you have:

1. **An active Zoho CRM account** with API access.
2. **An OpenMic account** with at least one agent created.
3. Access to the **OpenMic Dashboard** to manage integrations and custom functions.

***

## Step 1: Connect Zoho CRM

1. In the [OpenMic Dashboard](https://app.openmic.ai), go to **Integrations**.
2. Find the **Zoho CRM** card.
3. Click **Connect** and complete the Zoho CRM authorization flow.
4. When successful, the card will show **Connected**.

<Frame caption="Connect Zoho CRM Integration">
  <img src="https://mintcdn.com/openmic-ea75a20d/SvKkq3gOgnmrdZ0R/images/agents/integrations/zohoCrm/zohocrm-connect.png?fit=max&auto=format&n=SvKkq3gOgnmrdZ0R&q=85&s=33a1fca3e3a0b615e96a411d9923dc6c" alt="Connect Zoho CRM integration" width="928" height="514" data-path="images/agents/integrations/zohoCrm/zohocrm-connect.png" />
</Frame>

***

## Step 2: Add Zoho CRM Functions to an Agent

1. Go to **Dashboard → Simple Agents**.
2. Select the agent you want to configure.
3. Open the **Custom Functions** tab and click **Add Function**.
4. Add the Zoho CRM functions you need (see details for each below).
5. Click **Create Function** to save each selection.

<Frame caption="Available Zoho CRM Functions">
  <img src="https://mintcdn.com/openmic-ea75a20d/uRMowegKjItN_b9M/images/agents/integrations/zohoCrm/zohocrm-all-functions.png?fit=max&auto=format&n=uRMowegKjItN_b9M&q=85&s=379617f1fe446417d31e84587ad04ac2" alt="All available Zoho CRM functions" width="1586" height="758" data-path="images/agents/integrations/zohoCrm/zohocrm-all-functions.png" />
</Frame>

***

## Available Functions

### Lead Get

Look up existing leads in Zoho CRM by phone number or email. The agent can use the caller's session phone number by default.

* **Function Name**: `zohocrm_lookup_lead`
* **Search Type** (required): Phone Number or Email
* **Use caller's session phone number by default**: When checked, the agent automatically uses the best phone number provided by the caller.

### Lead Create

Create a new lead in Zoho CRM when one is not found.

* **Function Name**: `create_zohocrm_lead`
* **Lead Owner**: Optionally assign the lead to a specific owner. If not selected, defaults to the authenticated user.
* **Use caller's session phone number by default**: When checked, the agent automatically uses the best phone number provided by the caller.

<Frame caption="Add Zoho CRM Functions">
  <img src="https://mintcdn.com/openmic-ea75a20d/SvKkq3gOgnmrdZ0R/images/agents/integrations/zohoCrm/zohocrm-add%20-fcuntions.png?fit=max&auto=format&n=SvKkq3gOgnmrdZ0R&q=85&s=3a70bb5a887f87d60c4568c09a262f1b" alt="Adding Zoho CRM custom functions" width="1100" height="1128" data-path="images/agents/integrations/zohoCrm/zohocrm-add -fcuntions.png" />
</Frame>

***

### Contact Get

Retrieve contact information from Zoho CRM by phone number or email.

* **Function Name**: `zohocrm_lookup_contact`
* **Search Type** (required): Phone Number or Email
* **Use caller's session phone number by default**: When checked, the agent automatically uses the best phone number provided by the caller.

<Frame caption="Zoho CRM Contact Get">
  <img src="https://mintcdn.com/openmic-ea75a20d/uRMowegKjItN_b9M/images/agents/integrations/zohoCrm/zohocrm-contact-get.png?fit=max&auto=format&n=uRMowegKjItN_b9M&q=85&s=05eb60ca571ff40f7c90fab4c9dcd1d0" alt="Zoho CRM Contact Get function configuration" width="1158" height="1040" data-path="images/agents/integrations/zohoCrm/zohocrm-contact-get.png" />
</Frame>

### Contact Create

Create a new contact in Zoho CRM.

* **Function Name**: `create_zohocrm_contact`
* **Contact Owner**: Optionally assign the contact to a specific owner. If not selected, defaults to the authenticated user.
* **Use caller's session phone number by default**: When checked, the agent automatically uses the best phone number provided by the caller.

<Frame caption="Zoho CRM Contact Create">
  <img src="https://mintcdn.com/openmic-ea75a20d/uRMowegKjItN_b9M/images/agents/integrations/zohoCrm/zohocrm-contact-create.png?fit=max&auto=format&n=uRMowegKjItN_b9M&q=85&s=a4567b8c647c762fa16b2cca50906760" alt="Zoho CRM Contact Create function configuration" width="1076" height="994" data-path="images/agents/integrations/zohoCrm/zohocrm-contact-create.png" />
</Frame>

***

### Event Get

Retrieve event information from Zoho CRM.

* **Function Name**: `zohocrm_lookup_event`
* **Ask User for Timezone**: When enabled, the agent will ask the caller for their timezone. When disabled, uses the business timezone directly.
* **Don't Allow Double Booking**: Prevent booking events if there are conflicting events at the same time.

<Frame caption="Zoho CRM Event Get">
  <img src="https://mintcdn.com/openmic-ea75a20d/uRMowegKjItN_b9M/images/agents/integrations/zohoCrm/zohocrm-event-get.png?fit=max&auto=format&n=uRMowegKjItN_b9M&q=85&s=da167887ce491fbb12ffba5e108e57bf" alt="Zoho CRM Event Get function configuration" width="1064" height="924" data-path="images/agents/integrations/zohoCrm/zohocrm-event-get.png" />
</Frame>

### Event Create

Create a new event/meeting in Zoho CRM.

* **Function Name**: `create_zohocrm_event`
* **Meeting Duration** (required): Choose from 15 minutes, 30 minutes, 45 minutes, 1 hour, 1.5 hours, 2 hours, 3 hours, or 4 hours.
* **Participant Type**: Whether to link events to Leads or Contacts.
* **Event Host/Owner**: Optionally assign the event to a specific owner. If not selected, defaults to the authenticated user.
* **Don't Allow Double Booking**: Prevent booking events if there are conflicting events at the same time.

<Frame caption="Zoho CRM Event Create">
  <img src="https://mintcdn.com/openmic-ea75a20d/uRMowegKjItN_b9M/images/agents/integrations/zohoCrm/zohocrm-event-create.png?fit=max&auto=format&n=uRMowegKjItN_b9M&q=85&s=18e71d9ca0361f608d433f4e79a0f87e" alt="Zoho CRM Event Create function configuration" width="1076" height="1418" data-path="images/agents/integrations/zohoCrm/zohocrm-event-create.png" />
</Frame>

***

### Search Record

Search for records in any Zoho CRM module by phone or email. This is a general-purpose search that works across modules like Leads, Contacts, and more.

* **Function Name**: `zohocrm_search_record`
* **Module** (required): The Zoho CRM module to search in (e.g., Leads, Contacts).
* **Search Type** (required): Phone Number or Email.
* **Use caller's session phone number by default**: When checked, the agent automatically uses the best phone number provided by the caller.

<Frame caption="Zoho CRM Search Record">
  <img src="https://mintcdn.com/openmic-ea75a20d/uRMowegKjItN_b9M/images/agents/integrations/zohoCrm/zohocrm-search-record.png?fit=max&auto=format&n=uRMowegKjItN_b9M&q=85&s=e319d8ab433062bab4af6b6a837b1127" alt="Zoho CRM Search Record function configuration" width="1110" height="1222" data-path="images/agents/integrations/zohoCrm/zohocrm-search-record.png" />
</Frame>

### Create Note

Create a note attached to a record in Zoho CRM. Use **Search Record** first to look up the record to attach the note to.

* **Function Name**: `zohocrm_create_note`
* **Parent Module** (required): The Zoho CRM module containing the parent record (e.g., Leads, Contacts).

<Frame caption="Zoho CRM Create Note">
  <img src="https://mintcdn.com/openmic-ea75a20d/uRMowegKjItN_b9M/images/agents/integrations/zohoCrm/zohocrm-create-note.png?fit=max&auto=format&n=uRMowegKjItN_b9M&q=85&s=f06cd2b7a233238c758d24476258f1d6" alt="Zoho CRM Create Note function configuration" width="1068" height="898" data-path="images/agents/integrations/zohoCrm/zohocrm-create-note.png" />
</Frame>

***

## Suggested System Prompt

Provide your assistant with clear instructions on how to use the Zoho CRM functions. You can start with this template:

```text theme={null}
You are a helpful scheduling assistant that uses Zoho CRM.

Flow:
1) Collect the caller's name, phone, and email.
2) Use `zohocrm_search_record` or `zohocrm_lookup_lead` / `zohocrm_lookup_contact` to check if they exist; if not, create them with `create_zohocrm_lead` or `create_zohocrm_contact`.
3) Follow configured working hours; do not propose times outside those windows.
4) Ask for preferred times and duration. Use `zohocrm_lookup_event` to check for conflicts when needed.
5) If available, book with `create_zohocrm_event` using the chosen duration. If there is a conflict, propose alternatives within working hours.
6) Use `zohocrm_create_note` to attach any call notes or follow-up details to the relevant record.
7) Confirm date, time, and details before ending the call.

Key rules:
- Always try to find an existing lead or contact before creating a new one.
- Stay inside configured working hours.
- Use Search Record for cross-module lookups when needed.
```

***

## Example Booking Workflow

1. **Record Lookup** – uses **Search Record**, **Lead Get**, or **Contact Get** to find the caller in Zoho CRM.
2. **Record Creation** – if none found, uses **Lead Create** or **Contact Create** to add the caller.
3. **Conflict Check** – uses **Event Get** to review existing events/meetings. Enable "Don't Allow Double Booking" to prevent overlapping events.
4. **Create Event/Meeting** – uses **Event Create** to book the meeting with the selected duration, linked to either a Lead or Contact.
5. **Add Notes** – uses **Create Note** to attach call summary or follow-up details to the record.

This workflow helps your agents manage leads, contacts, and meetings efficiently while keeping your Zoho CRM records up to date.
