基于团队已在使用的记录进行开发
一个 REST API,一个供其他 AI 工具使用的 MCP 服务器,以及通过自动化实现的 Webhook。每次调用都以某个人的身份、在其权限下执行,并记入同一份审计日志。
这些都已构建完成。与 Cyril 的其他部分一样,访问权限将随抢先体验逐个组织开放。
# 逾期发票,以密钥所有者的身份查询 curl "https://app.getcyril.com/api/finance/invoices?status=overdue&limit=2" \ -H "X-API-Key: $CYRIL_API_KEY" { "data": [ { "number": "ROWA-0998", "status": "overdue", "currency": "CNY", "total": "50595.00", "amountPaid": "0.00" }, { "number": "ROWA-0997", "status": "overdue", "currency": "CNY", "total": "5272.00", "amountPaid": "0.00" } ], "meta": { "page": 1, "limit": 2, "total": 2, "totalPages": 1 } }
# 我能调用什么?每个工具需要什么参数? curl "$CYRIL_MCP_URL/" # 以密钥所有者的身份在 Cyril 中搜索。 # 其无权查看的记录根本不会返回。 curl -X POST "$CYRIL_MCP_URL/tools/call" \ -H "X-API-Key: $CYRIL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "tool": "search_cyril", "input": { "query": "隼程", "entityTypes": ["project", "ticket", "invoice"] } }'
密钥属于某个人。请把它保存在环境变量中,绝不要写进代码。
无论谁来调用,都是同一套权限
密钥属于您组织中的某个人。使用它的脚本、其他 AI 工具或自动化,获得的正是此人的访问权限,每一项变更都记在此人名下。
您的脚本使用
X-API-Key 调用 REST API另一个 AI 工具通过 MCP 服务器连接
一条自动化触发或接收 Webhook
执行身份
魏宁魏宁财务,经理角色
- 读取和编辑发票
- 读取公司和联系人
- 无权访问人力资源记录
- 不能删除任何内容
同样的权限检查就像魏宁亲自点击一样。被拒绝时返回
403。同一份审计日志
读取了 48 张发票报表同步,以魏宁的身份
搜索了隼程MCP,以魏宁的身份
没有意外的 REST API
与 Cyril 应用本身所用的是同一个 API,遵循同样的规则。路径可预测,响应格式统一,错误信息让您知道该怎么处理。
- 不会跑偏的参考文档由应用校验所用的同一批数据结构生成。管理员可在“设置”中的“API 密钥”下打开。
- 由您掌控的密钥按组织创建、限定范围和撤销密钥。每个密钥都有自己的速率限制。
- 每个资源一个路径按应用嵌套,例如
/api/projects/tasks。已停用的端点返回410,并指明替代端点。 - 分页方式一致的列表每个列表都接受
page和limit参数,一次最多 100 条,并返回总数。 - 用于开发的沙箱创建一个独立的沙箱组织进行测试,不会触及正式记录。
错误 所有错误格式一致
| 状态码 | 错误码 | 何时出现 |
|---|---|---|
| 400 | VALIDATION_ERROR | 某个字段校验失败,消息会指明是哪个字段。 |
| 401 | UNAUTHORIZED | 密钥缺失、已撤销或已过期。 |
| 403 | FORBIDDEN | 密钥没问题,但其所属的人无权执行此操作。 |
| 404 | NOT_FOUND | 不存在,或属于另一个组织。 |
| 409 | CONFLICT | 重复,例如邮箱已被注册。 |
| 410 | GONE | 已停用,消息会指明替代端点。 |
| 422 | UNPROCESSABLE | 格式有效,但违反了业务规则。 |
| 429 | RATE_LIMITED | 请放慢速度后重试。 |
{ "error": "Cannot delete the last organisation owner",
"code": "UNPROCESSABLE" }让其他 AI 工具与 Cyril 协同工作
MCP 服务器为支持模型上下文协议(MCP)的助手提供一组 Cyril 工具。它们可以自由读取,在有帮助时创建记录,得到的答案与一个人得到的完全相同。
销售公司、联系人、商机
- list_companies
- read_company
- list_contacts
- read_contact
- list_deals
- read_deal
- search_sales
- create_contact
- update_deal
- log_activity
- send_email
财务发票、报价单
- list_invoices
- read_invoice
- list_estimates
- read_estimate
- create_invoice
- create_estimate
项目项目、任务
- list_projects
- read_project
- list_tasks
- read_task
- create_task
- update_task_status
客户支持工单、帮助中心
- list_tickets
- read_ticket
- search_kb
- create_ticket
文档与工具空间、自定义工具
- list_doc_spaces
- read_doc_space
- list_custom_tools
- read_custom_tool
全局统一搜索
- search_cyril
读取创建和更新以上仅为部分示例;服务器会列出它提供的全部工具。
- 没有破坏性操作
- 没有删除工具。删除记录仍由人在 Cyril 中完成。
- 规则事先说明
- 每个工具都会在被调用之前说明它需要哪项权限,以及是否需要审批。
- 每次调用都有记录
- 与 Cyril 的其他 AI 功能一样,调用会被记录和计量,记在发起调用的组织名下。
大额发票付款时通知运营已开启
当发票已支付
仅当合计超过 10,000.00
则发送 Webhook
POST https://ops.rowanhill.example/hooks/paid
{ "invoice": "ROWA-0999",
"client": "麦溪食品",
"total": "66631.00" }上次运行:8月14日 16:02,已记入审计日志。
无需自建服务器的 Webhook
在自动化中,任何规则都可以以向您指定的 URL 发送 Webhook 作为最后一步,负载内容也由您决定。传入的 Webhook 也能触发规则。
规则基于与其他一切相同的记录和权限运行。进一步了解自动化。
杜晓青: 跟踪每个客户咨询项目的现场拜访,包括谁去的以及有无后续事项。
已就绪的功能
“已构建”意味着它现已存在并经过测试。您的组织获得抢先体验资格时,就会向您开放。完整列表见现已就绪的功能。
- REST API覆盖所有应用,路径按模块嵌套,响应格式统一
- 已构建
- API 参考文档交互式,由应用自身的数据结构生成
- 已构建
- API 密钥与速率限制按组织设置,可限定范围,可撤销
- 已构建
- 沙箱组织用于测试的独立租户
- 已构建
- MCP 服务器覆盖销售、财务、项目、客户支持和文档的读取与创建工具
- 已构建
- 自动化中的 Webhook外发动作和传入触发
- 已构建
- 能写入记录的自定义工具您在 Cyril 中搭建的工具目前只能读取,写回功能稍后提供
- 规划中
名额开放时,领取您的密钥
Cyril 将率先向创始会员开放。他们可保持加入时的价格,并获得迁移协助,集成也包括在内。
名额开放时,我们只发一封邮件通知您,别无其他。
