Status: In Progress (Feb 17, 2026)
Priority: CRITICAL - Blocks Tier 2 graduation
Current State: Expired CRM token, need client credentials + scope expansion
✅ We Have:
/home/node/.openclaw/credentials/zoho-crm-tokens.jsonZohoCRM.modules.READ, ZohoCRM.users.READ❌ Missing:
🔴 Problem:
You need to retrieve from Zoho API Console:
1000.)Where to store them:
Create file: /home/node/.openclaw/credentials/zoho-client-secret.json
{
"client_id": "1000.XXXXXXXXXXXXXXXXXXXXXXXXXX",
"client_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"notes": "Zoho Self Client - created [DATE]"
}
⚠️ Security: This file is gitignored. Never commit to repo.
Once you provide client_id and client_secret:
cd /home/node/.openclaw/workspace
python3 tools/zoho-refresh-token.py
This will:
/credentials/zoho-crm-tokens.jsonCurrent scopes (READ ONLY):
ZohoCRM.modules.READZohoCRM.users.READRequired scopes for full automation:
ZohoCRM.modules.ALL - Read/write contacts, deals, accounts, leadsZohoCRM.settings.ALL - Read pipelines, stages, custom fieldsZohoCRM.users.READ - (already have)ZohoCRM.org.READ - Organization infoZohoBooks.fullaccess.all - Read/write invoices, expenses, paymentsZohoBooks.invoices.READZohoBooks.invoices.CREATEZohoBooks.expenses.READDesk.tickets.READ - Read support ticketsDesk.tickets.UPDATE - Update ticket status, add responsesDesk.contacts.READ - Customer infoCliq.Messages.CREATE - Send chat notificationsCliq.Channels.READ - Read channel listThis requires browser access to Zoho API Console:
ZohoCRM.modules.ALL,ZohoCRM.settings.ALL,ZohoCRM.users.READ,ZohoCRM.org.READ,ZohoBooks.fullaccess.all,Desk.tickets.READ,Desk.tickets.UPDATE,Desk.contacts.READ,Cliq.Messages.CREATE,Cliq.Channels.READ
⚠️ Time-sensitive: Authorization code expires in 3 minutes. Have terminal ready.
Immediately after generating code:
cd /home/node/.openclaw/workspace
python3 tools/zoho-crm-oauth.py \
<CLIENT_ID> \
<CLIENT_SECRET> \
<AUTHORIZATION_CODE>
This will:
/credentials/zoho-crm-tokens.jsonOnce we have valid tokens with full scopes:
tools/zoho-refresh-token.py to load client credentialsAfter token refresh:
python3 tools/zoho-crm-test.pyExpected results:
Credential files (gitignored):
/credentials/zoho-client-secret.json - Client ID/secret/credentials/zoho-crm-tokens.json - Access/refresh tokensBackup location:
Rotation policy:
Immediate (Today):
Phase 2 (This week):
Total time: ~1 hour (mostly waiting for browser/API calls)
Next Action: Retrieve client_id and client_secret from Zoho API Console.
Once you provide those, I can implement the full refresh + auto-refresh system in ~15 minutes.