Sharepoint ACTION
Get File Contents
Retrieves a Microsoft SharePoint file and returns its contents as extracted plain text or markdown. Supports plain text formats, HTML, DOCX, PDF, and other Office documents convertible to PDF (xlsx, pptx, etc.). See the documentation
- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Sharepoint account once, then configure and run Get File Contents from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "sharepoint-get-file-contents",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
sharepoint: { authProvisionId: "apn_xxxxxxx" },
siteId: "Site",
driveId: "Drive ID",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "sharepoint-get-file-contents",
"configured_props": {
"sharepoint": { "authProvisionId": "apn_xxxxxxx" },
"siteId": "Site",
"driveId": "Drive ID"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "sharepoint",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "sharepoint-get-file-contents",
arguments: {
siteId: "Site",
driveId: "Drive ID",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
siteId Site | string | Identifier of a site. This is either the composite ID (e.g. contoso.sharepoint.com,<guid>,<guid> or a server-relative path in the form {hostname}:/{server-relative-path} (e.g. contoso.sharepoint.com:/sites/site-name) Required Dynamic |
driveId Drive ID | string | Identifier of a drive within a site Required Dynamic |
fileId File ID | string | The file to download. You can either search for the file here or provide a custom File ID. Required Dynamic |
maxChars Max Characters | integer | Maximum number of characters of extracted text to return. If the content is longer, it will be truncated and truncated will be set to true. Leave blank to return the full content. Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- sharepoint-get-file-contents
- Version
- 0.0.4
- App
- Sharepoint
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗