Feishu Calendar Conflict Detector
by @ramlee77
Feishu Calendar Conflict Detector - Detect scheduling conflicts before booking meetings. **Features**: - Check if attendees are available before creating mee...
clawhub install feishu-calendar-conflictπ About This Skill
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
2026-03-31T14:00:00+08:00π 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):
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οΌζ²‘ζε²ηͺ β"