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
- 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.
- 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.
- Sync now runs it immediately; results are in the log.
Fields
| Zoho | Contact |
|---|---|
Mobile, else Phone | Phone (the key on both sides, E.164) |
First_Name / Last_Name / Email | FIRST_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:
| Parameter | Value |
|---|---|
to | ${Contacts.Mobile} (required) |
text | the text, or |
template | id 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) |
ref | optional: the same ref is sent once (Zoho retries) |
from, category | optional: 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.