360 Secure SkillHub
360 安全技能中心

Feishu Calendar Conflict Detector

该 Skill 通过 Feishu 日历工具查询参会者空闲/忙碌时段,检测会议时间冲突并建议可用时间段;支持单人或最多 10 人批量查询,采用 ISO 8601 时间格式,并可创建会议事件。仅提供提示与流程,不含可执行代码或认证配置。

ramlee77
ramlee77
热度 37.05
最近更新 2026-05-11 17:38:37
分类:协作依赖:MCP 服务 / 第三方 API应用场景:日程安排 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add feishu-calendar-conflict
Metadata
name
feishu-calendar-conflict
description
Feishu Calendar Conflict Detector - Detect scheduling conflicts before booking meetings. **Features**: - Check if attendees are available before creating meeting - Query multiple users' free/busy status - Suggest available time slots - Visualize calendar conflicts **Trigger**: - User mentions "check conflict", "时间冲突", "冲突检测", "有没有空" - User wants to book a meeting and check availability

Feishu Calendar Conflict Detector

⚠️ Pre-requisites

  • ✅ Time format: ISO 8601 / RFC 3339 (with timezone), e.g. 2026-03-31T14:00:00+08:00
  • ✅ Batch query: Can check up to 10 users at once
  • ✅ user_open_id needed: Get from message context SenderId

📋 Quick Reference

Intent Tool action Required Params
Check free/busy feishu_calendar_freebusy list time_min, time_max, user_ids
Create meeting feishu_calendar_event create summary, start_time, end_time
Query user ID feishu_search_user - query

🛠️ Usage

1. Check Single User Availability

{
  "action": "list",
  "time_min": "2026-03-31T09:00:00+08:00",
  "time_max": "2026-03-31T18:00:00+08:00",
  "user_ids": ["ou_xxx"]
}

Response format:

{
  "busy_slots": [
    {"start": "2026-03-31T10:00:00+08:00", "end": "2026-03-31T11:00:00+08:00"},
    {"start": "2026-03-31T14:00:00+08:00", "end": "2026-03-31T15:30:00+08:00"}
  ],
  "free_slots": [
    {"start": "2026-03-31T09:00:00+08:00", "end": "2026-03-31T10:00:00+08:00"},
    {"start": "2026-03-31T11:00:00+08:00", "end": "2026-03-31T14:00:00+08:00"},
    {"start": "2026-03-31T15:30:00+08:00", "end": "2026-03-31T18:00:00+08:00"}
  ]
}

2. Check Multiple Users Availability

{
  "action": "list",
  "time_min": "2026-03-31T09:00:00+08:00",
  "time_max": "2026-03-31T18:00:00+08:00",
  "user_ids": ["ou_xxx", "ou_yyy", "ou_zzz"]
}

Result: Returns common free time slots when ALL users are free.

3. Find Available Meeting Slots

Algorithm:

  1. Get busy slots for all attendees
  2. Find gaps between busy slots
  3. Filter by minimum meeting duration
  4. Return available windows

Example: 2-hour meeting, 3 attendees

{
  "action": "list",
  "time_min": "2026-03-31T09:00:00+08:00",
  "time_max": "2026-03-31T18:00:00+08:00",
  "user_ids": ["ou_xxx", "ou_yyy", "ou_zzz"]
}

Suggested slots (if busy 10-11, 14-15:30):

  • 09:00-10:00 ✓
  • 11:00-14:00 ✓
  • 15:30-18:00 ✓

4. Conflict Warning

Before creating a meeting, warn user if conflicts exist:

{
  "action": "list",
  "time_min": "2026-03-31T10:00:00+08:00",
  "time_max": "2026-03-31T11:00:00+08:00",
  "user_ids": ["ou_xxx", "ou_yyy"]
}

If response shows busy slots in this time range → Conflict detected!


💰 Pricing

Version Price Features
Free ¥0 Check 1-2 users
Pro ¥12/month Check up to 10 users, auto-suggest slots
Team ¥35/month Historical analysis, recurring meeting conflicts

📝 Example

User says: "看一下明天上午10点张三和李四有没有空"

Execute:

  1. Search for 张三 and 李四 to get open_ids
  2. Query free/busy for tomorrow morning 09:00-12:00
  3. Check if 10:00-11:00 is in free slot
  4. Report availability

Response: "张三和李四在明天上午10点都OK,没有冲突 ✓"


🔧 Tips

  • Query 30 minutes before/after desired time for buffer
  • Consider user's working hours (default: 09:00-18:00)
  • For international teams, account for timezone differences
  • Use "tentative" status as "may be busy" warning