📦 Scheduly — 预约排班

v1.0.0

集成 Google 日历的在线预约与排班平台,支持事件类型管理、可用性规则设置及时间段预订,适合专业人士快速搭建个性化预约页面。

0· 80·0 当前·0 累计
下载技能包
最后更新
2026/4/1
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
技能声明用途(带 Google 日历同步的排班)与指令及 OpenAPI 接口一致;无过度环境或安装要求,但服务为外部调用,使用前需验证远程端点及 OAuth/付费影响。
评估建议
该技能在排班 API 层面内部一致:会向外部域 api.toolweb.in 发起请求并引导 Google OAuth,使远程服务访问你的日历。安装或使用前,请验证远程服务及隐私政策(未提供主页/源码),审查即将授予的 OAuth 范围,并确认“coins”/付费方式与账单。避免共享无关密钥或平台凭据;若连接 Google 账户,请仔细查看授权界面,必要时使用权限受限的账户。如需更高保障,请向发布者索要主页、源码仓库或说明令牌存储、保留与计费的文档。...
详细分析 ▾
用途与能力
名称/描述(排班、事件类型、可用性、Google 日历同步)与 SKILL.md 示例及提供的 OpenAPI 路径相符。未请求与声明用途相矛盾的环境变量、二进制文件或配置路径。
指令范围
SKILL.md 仅含指令,记录对远程 API(https://api.toolweb.in/tools/scheduly)及 Google OAuth 端点的 REST 调用。指令不要求读取本地文件、环境变量或其他系统状态,仅构造 API 请求。用户数据(姓名、邮箱、预订备注、OAuth 令牌)被导向外部服务,这对排班集成属预期行为。
安装机制
未包含安装规范或代码(仅指令),因此技能不会向磁盘写入或安装任何内容。这是最低风险的安装姿态,与技能内容一致。
凭证需求
技能未向代理请求环境变量或凭证。但依赖外部 OAuth 流程(Google)——用户将授予远程服务访问 Google 日历权限,服务将持有令牌。SKILL.md 还提及付费操作(创建事件类型每次 500 coins),但未说明支付凭证或 coins 计费方式;需向服务提供方核实该功能细节。
持久化与权限
技能未请求常驻(always 标志为 false),无安装时行为,也不修改其他技能或代理全局设置。默认允许自主调用,但此处未与其他高权限行为结合。
安全有层次,运行前请审查代码。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/4/1

Scheduly API 技能 v1.0.0 - 首次发布,带来全面的预约与排班管理功能。 - 创建与管理事件类型,含月度续期与自动续期选项。 - 通过 OAuth 实现与 Google 日历的无缝集成。 - 按日/时灵活设置可用性规则并管理屏蔽日期。 - 提供公开预约页面及完整预订生命周期管理。 - 专为需要集成、可定制排班解决方案的专业人士与服务提供商设计。

无害

安装命令

点击复制
官方npx clawhub@latest install toolweb-scheduly
镜像加速npx clawhub@latest install toolweb-scheduly --registry https://cn.longxiaskill.com

技能文档

# 概览 Scheduly 是一个全面的调度 API,允许用户创建自定义事件类型、管理可用时间并处理预订,内置 Google Calendar 同步功能。该平台专为需要简化调度流程的专业人士和团队设计,支持灵活的可用性规则、屏蔽日期管理和自动续期功能。 核心功能包括:创建和管理事件类型(每月续期,每次创建消耗 500 coins)、按天和按小时的精细化可用性排班、面向访客的公开预订页面以及完整的预订生命周期管理。用户可以连接 Google Calendar 账户、设置时区偏好,并启用自动续期以确保持续可用。 典型用户包括自由职业者、顾问、教练、治疗师以及任何需要向客户提供时间段,同时无缝管理日历集成的服务提供者。 ## 用法 ### 创建事件类型 ``json { "name": "30-Minute Consultation", "description": "One-on-one consultation session", "duration_minutes": 30, "color": "#3b82f6" } ` 请求: `bash curl -X POST https://api.toolweb.in/tools/scheduly/event-types \ -H "Content-Type: application/json" \ -d '{ "name": "30-Minute Consultation", "description": "One-on-one consultation session", "duration_minutes": 30, "color": "#3b82f6" }' \ -G --data-urlencode "user_id=user123" ` 响应: `json { "id": 1, "user_id": "user123", "name": "30-Minute Consultation", "slug": "30-minute-consultation", "description": "One-on-one consultation session", "duration_minutes": 30, "color": "#3b82f6", "created_at": "2024-01-15T10:30:00Z", "expires_at": "2024-02-15T10:30:00Z", "is_expired": false, "in_grace_period": false, "auto_renewal_enabled": false } ` ### 创建预订 `json { "event_type_slug": "30-minute-consultation", "guest_name": "John Doe", "guest_email": "john@example.com", "start_time": "2024-01-20T14:00:00Z", "timezone": "America/New_York", "notes": "Please call 5 minutes before the meeting" } ` 请求: `bash curl -X POST https://api.toolweb.in/tools/scheduly/bookings \ -H "Content-Type: application/json" \ -d '{ "event_type_slug": "30-minute-consultation", "guest_name": "John Doe", "guest_email": "john@example.com", "start_time": "2024-01-20T14:00:00Z", "timezone": "America/New_York", "notes": "Please call 5 minutes before the meeting" }' ` 响应: `json { "id": "booking-001", "event_type_id": 1, "event_type_name": "30-Minute Consultation", "guest_name": "John Doe", "guest_email": "john@example.com", "start_time": "2024-01-20T14:00:00Z", "end_time": "2024-01-20T14:30:00Z", "timezone": "America/New_York", "notes": "Please call 5 minutes before the meeting", "created_at": "2024-01-15T11:00:00Z", "status": "confirmed" } ` ## 端点 ### 根与健康检查 #### GET / 读取根端点。返回基础服务信息。 参数:响应: 服务元数据与状态。 --- #### GET /health 健康检查端点。验证 API 是否运行。 参数:响应: 健康状态确认。 --- ### Google OAuth 认证 #### GET /google/login 启动 Google OAuth 流程以集成日历。 参数: - user_id(string,必需):唯一用户标识 响应: OAuth 授权 URL 与会话 state。 --- #### GET /google/callback 处理用户授权后的 Google OAuth 回调。 参数: - code(string,必需):来自 Google 的授权码 - state(string,必需):CSRF 保护用的 state 参数 响应: 用户资料与日历连接确认。 --- #### POST /user/disconnect-google 断开 Google Calendar 账户并撤销令牌。 参数: - user_id(string,必需):唯一用户标识 响应: 断开确认。 --- ### 事件类型管理 #### POST /event-types 创建新事件类型。消耗 500 coins,有效期 1 个月。 参数: - user_id(string,必需):唯一用户标识 请求体: - name(string,必需):事件类型名称 - description(string,可选):事件描述 - duration_minutes(integer,必需):持续分钟数 - color(string,可选,默认 #3b82f6):UI 展示的十六进制颜色 响应: 已创建事件类型,包含 slug、到期日期与续期状态。 --- #### GET /event-types 获取用户的所有事件类型,含到期状态、宽限期与自动续期信息。 参数: - user_id(string,必需):唯一用户标识 响应: 事件类型数组,含: - id:事件类型 ID - name:事件类型名称 - slug:URL 友好标识 - duration_minutes:预订时长 - is_expired:是否过期布尔值 - in_grace_period:是否在宽限期布尔值 - auto_renewal_enabled:是否启用自动续期布尔值 - expires_at:到期时间戳 --- #### GET /event-types/{slug} 通过 slug 获取特定事件类型。 参数: - slug(string,必需,路径):事件类型 slug - user_id(string,必需):唯一用户标识 响应: 单个事件类型对象,含完整详情。 --- #### DELETE /event-types/{event_id} 删除事件类型。 参数: - event_id(integer,必需,路径):事件类型 ID - user_id(string,必需):唯一用户标识 响应: 删除确认。 --- #### POST /event-types/{event_id}/renew 续期已过期事件类型。消耗 500 coins,延长 1 个月。 参数: - event_id(integer,必需,路径):事件类型 ID - user_id(string,必需):唯一用户标识 响应: 更新后的事件类型,含新到期日期。 --- #### POST /event-types/{event_id}/toggle-auto-renewal 启用或禁用事件类型的自动续期。 参数: - event_id(integer,必需,路径):事件类型 ID - user_id(string,必需):唯一用户标识 - enabled(boolean,必需):自动续期状态(true/false) 响应: 更新后的事件类型,含自动续期状态。 --- ### 可用性管理 #### POST /availability 设置排班可用性规则。 参数: - user_id(string,必需):唯一用户标识 请求体: 可用性规则数组: - day_of_week(integer,必需):星期几,0=周一 到 6=周日 - start_time(string,必需):开始时间,HH:MM 格式 - end_time(string,必需):结束时间,HH:MM 格式 响应: 可用性规则保存确认。 --- #### GET /availability 获取用户的所有可用性规则。 参数: - user_id(string,必需):唯一用户标识 响应: 可用性规则数组,含星期、开始与结束时间。 --- #### GET /available-slots 获取指定日期的带可用状态的时间段。 参数: - user_id(string,必需):唯一用户标识 - event_type_slug(string,必需):事件类型 slug - date(string,必需):日期,YYYY-MM-DD 格式 响应: 可用时间段数组,含: - time:时间段,HH:MM 格式 - available:是否可预订布尔值 - booked_by:若已预订则显示访客姓名 --- ### 预订管理 #### POST /bookings 创建新预订。 参数:请求体: - event_type_slug(string,必需):事件类型 slug - guest_name(string,必需):访客全名 - guest_email(string,必需):访客邮箱 - start_time(string,必需):预订开始时间,ISO 8601 格式 - timezone(string,必需):访客时区(如 America/New_York) - notes(string,可选):附加预订备注 响应: 已创建预订对象,含确认详情。 --- #### GET /bookings 获取用户的所有预订。 参数: - user_id(string,必需):唯一用户标识 响应: 预订数组,含访客信息、时间与状态。 --- #### DELETE /bookings/{booking_id} 取消预订。 参数: - booking_id(string,必需,路径):预订 ID - user_id(string,必需):唯一用户标识 响应: 取消确认。 --- ### 用户管理 #### GET /user/info 获取用户信息及资料详情。 参数: - user_id(string,必需):唯一用户标识 响应: 用户对象,含姓名、邮箱、时区与账户状态。 --- #### POST /user/timezone 更新用户时区设置。 参数: - user_id(string,必需):唯一用户标识 请求体: - timezone(string,必需):时区标识(如 America/Los_Angeles) 响应: 更新后的用户资料,含新时区。 --- #### POST /user/sync-wordpress-name 获取并同步 WordPress 用户显示名。 参数: - user_id(string,必需):唯一用户标识 响应: 更新后的用户资料,含同步后的显示名。 --- #### POST /user/init 无需 Google OAuth 初始化用户(独立模式)。 参数: - user_id(string,必需):唯一用户标识 - name(string,可选):用户显示名 - email(string,可选):用户邮箱 响应: 已初始化用户资料,含账户创建时间戳。 --- ### 屏蔽日期管理 #### GET /blocked-dates 获取用户的所有屏蔽日期。 参数: - user_id(string,必需):唯一用户标识 响应: 屏蔽日期数组,含: - id:屏蔽日期 ID - date:被屏蔽日期,YYYY-MM-DD 格式 - reason:可选的屏蔽原因 --- #### POST /blocked-dates 添加屏蔽日期。 参数: - user_id(string,必需):唯一用户标识 - date_str(string,必需):日期,YYYY-MM-DD 格式 - reason(string,可选):屏蔽原因 响应: 已创建屏蔽日期对象。 --- #### DELETE /blocked-dates/{blocked_id} 移除屏蔽日期。 参数: - blocked_id(integer,必需,路径):屏蔽日期 ID - user_id(string,必需):唯一用户标识 响应: 删除确认。 --- ### 公开预订页面 #### GET /public/{user_id}/{slug} 无需认证获取公开预订页面信息。 参数: - user_id(string,必需,路径):用户标识 - slug(string,必需,路径):事件类型 slug 响应: 公开事件类型详情,含可预订时间段。 --- ### 调度器 #### POST /scheduler/process-expirations` 处理所有到期事件、自动续期并发送通知。 注意: 该端点应由 cron 作业每日调用。 参数:响应: 处理摘要,含已处理到期与续期数量。 --- ## 定价 | 套餐 | 每日调用 | 每月调用 | 价格 | |------|-----------|-------------|-------| | 免费 | 5 | 50 | 免费 | | 开发者 | 20 | 500 | $39/月 | | 专业版 | 200 | 5,000 | $99/月 | | 企业版 | 100,000 | 1,000,000 | $299/月 | ## 关于 ToolWeb.in - 200+ 安全 API,CISSP & CISM,平台:按次计费、API Gateway、MCP Server、OpenClaw、RapidAPI、YouTube。 - toolweb.in - portal.toolweb.in - hub.toolweb.in - toolweb.in/openclaw/ - rapidapi.com/user/mkrishna477 - youtube.com/@toolweb-009 ## 参考 - Kong 路由: https://api.toolweb.in/tools/scheduly - API 文档: https://api.toolweb.in:8160/docs

数据来源ClawHub ↗ · 中文优化:龙虾技能库