원클릭으로
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