# Microsoft Word

```json
{
  "name": "Microsoft Word",
  "slug": "microsoft_word",
  "url": "https://composio.dev/toolkits/microsoft_word",
  "markdown_url": "https://composio.dev/toolkits/microsoft_word.md",
  "logo_url": "https://logos.composio.dev/api/microsoft_word",
  "categories": [
    "document & file management"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-11-07T07:03:42.048Z"
}
```

![Microsoft Word logo](https://logos.composio.dev/api/microsoft_word)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Microsoft Word MCP or direct API to find DOCX files, download documents, update content, and manage files through natural language.

## Summary

Microsoft Word is Microsoft's document editor for creating and managing DOCX files in OneDrive and SharePoint.
It provides familiar editing and cloud storage features for organized document workflows.

## Categories

- document & file management

## Toolkit Details

- Tools: 22

## Images

- Logo: https://logos.composio.dev/api/microsoft_word

## Authentication

- **Oauth2**
  - Type: `oauth2`
  - Description: Oauth2 authentication for Microsoft Word.
  - Setup:
    - Configure Oauth2 credentials for Microsoft Word.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Find the latest project brief in OneDrive
- Download DOCX files from a SharePoint folder
- Update a Word document with meeting notes

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `MICROSOFT_WORD_ADD_COMMENT` | Add Comment | Add a Word comment to a paragraph selected by a READ_DOCX locator or by exact text that uniquely matches a main-document paragraph. A locator requires the document’s eTag. |
| `MICROSOFT_WORD_APPEND_CONTENT` | Append Content | Append plain text or supported Markdown paragraphs, headings, formatted runs, lists, rectangular tables, safe http/https/mailto links, and Courier New inline or fenced code to a DOCX body. |
| `MICROSOFT_WORD_COPY_DOCX` | Copy DOCX | Copy a Graph DOCX item with both a .docx filename and DOCX MIME type to a OneDrive or SharePoint folder, wait boundedly for the asynchronous operation, and return verified destination metadata. If waiting times out, the server-side copy may continue. |
| `MICROSOFT_WORD_CREATE_DOCX` | Create DOCX | Create a safe DOCX containing styled paragraphs and formatted runs, bullet or decimal lists, rectangular tables, or constrained HTML/Markdown source with safe external links and inline or fenced code rendered in Courier New, plus validated inline PNG/JPEG images, page breaks, and default/first/even headers and footers. Literal content is escaped and raw XML or image URLs are never accepted. The create-only default fails on a filename conflict. overwrite_existing remains available for backward compatibility; prefer UPSERT_DOCX when replacement is intended. |
| `MICROSOFT_WORD_CREATE_DOCX_SHARING_LINK` | Create DOCX sharing link | Create a view, edit, or embed sharing link for a verified DOCX. When link_scope is omitted, Graph uses the drive's default scope, which can be anonymous. Returns Graph's capability-bearing URL; treat it as a secret. Sharing can change the document eTag, so call READ_DOCX again before editing. Setting retain_inherited_permissions=false removes all existing permissions when the item is shared for the first time. |
| `MICROSOFT_WORD_DELETE_DOCX` | Delete DOCX | Move one DOCX to the provider recycle bin only when its current eTag matches. This action does not bypass shared locks or checked-out state. A successful result does not guarantee permanent erasure. |
| `MICROSOFT_WORD_EDIT_DOCX` | Edit DOCX | Atomically edit literal text, paragraphs, independent Latin/non-complex and complex-script run formatting, lists, rectangular tables including plain cells and rows outside merged regions, uploaded inline PNG/JPEG images, semantic comments, tracked text changes, revision acceptance or rejection, safe external hyperlinks, paired footnotes, section headers or footers, and explicit page breaks in a DOCX. Targets are semantic locators from READ_DOCX and remain valid only for its eTag. The complete package is validated before one guarded replacement upload. |
| `MICROSOFT_WORD_EXPORT_DOCX` | Export DOCX to PDF | Convert a DOCX of at most 2 MB to PDF through Microsoft Graph and return a temporary file reference. The provider's preauthenticated redirect URL is followed internally and is never returned. |
| `MICROSOFT_WORD_FILL_TEMPLATE` | Fill Template | Fill run-spanning placeholders in main-document paragraphs of a validated DOCX template snapshot, then create a new document. Strict mode requires every requested placeholder to be found; non-strict mode can create a partial fill and reports found, filled, and unfilled keys. |
| `MICROSOFT_WORD_FIND_DOCX_FILES` | Find DOCX files | Browse one folder or search a drive for DOCX files. Browse pages also return folders for navigation. Search results can be eventually consistent; use a direct read action when authoritative current state is required. |
| `MICROSOFT_WORD_FIND_SHAREPOINT_SITES` | Find SharePoint sites | Find accessible SharePoint sites by keyword, or resolve one known hostname and site path to its site ID. |
| `MICROSOFT_WORD_GET_ACCOUNT_CONTEXT` | Get Microsoft Word account context | Return the signed-in Microsoft identity and primary OneDrive identifiers needed to start OneDrive DOCX work. Microsoft Graph documents that GET /me/drive automatically provisions OneDrive when the delegated user is licensed but does not yet have a drive. |
| `MICROSOFT_WORD_INVITE_DOCX_RECIPIENTS` | Invite DOCX recipients | Grant read or write access to required named recipients. send_invitation and require_sign_in are required; emailing an invitation is an irreversible external side effect. Partial success is reported per recipient. Sharing can change the document eTag, so call READ_DOCX again before editing. Setting retain_inherited_permissions=false removes all existing permissions when the item is shared for the first time. |
| `MICROSOFT_WORD_LIST_DOCX_VERSIONS` | List DOCX versions | Validate the selected drive item as a DOCX, then return one page of retained versions in Microsoft Graph's newest-first order. Provider download URLs and raw identity objects are omitted. |
| `MICROSOFT_WORD_LIST_ONEDRIVES` | List OneDrive drives | Return one page of drives available to the signed-in user as the Microsoft Word toolkit's OneDrive-drive selector for DOCX workflows. Unlike GET_ACCOUNT_CONTEXT, this lists drives without returning identity context or selecting only the primary drive. Use LIST_SHAREPOINT_LIBRARIES for a specific SharePoint site's document libraries; general OneDrive file automation may use ONE_DRIVE_LIST_DRIVES instead. |
| `MICROSOFT_WORD_LIST_SHAREPOINT_LIBRARIES` | List SharePoint document libraries | Return one page of document libraries and available root folder item IDs for a SharePoint site ID. |
| `MICROSOFT_WORD_MOVE_OR_RENAME_DOCX` | Move or rename DOCX | Rename a DOCX, move it within the same drive, or do both, guarded by its current eTag. At least one of new_name or destination_folder_id is required. |
| `MICROSOFT_WORD_READ_DOCX` | Read DOCX | Inspect a DOCX as bounded rich OOXML, including paragraphs, formatted runs, tables, images, hyperlinks, footnotes, comments, revisions, page breaks, sections and styles. Returns an eTag for locators, withholds download URLs, external relationship targets and document bytes, and applies a 100-megapixel aggregate bound to PNG and JPEG image records. |
| `MICROSOFT_WORD_REPLACE_TEXT` | Replace Text | Replace the first or all occurrences of literal text in the main document of a DOCX, including matches across Word run boundaries. Matching can be case-sensitive or case-insensitive, and replacements can be recorded as tracked revisions. An optional eTag guards against editing a different document version. |
| `MICROSOFT_WORD_RESOLVE_TRACKED_CHANGES` | Resolve Tracked Changes | Accept or reject supported pending run-level insertions and deletions in a DOCX, either all or selected revision locators returned by READ_DOCX. Accept-all and reject-all fail if the document contains unsupported revision forms; selected locators require the corresponding eTag. |
| `MICROSOFT_WORD_RESTORE_DOCX_VERSION` | Restore DOCX version | Restore a retained DOCX version as a new current version, preserving version history, then observe the item's current metadata in a post-operation read. That metadata does not independently prove which version supplied the current content. A required eTag check rejects already-stale callers before mutation, but Graph does not document an atomic If-Match precondition for this operation. |
| `MICROSOFT_WORD_UPSERT_DOCX` | Upsert DOCX | Create or replace a same-name DOCX containing the same validated content supported by CREATE_DOCX. Replacement is always enabled; use CREATE_DOCX for create-only conflict behavior. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
```python
pip install composio composio_openai openai
```

```typescript
npm install @composio/core @composio/openai openai
```

#### Path 1, Step 2: Create a Composio session

Initialize Composio with the OpenAI Responses provider and create a session scoped to Microsoft Word
```python
import json
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
client = OpenAI()

session = composio.create(user_id="your-user-id", toolkits=["microsoft_word"])
tools = session.tools()
```

```typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["microsoft_word"] });
const tools = await session.tools();
```

#### Path 1, Step 3: Run Microsoft Word tools with your agent

Send a request, execute the Microsoft Word tool calls through the session, and print the final answer
```python
response = client.responses.create(
    model="gpt-5.6-sol",
    tools=tools,
    input=[{"role": "user", "content": "Find the DOCX file named Q4 sales report in my OneDrive and download it."}],
)

while True:
    tool_calls = [o for o in response.output if o.type == "function_call"]
    if not tool_calls:
        break
    results = composio.provider.handle_tool_calls(response=response, session=session)
    response = client.responses.create(
        model="gpt-5.6-sol",
        tools=tools,
        previous_response_id=response.id,
        input=[
            {"type": "function_call_output", "call_id": call.call_id, "output": json.dumps(results[i])}
            for i, call in enumerate(tool_calls)
        ],
    )

print(response.output_text)
```

```typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Find the DOCX file named Q4 sales report in my OneDrive and download it." }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and your agent framework
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
```

#### Path 2, Step 2: Create a session with MCP enabled

Create a session scoped to Microsoft Word and read its MCP URL and headers
```python
from composio import Composio

composio = Composio()
session = composio.create(user_id="your-user-id", toolkits=["microsoft_word"], mcp=True)
```

```typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["microsoft_word"],
  mcp: true,
});
```

#### Path 2, Step 3: Connect your agent to the MCP server

Pass the session's MCP URL and headers to your agent and run a Microsoft Word request
```python
import asyncio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions, AssistantMessage, TextBlock

options = ClaudeAgentOptions(
    mcp_servers={
        "composio": {
            "type": "http",
            "url": session.mcp.url,
            "headers": session.mcp.headers,
        }
    },
    system_prompt="You are a helpful assistant with access to Microsoft Word tools.",
    tools=[],
    allowed_tools=["mcp__composio__*"],
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query("Find the DOCX file named Q4 sales report in my OneDrive and download it.")
        async for message in client.receive_response():
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if isinstance(block, TextBlock):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Find the DOCX file named Q4 sales report in my OneDrive and download it.",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
```

## Why Use Composio?

### 1. AI Native Microsoft Word Integration

- Supports both Microsoft Word MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for finding, downloading, updating, and managing Microsoft Word documents

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Microsoft Word access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Microsoft Word
- Scoped, least privilege access to Microsoft Word resources
- Full audit trail of agent actions to support review and compliance

## Use Microsoft Word with any AI Agent Framework

Choose a framework you want to connect Microsoft Word with:

- [ChatGPT](https://composio.dev/toolkits/microsoft_word/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/microsoft_word/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/microsoft_word/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/microsoft_word/framework/atomic-agent)

## Related Toolkits

- [Google Drive](https://composio.dev/toolkits/googledrive) - Google Drive is a cloud storage platform for uploading, sharing, and collaborating on files. It's perfect for keeping your documents accessible and organized across devices.
- [Google Docs](https://composio.dev/toolkits/googledocs) - Google Docs is a cloud-based word processor that enables document creation and real-time collaboration. Its seamless sharing and version history make team editing and content management a breeze.
- [Google Super](https://composio.dev/toolkits/googlesuper) - Google Super is an all-in-one suite combining Gmail, Drive, Calendar, Sheets, Analytics, and more. It gives you a unified platform to manage your digital life, boosting productivity and organization.
- [ActiveMerge](https://composio.dev/toolkits/active_merge) - ActiveMerge is a document automation platform for generating documents, images, merged files, and e-signature workflows. It helps teams turn templates and stored files into finished, shareable documents faster.
- [Affinda](https://composio.dev/toolkits/affinda) - Affinda is an AI-powered document processing platform that automates data extraction from resumes, invoices, and more. It streamlines document-heavy workflows by turning files into structured, actionable data.
- [Agility cms](https://composio.dev/toolkits/agility_cms) - Agility CMS is a headless content management system for building and managing digital experiences across platforms. It lets teams update content quickly and deliver omnichannel experiences with ease.
- [Airparser](https://composio.dev/toolkits/airparser) - Airparser is an AI-powered parser for extracting structured data from emails, documents, PDFs, and files. It turns messy inbound content into clean fields your apps and workflows can use.
- [Algodocs](https://composio.dev/toolkits/algodocs) - Algodocs is an AI-powered platform that automates data extraction from business documents. It delivers fast, secure, and accurate processing without templates or manual training.
- [Api2pdf](https://composio.dev/toolkits/api2pdf) - Api2Pdf is a REST API for generating PDFs from HTML, URLs, and documents using powerful engines like wkhtmltopdf and Headless Chrome. It streamlines document conversion and automation for developers and businesses.
- [Archive.org](https://composio.dev/toolkits/archive_org) - Archive.org is the Internet Archive's digital library of websites, books, audio, video, and images. Use it to preserve, explore, and access historical web captures and public-domain media.
- [Aryn](https://composio.dev/toolkits/aryn) - Aryn is an AI-powered platform for parsing, extracting, and analyzing data from unstructured documents. Use it to automate document processing and unlock actionable insights from your files.
- [Boldsign](https://composio.dev/toolkits/boldsign) - Boldsign is a digital eSignature platform for sending, signing, and tracking documents online. Organizations use it to automate agreements and manage legally binding workflows efficiently.
- [Boloforms](https://composio.dev/toolkits/boloforms) - BoloForms is an eSignature platform built for small businesses, offering unlimited signatures, templates, and forms. It simplifies digital document signing and team collaboration at a predictable, fixed price.
- [Box](https://composio.dev/toolkits/box) - Box is a cloud content management and file sharing platform for businesses. It helps teams securely store, organize, and collaborate on files from anywhere.
- [Box MCP](https://composio.dev/toolkits/box_mcp) - Box MCP is Box's hosted MCP server that exposes enterprise files, folders, and metadata. It provides secure, centralized access to corporate content for search and management.
- [Carbone](https://composio.dev/toolkits/carbone) - Carbone is a blazing-fast report generator that turns JSON data into PDFs, Word docs, spreadsheets, and more using flexible templates. It lets you automate document creation at scale with minimal code.
- [Castingwords](https://composio.dev/toolkits/castingwords) - CastingWords is a transcription service specializing in human-powered, accurate transcripts via a simple API. Get seamless audio-to-text conversion for interviews, meetings, podcasts, and more.
- [CertSeal](https://composio.dev/toolkits/cert_seal) - CertSeal is an API platform for issuing and managing verifiable digital certificates. Use it to automate trusted certificate workflows for recipients, batches, designs, and webhooks.
- [Cloudconvert](https://composio.dev/toolkits/cloudconvert) - CloudConvert is a powerful file conversion service supporting over 200 file formats. It streamlines converting, compressing, and managing documents, media, and more, all in one place.
- [Cloudlayer](https://composio.dev/toolkits/cloudlayer) - Cloudlayer is a document and asset generation service for creating PDFs and images via API or SDKs. It lets you automate high-quality doc creation, saving dev time and reducing manual work.

## Frequently Asked Questions

### Do I need my own developer credentials to use Microsoft Word with Composio?

Yes, Microsoft Word requires you to configure your own OAuth credentials. Once set up, Composio handles token storage, refresh, and lifecycle management for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
