5.8 KiB
| summary | read_when | ||
|---|---|---|---|
| Zoho Cliq setup via OAuth API |
|
Zoho Cliq (plugin)
Status: supported via plugin (OAuth API). Direct messages, group chats, and channels are supported. Zoho Cliq is a team communication platform from Zoho; see the official site at zoho.com/cliq for product details.
Plugin required
Zoho Cliq ships as a plugin and is not bundled with the core install.
Install via CLI (npm registry):
clawdbot plugins install @clawdbot/zoho-cliq
Local checkout (when running from a git repo):
clawdbot plugins install ./extensions/zoho-cliq
If you choose Zoho Cliq during configure/onboarding and a git checkout is detected, Clawdbot will offer the local install path automatically.
Details: Plugins
Quick setup
1. Create OAuth Application
- Go to Zoho API Console
- Click Add Client → Server-based Applications
- Fill in:
- Client Name: Clawdbot
- Homepage URL: https://clawd.bot (or your domain)
- Authorized Redirect URI:
https://accounts.zoho.com(for manual token generation)
- Copy the Client ID and Client Secret
2. Generate Refresh Token
- Open this URL in your browser (replace
YOUR_CLIENT_ID):https://accounts.zoho.com/oauth/v2/auth?scope=ZohoCliq.Messages.ALL,ZohoCliq.Chats.ALL,ZohoCliq.Users.READ&client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=https://accounts.zoho.com&access_type=offline - Authorize the application
- Copy the
codeparameter from the redirect URL - Exchange for tokens via curl:
curl -X POST "https://accounts.zoho.com/oauth/v2/token" \ -d "grant_type=authorization_code" \ -d "client_id=YOUR_CLIENT_ID" \ -d "client_secret=YOUR_CLIENT_SECRET" \ -d "code=YOUR_AUTH_CODE" \ -d "redirect_uri=https://accounts.zoho.com" - Copy the refresh_token from the response
3. Configure Clawdbot
{
channels: {
"zoho-cliq": {
enabled: true,
accounts: {
main: {
clientId: "1000.XXXXX",
clientSecret: "your-client-secret",
refreshToken: "1000.xxxxx.xxxxx",
dc: "US"
}
}
}
}
}
4. Start the gateway
clawdbot gateway run
Data centers
Zoho operates in multiple data centers. Set dc to match your Zoho account region:
| Region | dc | API Domain |
|---|---|---|
| United States | US |
cliq.zoho.com |
| Europe | EU |
cliq.zoho.eu |
| India | IN |
cliq.zoho.in |
| Australia | AU |
cliq.zoho.com.au |
| Japan | JP |
cliq.zoho.jp |
| Canada | CA |
cliq.zohocloud.ca |
| Saudi Arabia | SA |
cliq.zoho.sa |
Default is US if not specified.
Environment variables (default account)
Set these on the gateway host if you prefer env vars:
ZOHO_CLIQ_CLIENT_ID=...ZOHO_CLIQ_CLIENT_SECRET=...ZOHO_CLIQ_REFRESH_TOKEN=...ZOHO_CLIQ_DC=US
Env vars apply only to the default account. Other accounts must use config values.
OAuth scopes required
The following scopes are needed for full functionality:
ZohoCliq.Messages.ALL- Read and send messagesZohoCliq.Chats.ALL- Access chat conversationsZohoCliq.Users.READ- Read user information
Access control (DMs)
- Default:
channels.zoho-cliq.dmPolicy = "pairing"(unknown senders get a pairing code). - Approve via:
clawdbot pairing list zoho-cliqclawdbot pairing approve zoho-cliq <CODE>
- Public DMs:
channels.zoho-cliq.dmPolicy="open"pluschannels.zoho-cliq.allowFrom=["*"]. - Allowlist:
channels.zoho-cliq.dmPolicy="allowlist"with specific user emails inallowFrom.
Targets for outbound delivery
Use these target formats with clawdbot message send or cron/webhooks:
chat:<chat_id>- Send to a specific chat by IDchannel:<unique_name>- Send to a channel by its unique nameuser:<email>- Send DM to a user by emailuser:<zuid>- Send DM to a user by Zoho User ID@email@example.com- Send DM (shorthand)
Examples:
clawdbot message send --channel zoho-cliq --to "user:john@example.com" --text "Hello!"
clawdbot message send --channel zoho-cliq --to "channel:engineering" --text "Update deployed"
Multi-account
Zoho Cliq supports multiple accounts under channels.zoho-cliq.accounts:
{
channels: {
"zoho-cliq": {
accounts: {
default: {
name: "Primary",
clientId: "...",
clientSecret: "...",
refreshToken: "...",
dc: "US"
},
eu_team: {
name: "EU Team",
clientId: "...",
clientSecret: "...",
refreshToken: "...",
dc: "EU"
}
}
}
}
}
Message polling
Zoho Cliq uses polling to check for new messages (default: every 3 seconds). This is due to API limitations - Zoho Cliq's webhook support requires bot registration in their platform.
Troubleshooting
Auth errors
- "invalid_code": Authorization code expired (valid for ~1 minute). Generate a new one.
- "invalid_client": Check client ID and secret match your OAuth app.
- Token refresh failed: Ensure refresh token is valid and hasn't been revoked.
No messages received
- Polling runs every 3 seconds; there may be a slight delay.
- Check
clawdbot channels status --probeto verify connection. - Ensure the OAuth app has the required scopes.
Wrong data center
- If you get 404 errors, your
dcsetting may not match your Zoho account region. - Check your Zoho account URL (e.g., accounts.zoho.eu = EU datacenter).
Rate limits
Zoho Cliq has API rate limits:
- Messages: 50 requests/min per user
- Chats: 30 requests/min per user
If you hit limits, reduce polling frequency or message volume.