Integrations

How-to

Connect Zoho CRM

Create a Lead in Zoho CRM for every booking and choose which Zoho fields each detail goes to.

Updated Sep 30, 2026

The Zoho CRM integration creates a Lead in your Zoho CRM for every new booking. You choose the lead owner, the lead source, and where each booking detail lands.

Connect Zoho CRM

  1. 1

    Turn on Zoho CRM

    In the sidebar, under Integrations, click Browse (or Manage). Switch Zoho CRM on, then click Zoho CRM to open its setup page.

  2. 2

    Click Connect

    In the Connection card, click Connect. Zoho's sign-in page opens.

  3. 3

    Approve access

    Sign in and accept. Zoho sends you back to the setup page, which now says "Connected to Zoho CRM." and shows a Field mapping card.

  4. 4

    Review the field mapping

    The defaults work for most Zoho accounts. See Field mapping below. Click Save mapping when you change anything.

  5. 5

    Send a test lead

    Click Send test lead. When you see "Test lead pushed. Check the Recent deliveries table for the Zoho id.", the new Lead's id shows in the Recent activity table. Click it to open the Lead in Zoho.

The test lead is a real Lead named "Test Customer" with the email [email protected]. Delete it in Zoho when you're done.

Field mapping

The Field mapping card loads your Zoho users and Lead fields.

  • Target module — Leads or Contacts. New bookings are created in the Leads module.
  • Default Lead Owner — the Zoho user every new lead is assigned to. Leave it on "Use Zoho's default owner" to let Zoho decide.
  • Lead Source value — a value from your Zoho Lead Source list. If you leave it empty, ServiceReserve uses the booking's source, or "ServiceReserve".
  • External ID field — a Zoho custom field that stores the ServiceReserve request id on each lead. Pick "None" to skip it.

Contact fields

Each contact detail has a Zoho field. These are the defaults:

ServiceReserve fieldZoho field
First nameFirst_Name
Last nameLast_Name
EmailEmail
PhonePhone
CompanyCompany
StreetStreet
CityCity
StateState
Zip / Postal codeZip_Code
CountryCountry

Zoho requires a last name and a company on every Lead. If the booking has none, ServiceReserve sends "(Unknown)" as the last name and "(Individual)" as the company.

Booking details

These rows are optional. Pick a Zoho field, ideally a long-text one, to write the detail there as text:

  • Selected services (bullet list)
  • Intake answers (Q&A text)
  • Marketing attribution (key=value) — UTM values, referrer, and landing page.
  • ServiceReserve request URL — a link back to the request.

Every lead also gets a Description. It starts with "Submitted via ServiceReserve." and lists the request id, submission time, and source. Selected services, intake answers, and attribution are added there too, unless you mapped them to their own field.

Check deliveries

The Recent activity card lists the last 50 bookings sent to Zoho. Successful rows link to the Lead in Zoho. Failed rows show Zoho's error.

Stop sending leads

Switch the toggle in the page header to Disabled. No leads are created while it's off. Your connection and mapping stay saved.

Troubleshooting

  • "We couldn't reach your Zoho account." The mapping card couldn't load your users or fields. Click Reconnect, then reload the page.
  • "No fields available. Try Reconnect." Zoho returned no Lead fields. Click Reconnect.
  • "Last push failed: Zoho rejected lead: … — …" Zoho refused the lead. The code and message after the colon come from Zoho. A mapped field that doesn't accept the value is a common cause. Change or clear that row in Field mapping.
  • "Zoho api_domain missing on credentials — reconnect the integration" Click Reconnect.
  • Access expired. ServiceReserve refreshes Zoho access automatically. If the refresh fails, click Reconnect.
  • "Re-enable the Zoho integration first." The integration is paused. Switch the page-header toggle on.

Related