SharePoint Automation

SharePoint Automation: manage sites, lists, documents, folders, pages, and search content across SharePoint and OneDrive

38 stars

Best use case

SharePoint Automation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

SharePoint Automation: manage sites, lists, documents, folders, pages, and search content across SharePoint and OneDrive

Teams using SharePoint Automation should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/share-point-automation/SKILL.md --create-dirs "https://raw.githubusercontent.com/lingxling/awesome-skills-cn/main/composiohq-awesome-claude-skills/composio-skills/share-point-automation/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/share-point-automation/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How SharePoint Automation Compares

Feature / AgentSharePoint AutomationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

SharePoint Automation: manage sites, lists, documents, folders, pages, and search content across SharePoint and OneDrive

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# SharePoint Automation

Automate SharePoint operations including managing sites, lists, documents, folders, and pages. Integrates with both SharePoint REST API and Microsoft Graph via OneDrive.

**Toolkit docs:** [composio.dev/toolkits/share_point](https://composio.dev/toolkits/share_point)

---

## Setup

This skill requires the **Rube MCP server** connected at `https://rube.app/mcp`.

Before executing any tools, ensure active connections exist for the `share_point` and `one_drive` toolkits. If no connection is active, initiate one via `RUBE_MANAGE_CONNECTIONS`.

> **Note:** Many OneDrive/SharePoint tools only work with organizational Microsoft 365 accounts (Azure AD/Entra ID). Personal Microsoft accounts are NOT supported.

---

## Core Workflows

### 1. List and Browse Sites

Retrieve site details and enumerate subsites to discover the SharePoint topology.

**Tools:**
- `ONE_DRIVE_GET_SITE_DETAILS` -- Get metadata for a specific site by ID
- `ONE_DRIVE_LIST_SITE_SUBSITES` -- List all subsites of a parent site

**Key Parameters:**
- `site_id` (required) -- Composite format: `hostname,site-collection-guid,web-guid` (e.g., `"contoso.sharepoint.com,da60e844-...,712a596e-..."`)

**Example:**
```
Tool: ONE_DRIVE_GET_SITE_DETAILS
Arguments:
  site_id: "contoso.sharepoint.com,2C712604-1370-44E7-A1F5-426573FDA80A,2D2244C3-251A-49EA-93A8-39E1C3A060FE"
```

---

### 2. Manage Lists

Create lists, enumerate existing lists, and retrieve list items.

**Tools:**
- `SHARE_POINT_LIST_ALL_LISTS` -- Retrieve all lists on a site (supports OData filter, select, orderby, top)
- `SHARE_POINT_SHAREPOINT_CREATE_LIST` -- Create a new list with a specified template
- `ONE_DRIVE_LIST_SITE_LISTS` -- List all lists under a site via Microsoft Graph
- `ONE_DRIVE_GET_SHAREPOINT_LIST_ITEMS` -- Retrieve items from a specific list

**Key Parameters for `SHARE_POINT_SHAREPOINT_CREATE_LIST`:**
- `name` (required) -- List name
- `template` (required) -- Template type: `"genericList"`, `"documentLibrary"`, `"tasks"`, etc.
- `description` -- Optional description

**Key Parameters for `SHARE_POINT_LIST_ALL_LISTS`:**
- `filter` -- OData filter, e.g., `"Hidden eq false"`
- `select` -- Properties to return, e.g., `"Title,Id"`
- `orderby` -- Sort expression, e.g., `"Title desc"`
- `top` -- Limit results count

**Example:**
```
Tool: SHARE_POINT_SHAREPOINT_CREATE_LIST
Arguments:
  name: "Project Tasks"
  template: "tasks"
  description: "Task tracking for Q1 deliverables"
```

---

### 3. Manage Folders and Files

Create folders, list files within folders, and navigate the document library.

**Tools:**
- `SHARE_POINT_SHAREPOINT_CREATE_FOLDER` -- Create a new folder in a document library
- `SHARE_POINT_LIST_FILES_IN_FOLDER` -- List files within a folder by server-relative URL
- `SHARE_POINT_GET_FOLDER_BY_SERVER_RELATIVE_URL` -- Get folder metadata by path

**Key Parameters for `SHARE_POINT_SHAREPOINT_CREATE_FOLDER`:**
- `folder_name` (required) -- Name of the folder to create
- `document_library` -- Target library (default: `"Shared Documents"`)
- `relative_path` -- Additional path within the library

**Key Parameters for `SHARE_POINT_LIST_FILES_IN_FOLDER`:**
- `folder_name` (required) -- Server-relative URL, e.g., `"/Shared Documents"`
- `select` -- Comma-separated properties, e.g., `"Name,ServerRelativeUrl,Length"`
- `top` -- Limit results count
- `orderby` -- Sort expression, e.g., `"Name desc"`

**Example:**
```
Tool: SHARE_POINT_LIST_FILES_IN_FOLDER
Arguments:
  folder_name: "/Shared Documents/Reports"
  select: "Name,ServerRelativeUrl,Length"
  top: 50
```

---

### 4. Search SharePoint Content

Use Keyword Query Language (KQL) to search documents, list items, and other content across the site.

**Tool:** `SHARE_POINT_SEARCH_QUERY`

**Key Parameters:**
- `querytext` (required) -- KQL query, e.g., `"project report"`, `"FileType:docx"`, `"Author:\"John Doe\""`
- `rowlimit` -- Max results per request (default ~50, max 500)
- `startrow` -- Zero-based offset for pagination
- `selectproperties` -- Properties to return, e.g., `"Title,Author,Path"`
- `refinementfilters` -- Narrow results, e.g., `"FileType:equals(\"docx\")"`

**Example:**
```
Tool: SHARE_POINT_SEARCH_QUERY
Arguments:
  querytext: "IsDocument:1 FileType:pdf"
  rowlimit: 25
  selectproperties: "Title,Author,Path,LastModifiedTime"
```

---

### 5. Track List Changes (Delta Query)

Use delta queries to get incremental changes (created, updated, deleted items) without reading the entire list.

**Tool:** `ONE_DRIVE_LIST_SHAREPOINT_LIST_ITEMS_DELTA`

**Key Parameters:**
- `site_id` (required) -- Composite site ID
- `list_id` (required) -- List GUID
- `token` -- Omit for initial sync; pass `"latest"` for empty response with token; pass previous token for changes since
- `expand` -- e.g., `"fields($select=ColumnA,ColumnB)"`
- `top` -- Max items per response

---

### 6. Retrieve Site Page Content

Read modern SharePoint Site Pages content including canvas web parts.

**Tool:** `SHARE_POINT_GET_SITE_PAGE_CONTENT`

**Key Parameters:**
- `page_file_name` -- File name with `.aspx` extension, e.g., `"Home.aspx"`
- `item_id` -- Alternative: list item ID of the page
- `render_as` -- `"raw"` (default), `"text"`, or `"html"`
- `site` -- Optional site name scope

---

## Known Pitfalls

| Pitfall | Detail |
|---------|--------|
| **Site ID format** | Must be composite: `hostname,site-collection-guid,web-guid`. Incorrect format causes 400 errors. |
| **Personal accounts unsupported** | `ONE_DRIVE_LIST_SITE_LISTS` and Graph-based tools only work with organizational M365 accounts, not personal MSA/Outlook.com accounts. |
| **OData filter syntax** | SharePoint OData filters use specific syntax. Test filters incrementally; unsupported expressions may silently return empty results. |
| **Pagination** | Use `skiptoken` for server-side paging in list operations. Incomplete pagination settings can miss results. |
| **Folder paths** | Must use server-relative URLs (e.g., `/Shared Documents`) not absolute URLs. |

---

## Quick Reference

| Tool Slug | Description |
|-----------|-------------|
| `ONE_DRIVE_GET_SITE_DETAILS` | Get metadata for a SharePoint site |
| `ONE_DRIVE_LIST_SITE_SUBSITES` | List subsites of a parent site |
| `ONE_DRIVE_LIST_SITE_LISTS` | List all lists under a site (Graph API) |
| `ONE_DRIVE_LIST_SHAREPOINT_LIST_ITEMS_DELTA` | Track incremental list changes |
| `ONE_DRIVE_GET_SHAREPOINT_LIST_ITEMS` | Retrieve items from a list |
| `ONE_DRIVE_LIST_DRIVES` | List available drives for a user/site/group |
| `ONE_DRIVE_LIST_SITE_COLUMNS` | List column definitions for a site |
| `SHARE_POINT_LIST_ALL_LISTS` | Retrieve all lists on a site (REST API) |
| `SHARE_POINT_SHAREPOINT_CREATE_LIST` | Create a new SharePoint list |
| `SHARE_POINT_SHAREPOINT_CREATE_FOLDER` | Create a folder in a document library |
| `SHARE_POINT_LIST_FILES_IN_FOLDER` | List files in a folder |
| `SHARE_POINT_SEARCH_QUERY` | Search content using KQL |
| `SHARE_POINT_GET_SITE_PAGE_CONTENT` | Retrieve Site Page content |
| `SHARE_POINT_GET_FOLDER_BY_SERVER_RELATIVE_URL` | Get folder metadata by path |

---

*Powered by [Composio](https://composio.dev)*

Related Skills

zyte-api-automation

38
from lingxling/awesome-skills-cn

Automate Zyte API tasks via Rube MCP (Composio). Always search tools first for current schemas.

zylvie-automation

38
from lingxling/awesome-skills-cn

Automate Zylvie tasks via Rube MCP (Composio). Always search tools first for current schemas.

zoominfo-automation

38
from lingxling/awesome-skills-cn

Automate Zoominfo tasks via Rube MCP (Composio). Always search tools first for current schemas.

zoho-mail-automation

38
from lingxling/awesome-skills-cn

Automate Zoho Mail tasks via Rube MCP (Composio): email sending, folders, labels, and mailbox management. Always search tools first for current schemas.

zoho-invoice-automation

38
from lingxling/awesome-skills-cn

Automate Zoho Invoice tasks via Rube MCP (Composio): invoices, estimates, expenses, clients, and payment tracking. Always search tools first for current schemas.

zoho-inventory-automation

38
from lingxling/awesome-skills-cn

Automate Zoho Inventory tasks via Rube MCP (Composio): items, orders, warehouses, shipments, and stock management. Always search tools first for current schemas.

Zoho Desk Automation

38
from lingxling/awesome-skills-cn

Automate Zoho Desk tasks via Rube MCP (Composio): tickets, contacts, agents, departments, and help desk operations. Always search tools first for current schemas.

Zoho Books Automation

38
from lingxling/awesome-skills-cn

Automate Zoho Books tasks via Rube MCP (Composio): invoices, expenses, contacts, payments, and accounting. Always search tools first for current schemas.

zoho-bigin-automation

38
from lingxling/awesome-skills-cn

Automate Zoho Bigin tasks via Rube MCP (Composio): pipelines, contacts, companies, products, and small business CRM. Always search tools first for current schemas.

zoho-automation

38
from lingxling/awesome-skills-cn

Automate Zoho tasks via Rube MCP (Composio). Always search tools first for current schemas.

zerobounce-automation

38
from lingxling/awesome-skills-cn

Automate Zerobounce tasks via Rube MCP (Composio). Always search tools first for current schemas.

zeplin-automation

38
from lingxling/awesome-skills-cn

Automate Zeplin tasks via Rube MCP (Composio). Always search tools first for current schemas.