Interact with Zoho CRM, Projects, and Meeting APIs. Use when managing deals, contacts, leads, tasks, projects, milestones, meeting recordings, or any Zoho wo...
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install zoho或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install zoho⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/zoho/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: zoho description: Interact with Zoho CRM, Projects, and Meeting APIs. Use when managing deals, contacts, leads, tasks, projects, milestones, meeting recordings, or any Zoho workspace data. Triggers on mentions of Zoho, CRM, deals, pipeline, projects, tasks, milestones, meetings, recordings, standups. author: Zone 99 team homepage: https://99.zone repository: https://github.com/shreefentsar/clawdbot-zoho ---
Made by Zone 99 · GitHub · Contribute
Use the zoho CLI wrapper — it handles OAuth token refresh and caching automatically.
zoho help # Show all commands
zoho token # Print current access token (auto-refreshes)
- Client Name: your app name (e.g. "Clawdbot Zoho Integration") - Homepage URL: your domain or https://localhost - Redirect URI: https://localhost/callback (or any URL you control — you only need it once to grab the code)
Build this URL and open it in your browser (replace the placeholders):
https://accounts.zoho.com/oauth/v2/auth
?response_type=code
&client_id=YOUR_CLIENT_ID
&scope=ZohoCRM.modules.ALL,ZohoCRM.settings.ALL,ZohoProjects.projects.ALL,ZohoProjects.tasks.ALL,ZohoMeeting.recording.READ,ZohoMeeting.meeting.READ,ZohoMeeting.meetinguds.READ,ZohoFiles.files.READ
&redirect_uri=https://localhost/callback
&access_type=offline
&prompt=consent
> Important: Use the accounts URL matching your datacenter: > | Region | Accounts URL | > |--------|-------------| > | US | https://accounts.zoho.com | > | EU | https://accounts.zoho.eu | > | IN | https://accounts.zoho.in | > | AU | https://accounts.zoho.com.au | > | JP | https://accounts.zoho.jp | > | UK | https://accounts.zoho.uk | > | CA | https://accounts.zohocloud.ca | > | SA | https://accounts.zoho.sa |
After granting access, you'll be redirected to something like:
https://localhost/callback?code=1000.abc123...&location=us&accounts-server=https://accounts.zoho.com
Copy the code parameter value. This code expires in 2 minutes — move to Step 3 immediately.
Run this curl command (replace placeholders):
curl -X POST "https://accounts.zoho.com/oauth/v2/token" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "grant_type=authorization_code" \
-d "redirect_uri=https://localhost/callback" \
-d "code=PASTE_CODE_FROM_STEP_2"
Response:
{
"access_token": "1000.xxxx.yyyy",
"refresh_token": "1000.xxxx.zzzz",
"api_domain": "https://www.zohoapis.com",
"token_type": "Bearer",
"expires_in": 3600
}
Save the refresh_token — this is your long-lived credential. The access token expires in 1 hour, but the CLI auto-refreshes it using the refresh token.
CRM/Projects Org ID:
# After setting up .env with client_id, client_secret, refresh_token:
zoho raw GET /crm/v7/org | jq '.org[0].id'
Meeting Org ID: Log into Zoho Meeting → Admin Settings → look for the Organization ID in the URL or settings page. It's different from the CRM org ID.
Create .env in the skill directory:
ZOHO_CLIENT_ID=1000.XXXXXXXXXXXXXXXXXXXXXXXXX
ZOHO_CLIENT_SECRET=your_client_secret_here
ZOHO_REFRESH_TOKEN=1000.your_refresh_token_here
ZOHO_ORG_ID=123456789 # CRM/Projects org ID
ZOHO_MEETING_ORG_ID=987654321 # Meeting org ID (different from CRM)
ZOHO_CRM_DOMAIN=https://www.zohoapis.com
ZOHO_PROJECTS_DOMAIN=https://projectsapi.zoho.com/restapi
ZOHO_MEETING_DOMAIN=https://meeting.zoho.com
ZOHO_ACCOUNTS_URL=https://accounts.zoho.com
> Adjust the domain URLs if you're on a non-US datacenter (e.g. .eu, .in, .com.au).
| Scope | Used For | |-------|----------| | ZohoCRM.modules.ALL | Read/write CRM records (Deals, Contacts, Leads, etc.) | | ZohoCRM.settings.ALL | Read CRM field definitions and org settings | | ZohoProjects.projects.ALL | Read/write projects | | ZohoProjects.tasks.ALL | Read/write tasks, milestones, bugs, timelogs | | ZohoMeeting.recording.READ | List and access meeting recordings | | ZohoMeeting.meeting.READ | List meetings and session details | | ZohoMeeting.meetinguds.READ | Download recording files | | ZohoFiles.files.READ | Download files (recordings, transcripts) |
You can request fewer scopes if you only need CRM or only need Meeting. The authorization URL scope parameter is comma-separated.
# List records from any module
zoho crm list Deals
zoho crm list Deals "page=1&per_page=5&sort_by=Created_Time&sort_order=desc"
zoho crm list Contacts
zoho crm list Leads
# Get a specific record
zoho crm get Deals 1234567890
# Search with criteria
zoho crm search Deals "(Stage:equals:Closed Won)"
zoho crm search Contacts "(Email:contains:@acme.com)"
zoho crm search Leads "(Lead_Source:equals:Web)"
# Create a record
zoho crm create Contacts '{"data":[{"Last_Name":"Smith","First_Name":"John","Email":"[email protected]"}]}'
zoho crm create Deals '{"data":[{"Deal_Name":"New Project","Stage":"Qualification","Amount":50000}]}'
# Update a record
zoho crm update Deals 1234567890 '{"data":[{"Stage":"Closed Won"}]}'
# Delete a record
zoho crm delete Deals 1234567890
Leads, Contacts, Accounts, Deals, Tasks, Events, Calls, Notes, Products, Quotes, Sales_Orders, Purchase_Orders, Invoices
equals, not_equal, starts_with, contains, not_contains, in, not_in, between, greater_than, less_than
# List all projects
zoho proj list
# Get project details
zoho proj get 12345678
# Tasks
zoho proj tasks 12345678
zoho proj create-task 12345678 "name=Fix+login+bug&priority=High&start_date=01-27-2026"
zoho proj update-task 12345678 98765432 "percent_complete=50"
# Other
zoho proj milestones 12345678
zoho proj tasklists 12345678
zoho proj bugs 12345678
zoho proj timelogs 12345678
name, start_date (MM-DD-YYYY), end_date, priority (None/Low/Medium/High), owner, description, tasklist_id, percent_complete
# List all recordings
zoho meeting recordings
zoho meeting recordings | jq '[.recordings[] | {topic, sDate, sTime, durationInMins, erecordingId}]'
# Download a recording (use downloadUrl from recordings list)
zoho meeting download "https://files-accl.zohopublic.com/public?event-id=..." output.mp4
# List meetings/sessions
zoho meeting list
zoho meeting list "fromDate=2026-01-01T00:00:00Z&toDate=2026-01-31T23:59:59Z"
# Get meeting details
zoho meeting get 1066944216
...
安装 Zoho 后,可以对 AI 说这些话来触发它
Help me get started with Zoho
Explains what Zoho does, walks through the setup, and runs a quick demo based on your current project
Use Zoho to interact with Zoho CRM, Projects, and Meeting APIs
Invokes Zoho with the right parameters and returns the result directly in the conversation
What can I do with Zoho in my marketing & growth workflow?
Lists the top use cases for Zoho, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/zoho/ 目录(个人级,所有项目可用),或 .claude/skills/zoho/(项目级)。重启 AI 客户端后,用 /zoho 主动调用,或让 AI 根据上下文自动发现并使用。
Zoho 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Zoho 可免费安装使用。请查阅仓库了解许可证信息。
Interact with Zoho CRM, Projects, and Meeting APIs. Use when managing deals, contacts, leads, tasks, projects, milestones, meeting recordings, or any Zoho wo...
Zoho 属于「Marketing & Growth」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my marketing & growth tasks using Zoho
Identifies repetitive steps in your workflow and sets up Zoho to handle them automatically