Skip to main content

Zoho CRM integration

Updated this week

The Zoho CRM integration connects your Newo.ai AI Employee with Zoho CRM to automate appointment scheduling, contact management, and deal tracking. Once connected, the AI Employee can check availability, book and cancel appointments, create deals and leads, and attach conversation notes β€” all in real time.

Requirements

Before setting up the integration, make sure you have:

  • An active Zoho CRM account with admin rights

  • Your Zoho account's datacenter region (.com, .eu, .in, or .au)

Authorize Zoho CRM

  1. In the Newo.ai Builder, go to Attributes and set zoho_region to your Zoho datacenter region (e.g., eu for Europe, com for US).

  2. Click the Zoho authorization link provided by the platform.

  3. In Zoho CRM, authorize the Newo app and grant the requested scopes (CRM org, settings, users, modules, etc.).

  4. After authorizing, copy the authorization code from the redirect URL.

  5. In the Builder, paste the code into the zoho_oauth_code attribute.

  6. Click Save, then Publish All.

On publish, the platform automatically:

  • Exchanges the OAuth code for access and refresh tokens

  • Fetches Zoho CRM users and auto-selects the owner

  • Fetches deal field definitions and pipeline stages

  • Injects booking and availability schemas for the AI Employee

πŸ—’οΈ NOTE

OAuth authorization codes are single-use and expire quickly. If the code expires before you publish, repeat the authorization flow to generate a new one.

Configure attributes

Set these attributes in the Builder under Attributes to customize the integration's behavior.

Required attributes

Attribute

Description

zoho_oauth_code

One-time OAuth authorization code obtained from the authorization flow.

zoho_region

Your Zoho datacenter: com (US), eu (Europe), in (India), au (Australia). Default: com.

Optional attributes

Attribute

Description

Default

zoho_timezone

Timezone for appointments.

Project timezone

zoho_duration

Slot duration in minutes.

30

zoho_availability_days

Number of days ahead to search for available slots.

β€”

zoho_enable_slot_check

Enable availability checking.

True

zoho_enable_booking

Enable appointment booking.

True

zoho_enable_cancellation

Enable appointment cancellation.

True

zoho_update_pipeline

Enable automatic deal stage updates after conversations.

False

zoho_pipeline_criteria

Custom business rules for AI-powered deal stage selection.

β€”

zoho_check_existing_client

Verify whether a contact exists before booking.

True

zoho_check_availability_on_conversation_start

Automatically check available slots when a conversation begins.

False

What the integration does

The integration handles scheduling and CRM tasks through an event-driven system. When the AI Employee detects certain conversation signals, it triggers the corresponding Zoho CRM action automatically.

Appointment scheduling

  • Check availability: The AI Employee queries the Zoho Events calendar and returns open time slots when a client asks about availability.

  • Book appointment: The AI Employee finds or creates a contact in Zoho CRM, then creates a calendar event with the client as a participant.

  • Cancel appointment: The AI Employee deletes the event from Zoho CRM when a client requests cancellation.

πŸ—’οΈ NOTE

Rescheduling is not directly supported. To reschedule, cancel the existing appointment and book a new one.

CRM management

  • Contact lookup: The integration searches Zoho CRM contacts by phone number before each booking. If no match is found, a new contact is created automatically.

  • Deal creation and pipeline updates: When a conversation ends, the integration can create or update a CRM deal. If zoho_update_pipeline is enabled, an AI model analyzes the conversation outcome and selects the appropriate pipeline stage based on your zoho_pipeline_criteria rules.

  • Lead creation: For new callers not found in Zoho CRM, the integration creates a lead record at the end of the session.

  • Conversation notes: For returning contacts, the integration attaches a conversation summary and transcript to the contact record in Zoho CRM.

Test the integration

Check availability

In the conversation interface (chat or voice), ask: "What slots are available this week?"

Verify that the AI Employee returns open time slots calculated from the Zoho Events calendar.

Book an appointment

Complete a booking conversation and verify in Zoho CRM under Activities > Events that:

  • A contact was created or matched by phone number.

  • A calendar event was created with the correct subject, start/end time, owner, and participant.

Cancel an appointment

Ask the AI Employee to cancel an existing appointment and verify the event is removed from Zoho CRM under Activities > Events.

Post-conversation CRM records

After a conversation ends, verify:

  • A deal was created or its stage updated (requires zoho_update_pipeline enabled).

  • A note with the conversation summary and transcript was added to the contact record (returning contacts).

  • A lead record was created in Zoho CRM (new callers only).

Troubleshooting

If the integration isn't working as expected:

  • OAuth tokens: Confirm zoho_access_token is not empty β€” this indicates a successful token exchange.

  • Region mismatch: Verify zoho_region matches your actual Zoho datacenter.

  • Expired authorization code: OAuth codes are single-use. If the code expired before publishing, generate a new one and re-publish.

  • Feature flags disabled: Confirm zoho_enable_booking, zoho_enable_slot_check, and zoho_enable_cancellation are set to True.

  • Missing user ID: Verify zoho_user_id was populated automatically during setup.

  • Credential changes: Re-publish the project if any credentials were updated.

🚨 WARNING

This integration performs real operations in Zoho CRM. Contacts, events, deals, leads, and notes created through the AI Employee are reflected in the live CRM system.

FAQ

Q: Does the integration import historical CRM data?

No. Only records created after the integration is activated are managed. The client history flow attaches notes only for new conversations.

Q: Can I connect multiple Zoho CRM accounts?

Each integration instance supports one Zoho account and user. To connect multiple accounts, set up separate integration instances.

Q: How does the AI select the deal pipeline stage?

After each conversation, an AI model analyzes the summary, outcome, and transcript. It applies the business rules in zoho_pipeline_criteria to select the most appropriate deal stage and includes an explanation for the choice.

Q: What happens if a contact already exists in Zoho CRM?

The integration searches contacts by phone number. If a match is found, the existing contact is used and notes are appended. If no match is found, a new contact is created automatically.

Q: What happens if the OAuth token expires during use?

The integration automatically detects HTTP 401 responses and refreshes the token using the stored refresh token. The new access token is saved and the original request is retried.

Q: What CRM records can be created during a conversation?

Depending on configuration: a Contact (during booking), an Event (appointment), a Deal (with pipeline stage), a Lead (for new callers), and a Note (conversation summary). Not all records are created every time β€” it depends on which flows are enabled.

Did this answer your question?