用途
Front 是一个客户沟通中心,将电子邮件、消息和应用整合到一个平台中。客户支持、销售和客户管理团队使用它在一个地方管理所有对话并更高效地协作。本技能用于与 Front 数据进行交互,管理对话、联系人、标签、渠道、团队和用户。
官方文档:https://developers.frontapp.com/
主要能力
本技能通过 Membrane CLI 与 Front 交互。Membrane 自动处理身份验证和凭据刷新,因此用户可以将精力集中在集成逻辑上,而不是认证管道上。
Front 涉及的核心对象包括:Conversation(对话)、Message(消息)、Channel(渠道)、Contact(联系人)。
常用操作(action)包括:
- List Conversations(list-conversations):列出 Front 中的所有对话,支持可选分页
- List Contacts(list-contacts):列出 Front 中的所有联系人,支持可选分页
- List Inboxes(list-inboxes):列出 Front 中的所有收件箱
- List Teammates(list-teammates):列出 Front 中的所有团队成员
- List Teams(list-teams):列出组织中的所有团队
- List Tags(list-tags):列出 Front 中的所有标签
- List Channels(list-channels):列出 Front 中的所有渠道
- List Message Templates(list-message-templates):列出所有消息模板(预设回复)
- List Rules(list-rules):列出公司中的所有自动化规则
- Get Conversation(get-conversation):按 ID 检索特定对话
- Get Contact(get-contact):按 ID 检索特定联系人
- Get Inbox(get-inbox):按 ID 检索特定收件箱
- Get Teammate(get-teammate):按 ID 检索特定团队成员
- Get Team(get-team):按 ID 获取特定团队
- Get Tag(get-tag):按 ID 检索特定标签
- Create Contact(create-contact):在 Front 中创建新联系人
- Create Tag(create-tag):在 Front 中创建新标签
- Update Conversation(update-conversation):更新对话的属性(负责人、状态、标签等)
- Update Contact(update-contact):更新现有联系人
- Delete Contact(delete-contact):从 Front 中删除联系人
使用方式
安装 CLI
在终端中运行以下命令安装 Membrane CLI:
npm install -g @membranehq/cli@latest
身份验证
membrane login --tenant --clientName=<agentType>
该命令会打开浏览器进行身份验证,或在控制台打印授权 URL(取决于是否支持交互模式)。
无头环境:命令会打印授权 URL,请用户在浏览器中打开。用户完成登录后会看到一段代码,然后执行:
membrane login complete <code>
在任何命令后添加 --json 可获得机器可读的 JSON 输出。
Agent 类型:claude、openclaw、codex、warp、windsurf 等,用于根据运行环境调整工具。
连接到 Front
使用 membrane connection ensure 通过应用 URL 或域名查找或创建连接:
membrane connection ensure "https://app.frontapp.com/" --json
用户在浏览器中完成身份验证。输出包含新的连接 id。这是获取连接最快的方式。URL 会被规范化为域名并与已知应用匹配。如果未找到应用,则会创建一个并自动构建连接器。
如果返回的连接状态为 READY,跳到第 2 步。
等待连接就绪
如果连接处于 BUILDING 状态,轮询直到就绪:
npx @membranehq/cli connection get <id> --wait --json
--wait 标志会进行长轮询(最多 --timeout 秒,默认 30),直到状态改变。持续轮询直到状态不再是 BUILDING。
结果状态说明:
READY— 连接已完全设置好,跳到第 2 步。CLIENT_ACTION_REQUIRED— 用户或 agent 需要执行某些操作。clientAction对象描述所需操作:clientAction.type— 所需操作类型:"connect"— 用户需要身份验证(OAuth、API 密钥等)。涵盖初始身份验证和断开连接的重新身份验证。"provide-input"— 需要更多信息(例如连接到哪个应用)。
clientAction.description— 所需操作的人类可读说明。clientAction.uiUrl(可选)— 用户可完成操作的预构建 UI 的 URL。存在时展示给用户。clientAction.agentInstructions(可选)— 供 AI agent 以编程方式继续的说明。
- 用户完成操作后(例如在浏览器中验证),再次使用
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(操作返回的内容)。
运行操作
membrane action run <actionId> --connectionId=CONNECTION_ID --json
传递 JSON 参数:
membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json
结果位于响应的 output 字段中。
代理请求
当可用操作无法覆盖用例时,可以通过 Membrane 的代理直接向 Front API 发送请求。Membrane 会自动将基础 URL 附加到你提供的路径,并注入正确的身份验证头——包括凭据过期时的透明刷新。
membrane request CONNECTION_ID /path/to/endpoint
常用选项:
-X, --method:HTTP 方法(GET、POST、PUT、PATCH、DELETE),默认为 GET-H, --header:添加请求头(可重复),例如-H "Accept: application/json"-d, --data:请求体(字符串)--json:发送 JSON 请求体并设置Content-Type: application/json的简写--rawData:按原样发送请求体,不做任何处理--query:查询字符串参数(可重复),例如--query "limit=10"--pathParam:路径参数(可重复),例如--pathParam "id=123"
适用场景
- 需要列出或检索 Front 中的对话、联系人、收件箱、团队成员、团队、标签、渠道、消息模板或自动化规则
- 需要创建、更新或删除 Front 中的联系人或标签
- 需要更新对话属性(负责人、状态、标签等)
- 需要通过代理直接调用 Front API 完成自定义操作
限制
- 本技能依赖 Membrane CLI 与 Front 交互,需先安装 CLI 并完成身份验证和连接设置
- 使用前需确保连接状态为
READY - 资料中未提供 Front 本身的收费、价格、平台支持范围等具体信息
- 资料中未提供除上述列出操作之外的其他功能细节