feishu-task
Original:🇨🇳 Chinese
Translated
Feishu Task Management Tool, used for creating, querying, updating tasks and tasklists. **Use this Skill when**: (1) Need to create, query, update, or delete tasks (2) Need to create and manage tasklists (3) Need to view task lists or tasks within tasklists (4) User mentions "task", "to-do", "tasklist", "pending task" (5) Need to set task assignees, followers, and due dates
9installs
Sourcelarksuite/openclaw-lark
Added on
NPX Install
npx skill4agent add larksuite/openclaw-lark feishu-taskTags
Translated version includes tags in frontmatterSKILL.md Content (Chinese)
View Translation Comparison →Feishu Task Management
🚨 Pre-Execution Notes
- ✅ Time Format: ISO 8601 / RFC 3339 (with time zone), e.g.,
2026-02-28T17:00:00+08:00 - ✅ current_user_id Highly Recommended: Obtain from SenderId in message context. The tool will automatically add it as a follower (if not in members) to ensure the creator can edit the task
- ✅ patch/get Required: task_guid
- ✅ tasklist.tasks Required: tasklist_guid
- ✅ Complete Task: completed_at = "2026-02-26 15:00:00"
- ✅ Revert Completion (Restore to Incomplete): completed_at = "0"
📋 Quick Index: Intent → Tool → Required Parameters
| User Intent | Tool | action | Required Parameters | Highly Recommended | Common Optional |
|---|---|---|---|---|---|
| Create To-Do | feishu_task_task | create | summary | current_user_id (SenderId) | members, due, description |
| Query Incomplete Tasks | feishu_task_task | list | - | completed=false | page_size |
| Get Task Details | feishu_task_task | get | task_guid | - | - |
| Complete Task | feishu_task_task | patch | task_guid, completed_at | - | - |
| Revert Task Completion | feishu_task_task | patch | task_guid, completed_at="0" | - | - |
| Modify Due Date | feishu_task_task | patch | task_guid, due | - | - |
| Create Tasklist | feishu_task_tasklist | create | name | - | members |
| View Tasks in Tasklist | feishu_task_tasklist | tasks | tasklist_guid | - | completed |
| Add Tasklist Members | feishu_task_tasklist | add_members | tasklist_guid, members[] | - | - |
🎯 Core Constraints (Knowledge Not Disclosed in Schema)
1. Tool Uses User Identity (Built-in Protection)
The tool uses (user identity)
user_access_tokenThis means:
- ✅ You can assign any member when creating a task (including assigning to others only)
- ⚠️ You can only view and edit tasks where you are a member
- ⚠️ If you don't add yourself to members when creating, you won't be able to edit the task later
Automatic Protection Mechanism:
- Pass the parameter (obtained from SenderId)
current_user_id - If is not in
current_user_id, the tool will automatically add it as a followermembers - Ensures the creator can always edit the task
Recommended Usage: Always pass when creating tasks, the tool will handle member relationships automatically.
current_user_id2. Task Member Role Explanation
- assignee: Responsible for completing the task, can edit the task
- follower: Follows task progress, receives notifications
Example of Adding Members:
json
{
"members": [
{"id": "ou_xxx", "role": "assignee"}, // Assignee
{"id": "ou_yyy", "role": "follower"} // Follower
]
}Note: Use the user's for (obtained from SenderId in message context)
open_idid3. Tasklist Member Role Conflict
Phenomenon: When creating a tasklist () with , the returned is empty or missing members
tasklist.creatememberstasklist.membersReason: The creator automatically becomes the tasklist owner. If the creator is included in , the user will finally be set as owner and removed from (a user can only have one role)
membersmembersSuggestion: Do not include the creator in , only add other collaborative members
members4. Three Uses of completed_at
1) Complete Task (Set Completion Time):
json
{
"action": "patch",
"task_guid": "xxx",
"completed_at": "2026-02-26 15:30:00" // Beijing time string
}2) Revert Completion (Restore to Incomplete State):
json
{
"action": "patch",
"task_guid": "xxx",
"completed_at": "0" // Special value "0" means revert completion
}3) Millisecond Timestamp (Not recommended unless strictly generated by upper layer):
json
{
"completed_at": "1740545400000" // Millisecond timestamp string
}5. Tasklist Member Roles
| Member Type | Role | Description |
|---|---|---|
| user | owner | Owner, can transfer ownership |
| user | editor | Can edit, modify tasklist and tasks |
| user | viewer | Can view, read-only permission |
| chat | editor/viewer | The entire group gets the permission |
Note: When creating a tasklist, the creator automatically becomes the owner, no need to specify in members.
📌 Usage Scenario Examples
Scenario 1: Create Task and Assign Assignee
json
{
"action": "create",
"summary": "Prepare Weekly Meeting Materials",
"description": "Organize this week's work progress and next week's plan",
"current_user_id": "ou_sender's_open_id",
"due": {
"timestamp": "2026-02-28 17:00:00",
"is_all_day": false
},
"members": [
{"id": "ou_collaborator's_open_id", "role": "assignee"}
]
}Explanation:
- is a required field
summary - is highly recommended to pass (obtained from SenderId), the tool will automatically add it as a follower
current_user_id - can only include other collaborators, the current user will be added automatically
members - Use Beijing time string format
Scenario 2: Query Incomplete Tasks I'm Responsible For
json
{
"action": "list",
"completed": false,
"page_size": 20
}Scenario 3: Complete Task
json
{
"action": "patch",
"task_guid": "task_guid",
"completed_at": "2026-02-26 15:30:00"
}Scenario 4: Revert Task Completion (Restore to Incomplete State)
json
{
"action": "patch",
"task_guid": "task_guid",
"completed_at": "0"
}Scenario 5: Create Tasklist and Add Collaborators
json
{
"action": "create",
"name": "Product Iteration v2.0",
"members": [
{"id": "ou_xxx", "role": "editor"},
{"id": "ou_yyy", "role": "viewer"}
]
}Scenario 6: View Incomplete Tasks in Tasklist
json
{
"action": "tasks",
"tasklist_guid": "tasklist_guid",
"completed": false
}Scenario 7: All-Day Task
json
{
"action": "create",
"summary": "Annual Summary",
"due": {
"timestamp": "2026-03-01 00:00:00",
"is_all_day": true
}
}🔍 Common Errors and Troubleshooting
| Error Phenomenon | Root Cause | Solution |
|---|---|---|
| Cannot edit task after creation | Did not add yourself to members when creating | At least add the current user (SenderId) as assignee or follower when creating |
| patch fails with task_guid missing prompt | Did not pass task_guid parameter | Must pass task_guid for patch/get |
| tasks fails with tasklist_guid missing prompt | Did not pass tasklist_guid parameter | Must pass tasklist_guid for tasklist.tasks action |
| Revert completion fails | Incorrect completed_at format | Use the string |
| Incorrect time | Used Unix timestamp | Use ISO 8601 format (with time zone): |
📚 Appendix: Background Knowledge
A. Resource Relationships
Tasklist
└─ Custom Section (Optional)
└─ Task
├─ Members: assignee, follower
├─ Subtask
├─ Due Date, Start Time
└─ Attachments, CommentsCore Concepts:
- Task: Independent to-do item with a unique
task_guid - Tasklist: Container for organizing multiple tasks with a unique
tasklist_guid - assignee: Can edit tasks and mark them as completed
- follower: Receives task update notifications
- MyTasks: Collection of all tasks where you are the assignee
B. How to Get GUID
- task_guid: Obtain from in the return value after creating a task, or via
task.guidquerylist - tasklist_guid: Obtain from in the return value after creating a tasklist, or via
tasklist.guidquerylist
C. How to Add Task to Tasklist
Specify the parameter when creating a task:
tasklistsjson
{
"action": "create",
"summary": "Task Title",
"tasklists": [
{
"tasklist_guid": "tasklist_guid",
"section_guid": "section_guid (optional)"
}
]
}D. How to Create Recurring Tasks
Use the parameter in RRULE format:
repeat_rulejson
{
"action": "create",
"summary": "Weekly Meeting",
"due": {"timestamp": "2026-03-03 14:00:00", "is_all_day": false},
"repeat_rule": "FREQ=WEEKLY;INTERVAL=1;BYDAY=MO"
}Note: Only tasks with a due date can set a repeat rule.
E. Data Permissions
- Can only operate tasks you have permission for (tasks where you are a member)
- Can only operate tasklists you have permission for (tasklists where you are a member)
- Adding a task to a tasklist requires edit permissions for both the task and the tasklist