其他
需要操作 Calendly 用户、事件、预约链接时,用…
在已具备 Membrane 账号和网络访问的前提下,通过 Membrane CLI 连接 Calendly,发现/运行预置 actions,或用 proxy 直连 Calendly API。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 40/100 ×0.15
适用场景
需要操作 Calendly 用户、事件、特定
解决思路
- 按需使用 action 名称和参数;Calendly 核心实体包括 Event(含 Invitee)、User、Scheduling Link。
- 安装 Membrane CLI,以便在终端运行 `membrane`:`npm install -g @membranehq/cli@latest`。
- 认证:运行 `membrane login --tenant --clientName=<agentType>`;视是否支持交互模式,会打开浏览器或打印授权 URL。
- 在 headless 环境中,命令会打印授权 URL;让用户在浏览器打开;用户完成登录看到 code 后,用 `membrane login complete <code>` 完成登录。
- 任意命令都可加 `--json`,获得机器可读的 JSON 输出。
- `agentType` 可用 claude、openclaw、codex、warp、windsurf 等;它会针对你的 harness 调整工具使用方式。
- 连接 Calendly:用 `membrane connection ensure "https://calendly.com/" --json` 按应用 URL 或域名查找/创建连接;用户在浏览器完成认证;输出包含新 connection id。
- `connection ensure` 是最快获得连接的方式;URL 会规范化为域名并匹配已知应用;若未找到应用,会自动创建并构建 connector。
- 如果返回的 connection 的 `state` 为 `READY`,跳到 Step 2。
- 如果 connection 处于 `BUILDING` 状态,轮询直到就绪:`npx @membranehq/cli connection get <id> --wait --json`。
- `--wait` 会长轮询(最多 `--timeout` 秒,默认 30)直到状态变化;持续轮询直到 `state` 不再是 `BUILDING`。
- 状态为 `READY`:连接已完全设置好,跳到 Step 2。
- 状态为 `CLIENT_ACTION_REQUIRED`:用户或 agent 需要执行操作;查看 `clientAction` 对象。
- `clientAction.type` 为 `connect`:用户需要认证(OAuth、API key 等),涵盖初次认证和断连后的重新认证。
- `clientAction.type` 为 `provide-input`:需要更多信息(例如连接哪个应用)。
- 读取 `clientAction.description` 了解需要做什么;若存在 `clientAction.uiUrl`,展示给用户;若存在 `clientAction.agentInstructions`,按程序化说明继续。
- 用户完成操作后,再次用 `membrane connection get <id> --json` 轮询,检查是否变为 `READY`。
- 状态为 `CONFIGURATION_ERROR` 或 `SETUP_FAILED`:检查 `error` 字段了解详情。
- 用自然语言描述搜索 action:`membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json`。
- 始终在特定 connection 上下文中搜索 actions。
- 每个搜索结果包含 `id`、`name`、`description`、`inputSchema`(接受的参数)、`outputSchema`(返回内容)。
- 可用常见 action:List Organization Members (`list-organization-members`) 返回组织成员/成员关系列表。
- 可用常见 action:Get User (`get-user`) 按 UUID 返回指定用户信息。
- 可用常见 action:List User Busy Times (`list-user-busy-times`) 返回用户在指定日期范围内的忙碌时间段列表。
- 可用常见 action:Delete Webhook Subscription (`delete-webhook-subscription`) 按 UUID 删除 webhook subscription。
- 可用常见 action:List Webhook Subscriptions (`list-webhook-subscriptions`) 返回组织或用户的所有 webhook subscriptions。
- 可用常见 action:Create Webhook Subscription (`create-webhook-subscription`) 创建 webhook subscription,以接收 invitee.created、invitee.canceled 等事件通知。
- 可用常见 action:Cancel Event (`cancel-event`) 取消已安排的 event。
- 可用常见 action:Create Scheduling Link (`create-scheduling-link`) 为 event type 创建单次使用的 scheduling link。
- 可用常见 action:Get Event Type Available Times (`get-event-type-available-times`) 返回 event type 在指定日期范围内的可用时间段列表。
- 可用常见 action:List Event Invitees (`list-event-invitees`) 返回指定已安排 event 的 invitees。
- 可用常见 action:Get Event Type (`get-event-type`) 按 UUID 返回指定 event type 的详细信息。
- 可用常见 action:List Event Types (`list-event-types`) 返回与用户或组织关联的所有 event types。
- 可用常见 action:Get Scheduled Event (`get-scheduled-event`) 按 UUID 返回指定 scheduled event 的详细信息。
- 可用常见 action:List Scheduled Events (`list-scheduled-events`) 返回 scheduled events 列表。
- 可用常见 action:Get Current User (`get-current-user`) 返回当前认证用户的信息,包括姓名、邮箱、时区、scheduling URL 和 org 等。
- 运行 action:`membrane action run <actionId> --connectionId=CONNECTION_ID --json`。
- 传 JSON 参数:`membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json`。
- action 结果在响应的 `output` 字段。
- 当可用 actions 不覆盖用例时,通过 Membrane proxy 直接向 Calendly API 发请求:`membrane request CONNECTION_ID /path/to/endpoint`。
- Membrane 会自动追加 base URL,并注入正确认证头,包括凭证过期时的透明刷新。
- proxy 常用选项 `-X, --method`:HTTP 方法(GET、POST、PUT、PATCH、DELETE),默认 GET。
- proxy 常用选项 `-H, --header`:添加请求头(可重复),例如 `-H "Accept: application/json"`。
- proxy 常用选项 `-d, --data`:请求体(字符串)。
- proxy 常用选项 `--json`:简写,发送 JSON body 并设置 `Content-Type: application/json`。
- proxy 常用选项 `--rawData`:按原样发送 body,不做处理。
- proxy 常用选项 `--query`:查询字符串参数(可重复),例如 `--query "limit=10"`。
- proxy 常用选项 `--pathParam`:路径参数(可重复),例如 `--pathParam "id=123"`。
- 最佳实践:始终优先用 Membrane 与外部应用通信;Membrane 提供预构建 actions,内置认证、分页和错误处理,可减少 token 消耗并更安全。
- 最佳实践:先发现再构建;运行 `membrane action list --intent=QUERY` 查找已有 actions,再写自定义 API 调用;预构建 actions 处理分页、字段映射和边缘情况。
- 最佳实践:让 Membrane 处理凭证;绝不要向用户索要 API keys 或 tokens;改为创建 connection;Membrane 在服务端管理完整 Auth 生命周期,无本地 secrets。
适用边界 · 注意事项
- 没有有效 Membrane 账号或网络访问时不要用(技能明确要求网络访问和有效 Membrane 账号,免费版可用)。
- 如果必须直接管理 Calendly OAuth/API key,或不允许经由 Membrane 处理认证/代理,不要用。
- 不涉及 Calendly 或外部 API 交互的本地任务不适用。