Skip to main content

Tools and integrations

CRM integrations

Zoho lead intake, and getting call results into any CRM.

What you can connect

CRMStatusWhat it does
Zoho CRMLiveZoho sends each new lead to a Finn webhook URL. Finn adds the lead to an audience.
HubSpotComing soonCannot be connected yet.
SalesforceComing soonCannot be connected yet.

CRM connections are set up in the dashboard under Settings → Integrations → CRM. There is no API endpoint for them.

Zoho is one-way. Leads come into Finn; Finn does not write call results back to Zoho. To get results into a CRM, see Writing results back.

Connect Zoho CRM

  1. Go to Settings → Integrations, find ZOHO CRM under CRM and click Connect. The Connect Zoho CRM via webhook dialog opens with a Webhook URL for your workspace. Copy it.
  2. In Zoho CRM, go to Setup → Automation → Actions → Webhooks and create a webhook. Method POST, Content-Type application/json.
  3. Paste the Finn webhook URL as the destination.
  4. Map the body so it sends the fields below.
  5. Attach the webhook to a Zoho workflow rule, for example on lead creation, so it fires for each new lead.

The URL carries a token for your workspace. Treat it like a password.

The lead payload

{
  "name": "John Doe",
  "phone_number": "9876543210",
  "country_code": "91",
  "module_name": "zoho_leads"
}
FieldRequiredNotes
phone_numberyesDigits only. A value with +, spaces or dashes is rejected. phone or mobile are accepted instead.
country_codeyesDigits, without +.
namenoThe contact's name. full_name is accepted instead.
module_namenoThe name of the audience the lead goes into. Without it, Finn uses the module Zoho reports in the request headers, then zoho_module.
duplicatesno"true" to keep repeat leads for the same phone number. See below.

What Finn does with a lead

  1. Finn checks the required fields. A lead that fails is logged with the reason and not added. Zoho still gets a 200 response, so a failure only shows up in Finn.
  2. Finn looks for an audience with the same name as module_name. If there isn't one, it creates it.
  3. Finn appends the lead to that audience.

Duplicates are skipped unless you send "duplicates": "true":

  • a lead whose phone number already arrived in the last 10 minutes, or
  • a lead whose phone number is already in the audience.

The audience is kept in sync from Zoho, so it is a dynamic audience. Dynamic audiences are dialed from the dashboard with a deployment that re-reads the audience while it runs (Check for new contacts). They cannot be deployed through the API. See outbound-campaigns and api-audiences.

Test the connection

The Zoho dialog has three checks under Test the webhook:

ButtonWhat it does
Check statusConfirms the endpoint is ready.
Send sampleSends a test lead (Finn Test, 9999999999, country code 91) through the endpoint.
Verify latestChecks that a recent webhook arrived with the required fields.

Once a webhook arrives, the card shows Connected and the time of the last webhook. Send a test from Zoho, then click Verify latest.

Send sample is processed like a real lead. It has no module_name, so it lands in an audience called zoho_module. Remove that contact before you deploy the audience, or the Finn will dial it.

Disconnecting

Disconnect on the Zoho card removes the Zoho connection from Finn. Leads and audiences already in Finn stay.

The webhook in Zoho keeps sending until you delete it there (Setup → Automation → Webhooks). Delete it in Zoho to stop leads arriving.

Writing results back

Finn has no CRM write-back. Use one of these:

  • Webhooks. Add an endpoint under Settings → Integrations → Webhooks and receive call.completed after each call. It carries the call's final status, the numbers, the duration, the sentiment and your analysis fields. Write to your CRM from your server. See webhooks and webhook-post-call.
  • The API. Read a call with GET /api/v1/calls/{call_uuid}. See api-calls.

Define the fields you want in your CRM as post-call analysis fields first. A field you haven't defined isn't in the payload.

What goes wrong

SymptomCause
Zoho shows the webhook as sent, but no lead in FinnA required field is missing or phone_number has non-digit characters. Finn answers 200 either way. Use Verify latest.
Leads land in an unexpected audiencemodule_name is missing or differs between Zoho workflows, so Finn created a separate audience.
A repeat lead never appearsDuplicate protection skipped it. Send "duplicates": "true" if you want repeats.
Leads keep arriving after you disconnectedThe webhook still exists in Zoho. Delete it there.