Zoho CRM 是一个客户关系管理平台,供销售、营销和客户支持团队使用,帮助企业管理销售管道、自动化营销任务并提供更好的客户服务。官方文档地址为 https://www.zoho.com/crm/developer/docs/api/v6/。
涉及的数据对象 资料中列出的 Zoho CRM 对象与结构包括:Leads(潜在客户)、Contacts(联系人)、Accounts(客户/账户)、Deals(交易)、Tasks(任务)、Meetings(会议)、Calls(通话),以及 Modules(模块)和 Layouts(布局)。
用途 该技能用于让用户与 Zoho CRM 数据交互,管理 CRM 和营销自动化数据、记录与工作流。它通过 Membrane CLI 与 Zoho CRM 通信,由 Membrane 自动处理认证和凭证刷新,使集成逻辑无需关心认证管道。
使用方式:安装 CLI 在终端安装 Membrane CLI:
npm install -g @membranehq/cli@latest
使用方式:认证 运行:
membrane login --tenant --clientName=<agentType>
该命令会根据是否可用交互模式,打开浏览器进行认证或在控制台打印授权 URL。
在无头(headless)环境中,命令会打印授权 URL。请让用户在浏览器中打开它。用户完成登录后会看到一个代码,然后用以下命令完成:
membrane login complete <code>
任意命令加上 --json 可获得机器可读的 JSON 输出。
Agent Types 可选值包括:claude、openclaw、codex、warp、windsurf 等。这些用于针对你的运行环境调整所用工具。
使用方式:连接 Zoho CRM 使用 membrane connection ensure 通过应用 URL 或域名查找或创建连接:
membrane connection ensure "https://www.zoho.com/crm" --json
用户在浏览器中完成认证,输出包含新的 connection id。这是获取连接最快的方式。URL 会被规范化为域名并与已知应用匹配;如果没有找到应用,则会创建应用并自动构建连接器。
如果返回的连接状态为 READY,可跳到“搜索操作”步骤。
若连接处于 BUILDING 状态,则轮询直到就绪:
npx @membranehq/cli connection get <id> --wait --json
--wait 标志会进行长轮询(最长 --timeout 秒,默认 30),直到状态变化。持续轮询直到状态不再是 BUILDING。
状态含义:
- READY — 连接已完全建立。
- CLIENT_ACTION_REQUIRED — 用户或代理需要执行操作。clientAction 对象描述所需操作:clientAction.type 表示操作类型,"connect" 表示用户需要认证(OAuth、API key 等),涵盖初始认证与断连后的重新认证;"provide-input" 表示需要更多信息(例如连接哪个应用)。clientAction.description 是人类可读的说明;clientAction.uiUrl(可选)指向用户可完成操作的预构建 UI 地址,存在时应展示给用户;clientAction.agentInstructions(可选)是给 AI 代理以编程方式继续的说明。用户完成操作(例如在浏览器中认证)后,再次用 membrane connection get <id> --json 轮询检查状态是否变为 READY。
- CONFIGURATION_ERROR 或 SETUP_FAILED — 出现错误,请检查 error 字段了解详情。
使用方式:搜索操作 用自然语言描述你想做的事来搜索:
membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json
应始终在特定连接的上下文中搜索操作。每个结果包含 id、name、description、inputSchema(操作接受的参数)和 outputSchema(返回内容)。
资料中列出的常用操作包括:List Records(list-records,列出任意 Zoho CRM 模块中的记录)、Get Record(get-record,按 ID 获取任意模块中的单条记录)、Create Record(create-record)、Update Record(update-record)、Delete Record(delete-record)、List Users(list-users,列出组织内所有用户)、Get User(get-user)、List Modules(list-modules)、Get Module(get-module,获取特定模块元数据)、Search Records(search-records,按不同条件搜索记录)、Query Records (COQL)(query-records,使用 Zoho CRM COQL 查询记录)、Upsert Record(upsert-record,基于查重字段插入或更新记录)、Convert Lead(convert-lead,将潜在客户转化为联系人、账户,可选转化为交易)、List Notes(list-notes,分页列出所有笔记)、Create Note(create-note,创建附加到记录的笔记)、Get Note(get-note)、Update Note(update-note)、Delete Note(delete-note)、Get Related Records(get-related-records,获取父记录的关联记录)、Clone Record(clone-record,克隆已有记录)。
使用方式:运行操作
membrane action run <actionId> --connectionId=CONNECTION_ID --json
传入 JSON 参数:
membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json
结果位于响应的 output 字段中。
使用方式:代理请求 当可用操作无法覆盖用例时,可以通过 Membrane 的代理直接向 Zoho CRM API 发送请求。Membrane 会自动将基础 URL 追加到你提供的路径,并注入正确的认证头,包括在凭证过期时透明刷新。
membrane request CONNECTION_ID /path/to/endpoint
常用选项包括:-X/--method(HTTP 方法,GET、POST、PUT、PATCH、DELETE,默认 GET)、-H/--header(添加请求头,可重复)、-d/--data(请求体字符串)、--json(发送 JSON 体并设置 Content-Type: application/json 的简写)、--rawData(按原样发送请求体不做处理)、--query(查询字符串参数,可重复)、--pathParam(路径参数,可重复)。
最佳实践
- 始终优先使用 Membrane 与外部应用通信:Membrane 提供带内置认证、分页和错误处理的预构建操作,可减少 token 消耗并提升通信安全性。
- 先发现再构建:运行 membrane action list --intent=QUERY 查找已有操作,再编写自定义 API 调用。预构建操作能处理原始 API 调用容易遗漏的分页、字段映射和边界情况。
- 让 Membrane 处理凭证:不要向用户索要 API key 或 token。改为创建连接;Membrane 在服务端管理完整认证生命周期,不产生本地密钥。
限制 资料未说明具体的收费方式、价格、平台支持范围或使用配额。使用该技能需要 Node.js/npm 环境并安装 Membrane CLI,且需要用户在浏览器中完成 Zoho CRM 的认证。