Theme
Open the portal

Zoho CRM

Connect Zoho CRM once and your customers’ contact details keep themselves current on the Zoho contact record — from the fields each of them chose to share with you. One-way, live, and with nothing to configure by hand in the ordinary case.

Before you start. You need a Zoho CRM account you can authorize apps for. Everything else, including the allus side of the connection, is created for you.

Setting it up

  1. Open the allus portal — Configuration → Integrations.
  2. Step 1 — your allus account. Click Connect next to Zoho CRM. Nothing to paste: this creates the service your customers connect to (alerts go to your allus account's own email), its data client and its webhook, and publishes the standard request set (first name, last name, email, phone, address). You can add more request fields in your portal at any time; they appear in Zoho as their own properties.
  3. Step 2 — Zoho. Authorize the app. Zoho signs you in and sends you to your own data centre — .com, .eu, .in and the rest are separate; the app follows whichever one your account lives in, and you do not pick it.
  4. That is the whole setup. There is no admin procedure and no field wizard for Zoho. Within a few minutes the app maps your request fields onto Zoho properties and brings in the customers who were already connected.
Zoho will not create a contact without a last name, so your service asks for one. The Last name request field is published as required-and-connected: a customer connecting to your service has to share a live last-name field before they can finish. Nothing is invented on your behalf — a made-up value in a name column is worse than an honest wait.

One consequence worth knowing: customers who connected before this rule existed, and anyone who declined that field on an older consent, keep their connection. Their contact is simply not created in Zoho until they share a last name; the moment they do, it appears with everything else they had already shared.

What lands where on a Zoho contact

What you asked forWhere it lands in Zoho
First nameFirst_Name
Last nameLast_Name
EmailEmail
PhonePhone
Addressthe mailing address block — street, city, state, ZIP and country
Anything else you requesta custom property created for you, labelled <your field’s label> (allme:<slug>) — the suffix is how the app tells its own fields from yours, so one of your existing fields is never written into by mistake

Every contact the app creates also carries an allme_id property holding that customer’s allme share code. That is the durable link between the two records — leave it alone, and you can always tell which Zoho contact belongs to which allme customer. It is created for you, labelled allme ID (allme:allme_id) and marked unique, and it is matched on that label or on its allme_id API name — never on a field of yours that merely reads like it.

Documents and contract flows on the timeline

When you send a customer a document, or run a contract flow with them, the contact’s Zoho notes show what happened — automatically, with no setup.

Zoho has no separate activity object the app needs, so all of this rides the same notes a field withdrawal or a disconnect already writes to.

Two limits worth knowing

If sync stops

The connection’s status page carries a sync-health card naming the customer and what to do. “The CRM refused our access” means the authorization was revoked or expired — reconnect Zoho from that page, and every change that was waiting is applied. Nothing is lost while a connection is broken: changes queue until it is repaired.

Next

CRM integrations overview · How the connection model works · Portal guides