Ogave SMSDevelopers

Zoho CRM

Keep a contact list and your Zoho CRM Contacts or Leads in sync both ways, respect opt-outs, keep every SMS and every reply as a note on the Zoho record, and send SMS from Zoho workflow rules or buttons.

Connect

  1. Portal › Integrations › Zoho CRM: choose the data centre of your Zoho account (zoho.com, .eu, .in, .com.au, .jp, .ca) and press Connect Zoho CRM; approve contacts, leads, notes and organization access.
  2. Choose the contact list, the module (Contacts or Leads), optionally one Zoho custom view (its number), the direction, the schedule and the country for national numbers.
  3. Sync now runs it immediately; results are in the log.

Fields

ZohoContact
Mobile, else PhonePhone (the key on both sides, E.164)
First_Name / Last_Name / EmailFIRST_NAME / LAST_NAME / EMAIL
SMS_Opt_Out (checkbox; name configurable)Ticked in Zoho → the contact is unsubscribed from the list. An opt-out here (STOP, form) ticks it in Zoho.

Create the checkbox in Zoho (Setup › Modules › Contacts › field "Checkbox") and use its API name. Records without a valid phone and blacklisted numbers are skipped; someone who opted out is never created in Zoho.

SMS in Zoho

Every SMS sent to a synced contact is saved as a note once its final status arrives (delivered, undelivered…), and every reply as "SMS received". The first run starts now: older history is not copied.

Send SMS from Zoho

The connection page shows your send URL (keep it secret). In Zoho: Setup › Automation › Actions › Webhooks › new webhook, method POST, that URL, and these parameters:

ParameterValue
to${Contacts.Mobile} (required)
textthe text, or
templateid of one of your approved SMS templates; its {placeholders} are filled from the other parameters, e.g. first_name=${Contacts.First Name}
record_id${Contacts.Contact Id} (kept in the connection log)
refoptional: the same ref is sent once (Zoho retries)
from, categoryoptional: approved sender; marketing applies quiet hours and caps
curl -X POST "https://app.ogave.co/integrations/zoho/actions/<id>?token=<token>" -d to=+573001234567 -d template=<template id> -d first_name=Ana -d ref=deal-42-won
{"status":"queued","message_id":"msg_01jb…"}

Attach it to a workflow rule (e.g. "deal won", "appointment created") or to a record button. Errors: 401 token, 422 data (with code and param), 402 balance.