Databases & CRM
Set up Zoho CRM
Connect a Zoho CRM. It reads your accounts, contacts, deals and leads and how they relate, and turns each into a record the assistant reasons over alongside your documents, with the tasks, calls, events and notes logged against them brought in too. Read-only.
Before you start
- In the Zoho API console (api-console.zoho.com) create a Self Client, in the SAME data centre as your CRM.
- On its Generate Code tab, generate a one-time code with the ZohoCRM.modules.READ and ZohoCRM.users.READ scopes, then exchange it for a refresh token; note the client id and secret shown beside it.
- The refresh token never expires on its own and is bound to the data centre it was created in — paste the token, not the one-time code, which dies in minutes.
- Documents → Zoho CRM, pick your data centre and paste the client id, secret and refresh token.
- Under Advanced, choose whether tasks, calls, events and notes come in (Include activity, on by default) and optionally list Only these modules to narrow the sync.
- Choose access groups, Test, then Sync.
What comes in
- Accounts, Contacts, Deals and Leads as linked records — Contacts and Deals show their parent Account, and Deals carry amount, stage (already Zoho's own label) and closing date.
- Tasks, calls, events and notes logged against those records, dated and linked back to what they're about — unless Records only is chosen.
| Include activity | Whether tasks, calls, events and notes sync alongside Accounts, Contacts, Deals and Leads — on by default. |
|---|---|
| Only these modules | Optional allow-list, one Zoho module name per line — blank syncs Accounts, Contacts, Deals and Leads. |
Access
Visible only to the access groups chosen when the source is set up — Zoho exposes no per-record viewers here, so that list covers everything the source brings in.
Read-only. Deal amounts are totalled per account. Pick the data centre where the Self Client was created — the refresh token is bound to it. A module this org has disabled or hasn't granted the scope for is skipped with a notice; each module and the activity feeds are capped at 5,000 records.
Last updated 20 Sep 2026