بنقرة واحدة
m365-lists
SharePoint Lists: Create and manage metadata lists, list items, and columns.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
SharePoint Lists: Create and manage metadata lists, list items, and columns.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
M365 CLI: Auth, config, global flags, and site/drive discovery. Prerequisite for all m365-* skills.
Microsoft 365 Mail: Read, send, reply to, and delete email messages; manage mail folders.
SharePoint Docs: Create, co-edit, convert, and share .md/.txt/.docx documents collaboratively in chat.
SharePoint Files: Upload, download, copy, move, rename, delete, and search files in SharePoint document libraries.
Microsoft 365 Calendar: Create, read, update, and delete events; RSVP to invitations; access shared calendars.
| name | m365-lists |
| version | 0.1.0 |
| description | SharePoint Lists: Create and manage metadata lists, list items, and columns. |
| metadata | {"openclaw":{"category":"productivity","requires":{"bins":["m365"],"skills":["m365-shared"]},"cliHelp":"m365 lists --help"}} |
SharePoint has two distinct object types that both appear as "lists" in the Graph API:
| Type | Template | Purpose | Managed via |
|---|---|---|---|
| List | generic | Pure metadata: rows and columns, no file storage | m365 lists |
| Document Library | documentLibrary | File storage with metadata columns | m365 files / m365 drives |
Always use m365 lists create for metadata lists only.
To create a document library, use the SharePoint UI or m365 drives.
m365 lists list returns both types by default. Use --type generic to show only metadata lists.
Complete auth setup from m365-shared SKILL.md, then set a default site:
m365 sites list | jq '.data[] | {id, displayName}'
m365 config set --site <site-id>
m365 lists list [--site <id>] [--type generic|documentLibrary]
# Only metadata lists (not document libraries)
m365 lists list --type generic | jq '.data[] | {id, displayName}'
# All lists (includes document libraries)
m365 lists list | jq '.data[] | {id, displayName, list}'
m365 lists get <list-id> [--site <id>]
m365 lists get 01ABC123-...
# Creates a generic metadata list (NOT a document library)
m365 lists create --name <name> [--site <id>]
m365 lists create --name "Project Tasks"
m365 lists update <list-id> --name <new-name> [--site <id>]
m365 lists update 01ABC123-... --name "Renamed Tasks"
m365 lists delete <list-id> [--site <id>]
m365 lists delete 01ABC123-...
m365 lists items list <list-id> [--site <id>] [--filter <odata>] [--select <fields>]
m365 lists items list 01ABC123-...
m365 lists items list 01ABC123-... --filter "fields/Status eq 'Active'"
m365 lists items list 01ABC123-... --select "fields/Title,fields/Status"
Output: array of listItem objects with expanded fields.
m365 lists items get <list-id> <item-id> [--site <id>]
m365 lists items get 01ABC123-... 42
m365 lists items create <list-id> --fields '<json>' [--site <id>]
m365 lists items create 01ABC123-... --fields '{"Title":"New Task","Status":"Active"}'
Field names must match the list's internal column names.
m365 lists items update <list-id> <item-id> --fields '<json>' [--site <id>]
m365 lists items update 01ABC123-... 42 --fields '{"Status":"Completed"}'
Only the provided fields are updated (PATCH semantics).
m365 lists items delete <list-id> <item-id> [--site <id>]
m365 lists items delete 01ABC123-... 42
Columns apply to generic metadata lists. (Document library columns can also be managed this way, but use m365 lists list --type documentLibrary to find those list IDs.)
m365 lists columns list <list-id> [--site <id>]
m365 lists columns list 01ABC123-... | jq '.data[] | {id, name, columnGroup}'
m365 lists columns get <list-id> <column-id> [--site <id>]
m365 lists columns add <list-id> --name <name> --type <type> [--required] [--site <id>]
Supported types:
| Type | Description |
|---|---|
text | Single line of text |
number | Numeric value |
boolean | Yes/No checkbox |
dateTime | Date and time picker |
choice | Choice dropdown (choices editable via Graph) |
person | Person or group picker |
lookup | Lookup to another list |
hyperlink | URL/hyperlink field |
currency | Currency value (en-US locale) |
m365 lists columns add 01ABC123-... --name "Priority" --type choice
m365 lists columns add 01ABC123-... --name "DueDate" --type dateTime --required
m365 lists columns add 01ABC123-... --name "Owner" --type person
m365 lists columns update <list-id> <column-id> [--name <name>] [--required <bool>] [--site <id>]
m365 lists columns update 01ABC123-... col-id-... --name "Deadline"
m365 lists columns update 01ABC123-... col-id-... --required true
m365 lists columns remove <list-id> <column-id> [--site <id>]
m365 lists columns remove 01ABC123-... col-id-...
list_id=$(m365 lists create --name "Sprint Tasks" | jq -r '.data.id')
m365 lists columns add "$list_id" --name "Status" --type choice --required
m365 lists columns add "$list_id" --name "Assignee" --type person
m365 lists columns add "$list_id" --name "DueDate" --type dateTime
m365 lists items create "$list_id" --fields '{"Title":"Implement login","Status":"Active"}'
# Items where Status is 'Completed'
m365 lists items list "$list_id" --filter "fields/Status eq 'Completed'" \
| jq '.data[] | .fields | {id, Title, Status}'
cat tasks.json | jq -c '.[]' | while read item; do
m365 lists items create "$list_id" --fields "$item"
done
GET /sites/{siteId}/lists — list all listsGET /sites/{siteId}/lists/{listId} — get listPOST /sites/{siteId}/lists — create listPATCH /sites/{siteId}/lists/{listId} — update listDELETE /sites/{siteId}/lists/{listId} — delete listGET /sites/{siteId}/lists/{listId}/items?expand=fields — list itemsGET /sites/{siteId}/lists/{listId}/items/{itemId}?expand=fields — get itemPOST /sites/{siteId}/lists/{listId}/items — create itemPATCH /sites/{siteId}/lists/{listId}/items/{itemId}/fields — update item fieldsDELETE /sites/{siteId}/lists/{listId}/items/{itemId} — delete itemGET /sites/{siteId}/lists/{listId}/columns — list columnsPOST /sites/{siteId}/lists/{listId}/columns — add columnPATCH /sites/{siteId}/lists/{listId}/columns/{columnId} — update columnDELETE /sites/{siteId}/lists/{listId}/columns/{columnId} — remove columnm365 lists --help
m365 lists items --help
m365 lists columns --help
m365 lists columns add --help