Feishu Task Tools

SkillProductivity

Feishu Task, tasklist, subtask, comment, and attachment management. Activate when user mentions tasks, tasklists, subtasks, task comments, task attachments, or task links.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Feishu Task Tools skill

What this skill tells your AI

The instructions your AI receives, as published by openxjarvis/openclaw-python in extensions/feishu/skills/feishu-task/SKILL.md and read by ahel’s review.

Tools:

  • feishu_task_create
  • feishu_task_subtask_create
  • feishu_task_get
  • feishu_task_update
  • feishu_task_delete
  • feishu_task_comment_create
  • feishu_task_comment_list
  • feishu_task_comment_get
  • feishu_task_comment_update
  • feishu_task_comment_delete
  • feishu_task_attachment_upload
  • feishu_task_attachment_list
  • feishu_task_attachment_get
  • feishu_task_attachment_delete
  • feishu_task_add_tasklist
  • feishu_task_remove_tasklist
  • feishu_tasklist_create
  • feishu_tasklist_get
  • feishu_tasklist_list
  • feishu_tasklist_update
  • feishu_tasklist_delete
  • feishu_tasklist_add_members
  • feishu_tasklist_remove_members

Notes

  • task_guid can be taken from a task URL (guid query param) or from feishu_task_get output.
  • comment_id can be obtained from feishu_task_comment_list output.
  • attachment_guid can be obtained from feishu_task_attachment_list output.
  • user_id_type controls returned/accepted user identity type (open_id, user_id, union_id).
  • If no assignee is specified, set the assignee to the requesting user. Avoid creating unassigned tasks because the user may not be able to view them.
  • Task visibility: users can only view tasks when they are included as assignee.
  • Current limitation: the bot can only create subtasks for tasks created by itself.
  • Attachment upload supports local file_path and remote file_url. Remote URLs are fetched with runtime media safety checks and size limit (mediaMaxMb).
  • Keep tasklist owner as the bot. Add users as members to avoid losing bot access.
  • Use tasklist tools for tasklist membership changes; do not use feishu_task_update to move tasks between tasklists.

Create Task

{
  "summary": "Quarterly review",
  "description": "Prepare review notes",
  "due": { "timestamp": "1735689600000", "is_all_day": true },
  "members": [
    { "id": "ou_xxx", "role": "assignee", "type": "user" }
  ],
  "user_id_type": "open_id"
}

Create Subtask

{
  "task_guid": "e297ddff-06ca-4166-b917-4ce57cd3a7a0",
  "summary": "Draft report outline",
  "description": "Collect key metrics",
  "due": { "timestamp": "1735689600000", "is_all_day": true },
  "members": [
    { "id": "ou_xxx", "role": "assignee", "type": "user" }
  ],
  "user_id_type": "open_id"
}

Create Comment

{
  "task_guid": "e297ddff-06ca-4166-b917-4ce57cd3a7a0",
  "content": "Looks good to me",
  "user_id_type": "open_id"
}

Upload Attachment (file_path)

{
  "task_guid": "e297ddff-06ca-4166-b917-4ce57cd3a7a0",
  "file_path": "/path/to/report.pdf",
  "user_id_type": "open_id"
}

Upload Attachment (file_url)

{
  "task_guid": "e297ddff-06ca-4166-b917-4ce57cd3a7a0",
  "file_url": "https://oss-example.com/bucket/report.pdf",
  "filename": "report.pdf",
  "user_id_type": "open_id"
}

Tasklist Membership For Tasks

Add Task to Tasklist

{
  "task_guid": "e297ddff-06ca-4166-b917-4ce57cd3a7a0",
  "tasklist_guid": "cc371766-6584-cf50-a222-c22cd9055004",
  "section_guid": "6d0f9f48-2e06-4e3d-8a0f-acde196e8c61",
  "user_id_type": "open_id"
}

Remove Task from Tasklist

{
  "task_guid": "e297ddff-06ca-4166-b917-4ce57cd3a7a0",
  "tasklist_guid": "cc371766-6584-cf50-a222-c22cd9055004",
  "user_id_type": "open_id"
}

Tasklists

Tasklists support three roles: owner (read/edit/manage), editor (read/edit), viewer (read).

Create Tasklist

{
  "name": "Project Alpha Tasklist",
  "members": [
    { "id": "ou_xxx", "type": "user", "role": "editor" }
  ],
  "user_id_type": "open_id"
}

Get Tasklist

{
  "tasklist_guid": "cc371766-6584-cf50-a222-c22cd9055004",
  "user_id_type": "open_id"
}

List Tasklists

{
  "page_size": 50,
  "page_token": "aWQ9NzEwMjMzMjMxMDE=",
  "user_id_type": "open_id"
}

Update Tasklist

{
  "tasklist_guid": "cc371766-6584-cf50-a222-c22cd9055004",
  "tasklist": {
    "name": "Renamed Tasklist",
    "owner": { "id": "ou_xxx", "type": "user", "role": "owner" }
  },
  "update_fields": ["name", "owner"],
  "origin_owner_to_role": "editor",
  "user_id_type": "open_id"
}

Delete Tasklist

{
  "tasklist_guid": "cc371766-6584-cf50-a222-c22cd9055004"
}

Add Tasklist Members

{
  "tasklist_guid": "cc371766-6584-cf50-a222-c22cd9055004",
  "members": [
    { "id": "ou_xxx", "type": "user", "role": "editor" }
  ],
  "user_id_type": "open_id"
}

Remove Tasklist Members

{
  "tasklist_guid": "cc371766-6584-cf50-a222-c22cd9055004",
  "members": [
    { "id": "ou_xxx", "type": "user", "role": "viewer" }
  ],
  "user_id_type": "open_id"
}

Signals

GitHub stars
67
Forks
23
Last commit
May 2026
Advanced
Catalog kind
skill
Gateway key
feishu-task
Source
github.com/openxjarvis/openclaw-python