From b5f02d222077213f226b721713c10ef81043fa38 Mon Sep 17 00:00:00 2001 From: jottakka <203343514+jottakka@users.noreply.github.com> Date: Tue, 24 Mar 2026 11:25:44 +0000 Subject: [PATCH 1/3] [AUTO] Adding MCP Servers docs update --- .../integrations/productivity/_meta.tsx | 8 - .../data/toolkits/figma.json | 56 +- .../data/toolkits/github.json | 174 ++- .../data/toolkits/googledocs.json | 32 +- .../data/toolkits/index.json | 50 +- .../data/toolkits/jira.json | 187 +++- .../data/toolkits/microsoftonedrive.json | 32 +- ...arepoint.json => microsoftsharepoint.json} | 445 ++++---- .../data/toolkits/outlookcalendar.json | 390 ------- .../data/toolkits/outlookmail.json | 999 ------------------ .../data/toolkits/salesforce.json | 38 +- 11 files changed, 676 insertions(+), 1735 deletions(-) rename toolkit-docs-generator/data/toolkits/{sharepoint.json => microsoftsharepoint.json} (86%) delete mode 100644 toolkit-docs-generator/data/toolkits/outlookcalendar.json delete mode 100644 toolkit-docs-generator/data/toolkits/outlookmail.json diff --git a/app/en/resources/integrations/productivity/_meta.tsx b/app/en/resources/integrations/productivity/_meta.tsx index d1bfe36b4..cec32f78c 100644 --- a/app/en/resources/integrations/productivity/_meta.tsx +++ b/app/en/resources/integrations/productivity/_meta.tsx @@ -81,14 +81,6 @@ const meta: MetaRecord = { title: "Microsoft Word", href: "/en/resources/integrations/productivity/microsoft-word", }, - "outlook-calendar": { - title: "Outlook Calendar", - href: "/en/resources/integrations/productivity/outlook-calendar", - }, - "outlook-mail": { - title: "Outlook Mail", - href: "/en/resources/integrations/productivity/outlook-mail", - }, "-- Starter": { type: "separator", title: "Starter", diff --git a/toolkit-docs-generator/data/toolkits/figma.json b/toolkit-docs-generator/data/toolkits/figma.json index d2d078c53..4ce40e931 100644 --- a/toolkit-docs-generator/data/toolkits/figma.json +++ b/toolkit-docs-generator/data/toolkits/figma.json @@ -1,7 +1,7 @@ { "id": "Figma", "label": "Figma", - "version": "0.2.2", + "version": "0.3.0", "description": "Arcade tools designed for LLMs to interact with Figma", "metadata": { "category": "productivity", @@ -31,7 +31,7 @@ { "name": "AddCommentOrReply", "qualifiedName": "Figma.AddCommentOrReply", - "fullyQualifiedName": "Figma.AddCommentOrReply@0.2.2", + "fullyQualifiedName": "Figma.AddCommentOrReply@0.3.0", "description": "Add a comment to a Figma file or reply to an existing comment.\n\nIf parent_comment_id is provided, creates a reply to that comment.\nOtherwise creates a new comment (optionally attached to a node).", "parameters": [ { @@ -156,7 +156,7 @@ { "name": "ExportImage", "qualifiedName": "Figma.ExportImage", - "fullyQualifiedName": "Figma.ExportImage@0.2.2", + "fullyQualifiedName": "Figma.ExportImage@0.3.0", "description": "Export Figma frames/nodes as images.\n\nReturns temporary URLs to download images. URLs valid for approximately 14 days.", "parameters": [ { @@ -265,7 +265,7 @@ { "name": "GetComments", "qualifiedName": "Figma.GetComments", - "fullyQualifiedName": "Figma.GetComments@0.2.2", + "fullyQualifiedName": "Figma.GetComments@0.3.0", "description": "Get comments on a Figma file.\n\nReturns comments with pagination support.", "parameters": [ { @@ -351,7 +351,7 @@ { "name": "GetComponent", "qualifiedName": "Figma.GetComponent", - "fullyQualifiedName": "Figma.GetComponent@0.2.2", + "fullyQualifiedName": "Figma.GetComponent@0.3.0", "description": "Get metadata for a specific component by its key.", "parameters": [ { @@ -411,7 +411,7 @@ { "name": "GetComponents", "qualifiedName": "Figma.GetComponents", - "fullyQualifiedName": "Figma.GetComponents@0.2.2", + "fullyQualifiedName": "Figma.GetComponents@0.3.0", "description": "Get published components from a file or team library.\n\nFor file: Returns all published components in the file.\nFor team: Returns paginated list of components across team library.", "parameters": [ { @@ -514,7 +514,7 @@ { "name": "GetComponentSet", "qualifiedName": "Figma.GetComponentSet", - "fullyQualifiedName": "Figma.GetComponentSet@0.2.2", + "fullyQualifiedName": "Figma.GetComponentSet@0.3.0", "description": "Get metadata for a specific component set by its key.\n\nA component set is a group of related component variants.", "parameters": [ { @@ -574,7 +574,7 @@ { "name": "GetComponentSets", "qualifiedName": "Figma.GetComponentSets", - "fullyQualifiedName": "Figma.GetComponentSets@0.2.2", + "fullyQualifiedName": "Figma.GetComponentSets@0.3.0", "description": "Get published component sets (groups of component variants) from a file or team library.\n\nComponent sets are groups of related component variants, like a Button\nwith states: default, hover, pressed, disabled.\n\nFor file: Returns all published component sets in the file.\nFor team: Returns paginated list of component sets across team library.", "parameters": [ { @@ -677,7 +677,7 @@ { "name": "GetFile", "qualifiedName": "Figma.GetFile", - "fullyQualifiedName": "Figma.GetFile@0.2.2", + "fullyQualifiedName": "Figma.GetFile@0.3.0", "description": "Get a Figma file's structure including pages and metadata.\n\nReturns the file name, version, thumbnail, and list of pages.\nUse depth parameter to limit how much of the tree is returned for large files.", "parameters": [ { @@ -750,8 +750,8 @@ { "name": "GetFileNodes", "qualifiedName": "Figma.GetFileNodes", - "fullyQualifiedName": "Figma.GetFileNodes@0.2.2", - "description": "Get specific nodes from a Figma file by their IDs.\n\nReturns the requested nodes with their properties and optionally their children.\nUse this to fetch specific parts of a file without loading the entire document.", + "fullyQualifiedName": "Figma.GetFileNodes@0.3.0", + "description": "Get specific nodes from a Figma file by their IDs.\n\nReturns the requested nodes with their properties and optionally their children.\nUse this to fetch specific parts of a file without loading the entire document.\n\nSet include_raw_data=True to get raw paint/style details including fills, effects,\nboundVariables, and other node properties needed for inspecting gradients, styles,\nand state tokens.", "parameters": [ { "name": "file_key", @@ -777,6 +777,14 @@ "description": "How deep to traverse from each node. Use 1 for direct children only. Default returns all descendants.", "enum": null, "inferrable": true + }, + { + "name": "include_raw_data", + "type": "boolean", + "required": false, + "description": "Include raw node payload (fills, strokes, effects, boundVariables, etc.) from Figma API. Default is False for concise output.", + "enum": null, + "inferrable": true } ], "auth": { @@ -797,14 +805,15 @@ "toolName": "Figma.GetFileNodes", "parameters": { "file_key": { - "value": "1234abcd5678efgh", + "value": "1a2B3cD4E5F6gH7i8J9K", "type": "string", "required": true }, "node_ids": { "value": [ "0:1", - "1-2" + "1:2", + "12:34" ], "type": "array", "required": true @@ -813,6 +822,11 @@ "value": 1, "type": "integer", "required": false + }, + "include_raw_data": { + "value": true, + "type": "boolean", + "required": false } }, "requiresAuth": true, @@ -840,7 +854,7 @@ { "name": "GetPages", "qualifiedName": "Figma.GetPages", - "fullyQualifiedName": "Figma.GetPages@0.2.2", + "fullyQualifiedName": "Figma.GetPages@0.3.0", "description": "Get a list of pages in a Figma file.\n\nReturns page IDs and names without the full node tree.", "parameters": [ { @@ -900,7 +914,7 @@ { "name": "GetProjectFiles", "qualifiedName": "Figma.GetProjectFiles", - "fullyQualifiedName": "Figma.GetProjectFiles@0.2.2", + "fullyQualifiedName": "Figma.GetProjectFiles@0.3.0", "description": "Get all files in a Figma project.\n\nFiles are Figma design documents containing pages and frames.", "parameters": [ { @@ -960,7 +974,7 @@ { "name": "GetStyle", "qualifiedName": "Figma.GetStyle", - "fullyQualifiedName": "Figma.GetStyle@0.2.2", + "fullyQualifiedName": "Figma.GetStyle@0.3.0", "description": "Get metadata for a specific style by its key.", "parameters": [ { @@ -1020,7 +1034,7 @@ { "name": "GetStyles", "qualifiedName": "Figma.GetStyles", - "fullyQualifiedName": "Figma.GetStyles@0.2.2", + "fullyQualifiedName": "Figma.GetStyles@0.3.0", "description": "Get published styles from a file or team library.\n\nFor file: Returns all published styles in the file.\nFor team: Returns paginated list of styles across team library.", "parameters": [ { @@ -1123,7 +1137,7 @@ { "name": "GetTeamProjects", "qualifiedName": "Figma.GetTeamProjects", - "fullyQualifiedName": "Figma.GetTeamProjects@0.2.2", + "fullyQualifiedName": "Figma.GetTeamProjects@0.3.0", "description": "Get all projects in a Figma team.\n\nProjects are containers within a team that group related design files.", "parameters": [ { @@ -1183,7 +1197,7 @@ { "name": "WhoAmI", "qualifiedName": "Figma.WhoAmI", - "fullyQualifiedName": "Figma.WhoAmI@0.2.2", + "fullyQualifiedName": "Figma.WhoAmI@0.3.0", "description": "Get the authenticated user's profile.", "parameters": [], "auth": { @@ -1236,6 +1250,6 @@ ], "customImports": [], "subPages": [], - "generatedAt": "2026-03-09T18:37:58.748Z", - "summary": "Arcade provides a toolkit for LLMs to seamlessly interact with Figma, enabling users to automate design tasks and extract valuable data from Figma files. \n\n**Capabilities** \n- Interact with Figma files, including reading content and comments. \n- Export images and retrieve component metadata efficiently. \n- Manage and fetch styles, components, and team projects in an organized manner. \n- Access user profiles and detailed file structures for enhanced design workflows.\n\n**OAuth** \n- Provider: Figma \n- Scopes: current_user:read, file_comments:read, file_comments:write, file_content:read, library_assets:read, library_content:read, projects:read, team_library_content:read \n\n**Secrets** \n- None." + "generatedAt": "2026-03-24T11:24:59.214Z", + "summary": "Figma Arcade toolkit lets LLMs interact with Figma files and team libraries via the Figma API, enabling programmatic inspection, export, and lightweight collaboration on designs. It supports fetching file trees, nodes, pages, components, styles, projects, exporting images, and managing comments.\n\n**Capabilities**\n- Inspect and traverse file and node trees with optional raw paint/style data for detailed analysis.\n- Export frames/nodes as temporary image assets and retrieve thumbnails for visual outputs.\n- Discover and read published components, component sets, and styles across files and team libraries.\n- Read/write comments and access project, team, and file metadata to support collaboration and workflows.\n\n**OAuth**\nProvider: figma\nScopes: current_user:read, file_comments:read, file_comments:write, file_content:read, library_assets:read, library_content:read, projects:read, team_library_content:read" } \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/github.json b/toolkit-docs-generator/data/toolkits/github.json index 46827d928..04454499f 100644 --- a/toolkit-docs-generator/data/toolkits/github.json +++ b/toolkit-docs-generator/data/toolkits/github.json @@ -1652,6 +1652,45 @@ "extras": null } }, + { + "name": "GetNotificationSummary", + "qualifiedName": "Github.GetNotificationSummary", + "fullyQualifiedName": "Github.GetNotificationSummary@2.0.1", + "description": "Get a summary of GitHub notifications.\n\nReturns counts grouped by reason, repository, and type without full notification details.", + "parameters": [], + "auth": { + "providerId": "github", + "providerType": "oauth2", + "scopes": [] + }, + "secrets": [ + "GITHUB_SERVER_URL", + "GITHUB_CLASSIC_PERSONAL_ACCESS_TOKEN" + ], + "secretsInfo": [ + { + "name": "GITHUB_SERVER_URL", + "type": "unknown" + }, + { + "name": "GITHUB_CLASSIC_PERSONAL_ACCESS_TOKEN", + "type": "token" + } + ], + "output": { + "type": "json", + "description": "Summary of user notifications" + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Github.GetNotificationSummary", + "parameters": {}, + "requiresAuth": true, + "authProvider": "github", + "tabLabel": "Call the Tool with User Authorization" + }, + "metadata": null + }, { "name": "GetPullRequest", "qualifiedName": "Github.GetPullRequest", @@ -2220,6 +2259,135 @@ "extras": null } }, + { + "name": "ListNotifications", + "qualifiedName": "Github.ListNotifications", + "fullyQualifiedName": "Github.ListNotifications@2.0.1", + "description": "List GitHub notifications with pagination.\n\nReturns notifications sorted chronologically by most recent first.", + "parameters": [ + { + "name": "page", + "type": "integer", + "required": false, + "description": "Page number to fetch. Default is 1.", + "enum": null, + "inferrable": true + }, + { + "name": "per_page", + "type": "integer", + "required": false, + "description": "Number of notifications per page (max 100). Default is 30.", + "enum": null, + "inferrable": true + }, + { + "name": "all_notifications", + "type": "boolean", + "required": false, + "description": "Include read notifications. Default is False.", + "enum": null, + "inferrable": true + }, + { + "name": "participating", + "type": "boolean", + "required": false, + "description": "Only show notifications user is participating in. Default is False.", + "enum": null, + "inferrable": true + }, + { + "name": "repository_full_name", + "type": "string", + "required": false, + "description": "Filter notifications to owner/name repository. Default is None.", + "enum": null, + "inferrable": true + }, + { + "name": "subject_types", + "type": "array", + "innerType": "string", + "required": false, + "description": "List of notification subject types to include. Default is None (all types).", + "enum": [ + "Issue", + "PullRequest", + "Release", + "Commit", + "Discussion" + ], + "inferrable": true + } + ], + "auth": { + "providerId": "github", + "providerType": "oauth2", + "scopes": [] + }, + "secrets": [ + "GITHUB_SERVER_URL", + "GITHUB_CLASSIC_PERSONAL_ACCESS_TOKEN" + ], + "secretsInfo": [ + { + "name": "GITHUB_SERVER_URL", + "type": "unknown" + }, + { + "name": "GITHUB_CLASSIC_PERSONAL_ACCESS_TOKEN", + "type": "token" + } + ], + "output": { + "type": "json", + "description": "Paginated list of notifications" + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Github.ListNotifications", + "parameters": { + "page": { + "value": 2, + "type": "integer", + "required": false + }, + "per_page": { + "value": 50, + "type": "integer", + "required": false + }, + "all_notifications": { + "value": true, + "type": "boolean", + "required": false + }, + "participating": { + "value": false, + "type": "boolean", + "required": false + }, + "repository_full_name": { + "value": "octocat/Hello-World", + "type": "string", + "required": false + }, + "subject_types": { + "value": [ + "Issue", + "PullRequest" + ], + "type": "array", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "github", + "tabLabel": "Call the Tool with User Authorization" + }, + "metadata": null + }, { "name": "ListOrgRepositories", "qualifiedName": "Github.ListOrgRepositories", @@ -5766,6 +5934,6 @@ "import { Callout, Tabs } from \"nextra/components\";" ], "subPages": [], - "generatedAt": "2026-03-04T11:17:26.984Z", - "summary": "Arcade.dev's GitHub toolkit exposes programmatic access to repositories, pull requests, issues, reviews, and project data. It enables automated repo/file edits, PR lifecycle handling, issue/project workflows, and user/activity discovery.\n\n**Capabilities**\n- Repository and file management: create branches and files, update file blocks, and read file contents or ranges.\n- Pull request and review workflows: create/update/merge PRs, manage reviewers, post and resolve review comments, and check merge status.\n- Issue, label, and project automation: create/update issues and comments, manage labels, and list/search Project V2 items and fields.\n- Search, auditing, and user context: list collaborators, stargazers, recent activity, and search/repos accessible to the authenticated user.\n\n**OAuth**\nProvider: GitHub\nScopes: None (no predeclared scopes; runtime consent required)\n\n**Secrets**\nGITHUB_SERVER_URL — secret type unknown; typically a GitHub Enterprise base URL (e.g., https://github.example.com). Store endpoints and tokens in a secure secrets manager." -} + "generatedAt": "2026-03-24T11:25:03.361Z", + "summary": "Arcade.dev's GitHub toolkit provides authenticated access to GitHub resources, enabling automated repository, issue, PR, review, project, and notification workflows. It exposes high-level actions to create, modify, query, and manage code and project artifacts while handling pagination, fuzzy matching, and diff-aware operations.\n\n**Capabilities**\n- Automate repository and branch operations, file and content edits, and PR lifecycle management.\n- Manage issues, comments, labels, reviewers, and review threads with contextual controls.\n- Query activity, notifications, stargazers, collaborators, projects, and user-centric views with pagination and filters.\n\n**OAuth**\nProvider: github\nScopes: None\n\n**Secrets**\nTypes: unknown, token. Examples: GITHUB_SERVER_URL, GITHUB_CLASSIC_PERSONAL_ACCESS_TOKEN" +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/googledocs.json b/toolkit-docs-generator/data/toolkits/googledocs.json index 296a473e1..4ed2f19e0 100644 --- a/toolkit-docs-generator/data/toolkits/googledocs.json +++ b/toolkit-docs-generator/data/toolkits/googledocs.json @@ -1,7 +1,7 @@ { "id": "GoogleDocs", "label": "Google Docs", - "version": "5.1.2", + "version": "5.1.3", "description": "Arcade.dev LLM tools for Google Docs", "metadata": { "category": "productivity", @@ -26,7 +26,7 @@ { "name": "CommentOnDocument", "qualifiedName": "GoogleDocs.CommentOnDocument", - "fullyQualifiedName": "GoogleDocs.CommentOnDocument@5.1.2", + "fullyQualifiedName": "GoogleDocs.CommentOnDocument@5.1.3", "description": "Comment on a specific document by its ID.", "parameters": [ { @@ -99,7 +99,7 @@ { "name": "CreateBlankDocument", "qualifiedName": "GoogleDocs.CreateBlankDocument", - "fullyQualifiedName": "GoogleDocs.CreateBlankDocument@5.1.2", + "fullyQualifiedName": "GoogleDocs.CreateBlankDocument@5.1.3", "description": "Create a blank Google Docs document with the specified title.", "parameters": [ { @@ -159,7 +159,7 @@ { "name": "CreateDocumentFromText", "qualifiedName": "GoogleDocs.CreateDocumentFromText", - "fullyQualifiedName": "GoogleDocs.CreateDocumentFromText@5.1.2", + "fullyQualifiedName": "GoogleDocs.CreateDocumentFromText@5.1.3", "description": "Create a Google Docs document with the specified title and text content.", "parameters": [ { @@ -232,7 +232,7 @@ { "name": "EditDocument", "qualifiedName": "GoogleDocs.EditDocument", - "fullyQualifiedName": "GoogleDocs.EditDocument@5.1.2", + "fullyQualifiedName": "GoogleDocs.EditDocument@5.1.3", "description": "Edit a Google Docs document with the specified edit request.\n\nThis tool edits the content within the document body only. It cannot edit document metadata\nsuch as the title, permissions, sharing settings, or other document properties.\n\nThis tool does not have context about previous edits because it is stateless. If your edit\nrequest depends on knowledge about previous edits, then you should provide that context in\nthe edit requests.", "parameters": [ { @@ -337,7 +337,7 @@ { "name": "GenerateGoogleFilePickerUrl", "qualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl", - "fullyQualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl@5.1.2", + "fullyQualifiedName": "GoogleDocs.GenerateGoogleFilePickerUrl@5.1.3", "description": "Generate a Google File Picker URL for user-driven file selection and authorization.\n\nThis tool generates a URL that directs the end-user to a Google File Picker interface where\nwhere they can select or upload Google Drive files. Users can grant permission to access their\nDrive files, providing a secure and authorized way to interact with their files.\n\nThis is particularly useful when prior tools (e.g., those accessing or modifying\nGoogle Docs, Google Sheets, etc.) encountered failures due to file non-existence\n(Requested entity was not found) or permission errors. Once the user completes the file\npicker flow, the prior tool can be retried.\n\nSuggest this tool to users when they are surprised or confused that the file they are\nsearching for or attempting to access cannot be found.", "parameters": [], "auth": { @@ -380,7 +380,7 @@ { "name": "GetDocumentAsDocmd", "qualifiedName": "GoogleDocs.GetDocumentAsDocmd", - "fullyQualifiedName": "GoogleDocs.GetDocumentAsDocmd@5.1.2", + "fullyQualifiedName": "GoogleDocs.GetDocumentAsDocmd@5.1.3", "description": "Get the latest version of the specified Google Docs document as DocMD.\nThe DocMD output will include tags that can be used to annotate the document with location\ninformation, the type of block, block IDs, and other metadata. If the document has tabs,\nall tabs are included in sequential order unless a specific tab_id is provided.", "parameters": [ { @@ -453,7 +453,7 @@ { "name": "GetDocumentById", "qualifiedName": "GoogleDocs.GetDocumentById", - "fullyQualifiedName": "GoogleDocs.GetDocumentById@5.1.2", + "fullyQualifiedName": "GoogleDocs.GetDocumentById@5.1.3", "description": "DEPRECATED DO NOT USE THIS TOOL\nGet the latest version of the specified Google Docs document.", "parameters": [ { @@ -513,7 +513,7 @@ { "name": "GetDocumentMetadata", "qualifiedName": "GoogleDocs.GetDocumentMetadata", - "fullyQualifiedName": "GoogleDocs.GetDocumentMetadata@5.1.2", + "fullyQualifiedName": "GoogleDocs.GetDocumentMetadata@5.1.3", "description": "Get metadata for a Google Docs document including hierarchical tab structure.\nReturns document title, ID, URL, total character count, and nested tab information\nwith character counts for each tab.", "parameters": [ { @@ -573,7 +573,7 @@ { "name": "InsertTextAtEndOfDocument", "qualifiedName": "GoogleDocs.InsertTextAtEndOfDocument", - "fullyQualifiedName": "GoogleDocs.InsertTextAtEndOfDocument@5.1.2", + "fullyQualifiedName": "GoogleDocs.InsertTextAtEndOfDocument@5.1.3", "description": "Updates an existing Google Docs document using the batchUpdate API endpoint.", "parameters": [ { @@ -646,7 +646,7 @@ { "name": "ListDocumentComments", "qualifiedName": "GoogleDocs.ListDocumentComments", - "fullyQualifiedName": "GoogleDocs.ListDocumentComments@5.1.2", + "fullyQualifiedName": "GoogleDocs.ListDocumentComments@5.1.3", "description": "List all comments on the specified Google Docs document.", "parameters": [ { @@ -719,7 +719,7 @@ { "name": "SearchAndRetrieveDocuments", "qualifiedName": "GoogleDocs.SearchAndRetrieveDocuments", - "fullyQualifiedName": "GoogleDocs.SearchAndRetrieveDocuments@5.1.2", + "fullyQualifiedName": "GoogleDocs.SearchAndRetrieveDocuments@5.1.3", "description": "Searches for documents in the user's Google Drive and returns documents with their main body\ncontent and tab metadata. Excludes documents that are in the trash.\n\nReturns main body content only with metadata about tabs. Use get_document_as_docmd() to retrieve\nfull tab content for specific documents. Use search_documents() for metadata-only searches.", "parameters": [ { @@ -924,7 +924,7 @@ { "name": "SearchDocuments", "qualifiedName": "GoogleDocs.SearchDocuments", - "fullyQualifiedName": "GoogleDocs.SearchDocuments@5.1.2", + "fullyQualifiedName": "GoogleDocs.SearchDocuments@5.1.3", "description": "Searches for documents in the user's Google Drive. Excludes documents in trash.\nReturns metadata only. Use get_document_metadata or get_document_as_docmd for content.", "parameters": [ { @@ -1111,7 +1111,7 @@ { "name": "WhoAmI", "qualifiedName": "GoogleDocs.WhoAmI", - "fullyQualifiedName": "GoogleDocs.WhoAmI@5.1.2", + "fullyQualifiedName": "GoogleDocs.WhoAmI@5.1.3", "description": "Get comprehensive user profile and Google Docs environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, profile picture, Google Docs access permissions, and other\nimportant profile details from Google services.", "parameters": [], "auth": { @@ -1182,6 +1182,6 @@ "import ScopePicker from \"@/app/_components/scope-picker\";" ], "subPages": [], - "generatedAt": "2026-02-26T20:45:10.393Z", + "generatedAt": "2026-03-24T11:24:51.307Z", "summary": "Arcade.dev Google Docs toolkit lets LLM-driven apps create, read, edit, comment on, and search Google Docs while accessing document metadata and user profile information.\n\n**Capabilities**\n- Create and populate new documents or append and edit document body content programmatically.\n- Retrieve structured document content (DocMD) and metadata including tab structure and character counts for robust context-aware workflows.\n- Search Drive for documents, list comments, and produce file-picker URLs to recover from permission or missing-file errors.\n- Access authenticated user profile and environment info to tailor behavior and permissions.\n\n**OAuth**\nProvider: google\nScopes: https://www.googleapis.com/auth/drive.file, https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile\n\n**Secrets**\nType: api_key\nExample: OPENAI_API_KEY (used for LLM or external API calls; store in environment variables or a secret manager)." -} +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/index.json b/toolkit-docs-generator/data/toolkits/index.json index ea18a7104..bbb47894d 100644 --- a/toolkit-docs-generator/data/toolkits/index.json +++ b/toolkit-docs-generator/data/toolkits/index.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-03-09T18:38:39.330Z", + "generatedAt": "2026-03-24T11:25:43.355Z", "version": "1.0.0", "toolkits": [ { @@ -203,7 +203,7 @@ { "id": "Figma", "label": "Figma", - "version": "0.2.2", + "version": "0.3.0", "category": "productivity", "type": "arcade", "toolCount": 15, @@ -242,7 +242,7 @@ "version": "3.1.3", "category": "development", "type": "arcade", - "toolCount": 42, + "toolCount": 44, "authType": "oauth2" }, { @@ -284,7 +284,7 @@ { "id": "GoogleDocs", "label": "Google Docs", - "version": "5.1.2", + "version": "5.1.3", "category": "productivity", "type": "arcade", "toolCount": 13, @@ -494,7 +494,7 @@ "version": "3.1.2", "category": "productivity", "type": "auth", - "toolCount": 43, + "toolCount": 45, "authType": "oauth2" }, { @@ -554,7 +554,7 @@ { "id": "MicrosoftOnedrive", "label": "Microsoft OneDrive", - "version": "0.2.0", + "version": "0.3.0", "category": "productivity", "type": "arcade", "toolCount": 11, @@ -569,6 +569,15 @@ "toolCount": 8, "authType": "oauth2" }, + { + "id": "MicrosoftSharepoint", + "label": "Microsoft SharePoint", + "version": "0.1.0", + "category": "productivity", + "type": "arcade", + "toolCount": 36, + "authType": "oauth2" + }, { "id": "MicrosoftTeams", "label": "Microsoft Teams", @@ -614,24 +623,6 @@ "toolCount": 8, "authType": "oauth2" }, - { - "id": "OutlookCalendar", - "label": "Outlook Calendar", - "version": "2.3.2", - "category": "productivity", - "type": "arcade", - "toolCount": 4, - "authType": "oauth2" - }, - { - "id": "OutlookMail", - "label": "Outlook Mail", - "version": "2.4.2", - "category": "productivity", - "type": "arcade", - "toolCount": 9, - "authType": "oauth2" - }, { "id": "Pagerduty", "label": "PagerDuty", @@ -698,21 +689,12 @@ { "id": "Salesforce", "label": "Salesforce", - "version": "2.2.0", + "version": "2.2.1", "category": "sales", "type": "arcade", "toolCount": 17, "authType": "oauth2" }, - { - "id": "Sharepoint", - "label": "Microsoft SharePoint", - "version": "0.9.0", - "category": "productivity", - "type": "arcade", - "toolCount": 36, - "authType": "oauth2" - }, { "id": "Slack", "label": "Slack", diff --git a/toolkit-docs-generator/data/toolkits/jira.json b/toolkit-docs-generator/data/toolkits/jira.json index 33d58abe0..1c99f4e79 100644 --- a/toolkit-docs-generator/data/toolkits/jira.json +++ b/toolkit-docs-generator/data/toolkits/jira.json @@ -2746,6 +2746,90 @@ "extras": null } }, + { + "name": "ListPrioritiesAssociatedWithAPriorityScheme", + "qualifiedName": "Jira.ListPrioritiesAssociatedWithAPriorityScheme", + "fullyQualifiedName": "Jira.ListPrioritiesAssociatedWithAPriorityScheme@2.5.0", + "description": "Browse the priorities associated with a priority scheme.", + "parameters": [ + { + "name": "scheme_id", + "type": "string", + "required": true, + "description": "The ID of the priority scheme to retrieve priorities for.", + "enum": null, + "inferrable": true + }, + { + "name": "limit", + "type": "integer", + "required": false, + "description": "The maximum number of priority schemes to return. Min of 1, max of 50. Defaults to 50.", + "enum": null, + "inferrable": true + }, + { + "name": "offset", + "type": "integer", + "required": false, + "description": "The number of priority schemes to skip. Defaults to 0 (start from the first scheme).", + "enum": null, + "inferrable": true + }, + { + "name": "atlassian_cloud_id", + "type": "string", + "required": false, + "description": "The ID of the Atlassian Cloud to use (defaults to None). If not provided and the user has a single cloud authorized, the tool will use that. Otherwise, an error will be raised.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "atlassian", + "providerType": "oauth2", + "scopes": [ + "manage:jira-configuration", + "read:jira-user" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The priorities associated with the priority scheme" + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Jira.ListPrioritiesAssociatedWithAPriorityScheme", + "parameters": { + "scheme_id": { + "value": "10001", + "type": "string", + "required": true + }, + "limit": { + "value": 25, + "type": "integer", + "required": false + }, + "offset": { + "value": 0, + "type": "integer", + "required": false + }, + "atlassian_cloud_id": { + "value": "abcd1234-cloud-id", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "atlassian", + "tabLabel": "Call the Tool with User Authorization" + }, + "metadata": null + }, { "name": "ListPrioritiesAvailableToAnIssue", "qualifiedName": "Jira.ListPrioritiesAvailableToAnIssue", @@ -3197,6 +3281,103 @@ "extras": null } }, + { + "name": "ListProjectsAssociatedWithAPriorityScheme", + "qualifiedName": "Jira.ListProjectsAssociatedWithAPriorityScheme", + "fullyQualifiedName": "Jira.ListProjectsAssociatedWithAPriorityScheme@2.5.0", + "description": "Browse the projects associated with a priority scheme.", + "parameters": [ + { + "name": "scheme_id", + "type": "string", + "required": true, + "description": "The ID of the priority scheme to retrieve projects for.", + "enum": null, + "inferrable": true + }, + { + "name": "project", + "type": "string", + "required": false, + "description": "Filter by project ID, key or name. Defaults to None (returns all projects).", + "enum": null, + "inferrable": true + }, + { + "name": "limit", + "type": "integer", + "required": false, + "description": "The maximum number of projects to return. Min of 1, max of 50. Defaults to 50.", + "enum": null, + "inferrable": true + }, + { + "name": "offset", + "type": "integer", + "required": false, + "description": "The number of projects to skip. Defaults to 0 (start from the first project).", + "enum": null, + "inferrable": true + }, + { + "name": "atlassian_cloud_id", + "type": "string", + "required": false, + "description": "The ID of the Atlassian Cloud to use (defaults to None). If not provided and the user has a single cloud authorized, the tool will use that. Otherwise, an error will be raised.", + "enum": null, + "inferrable": true + } + ], + "auth": { + "providerId": "atlassian", + "providerType": "oauth2", + "scopes": [ + "manage:jira-configuration", + "read:jira-user" + ] + }, + "secrets": [], + "secretsInfo": [], + "output": { + "type": "json", + "description": "The projects associated with the priority scheme" + }, + "documentationChunks": [], + "codeExample": { + "toolName": "Jira.ListProjectsAssociatedWithAPriorityScheme", + "parameters": { + "scheme_id": { + "value": "10001", + "type": "string", + "required": true + }, + "project": { + "value": "PROJKEY", + "type": "string", + "required": false + }, + "limit": { + "value": 25, + "type": "integer", + "required": false + }, + "offset": { + "value": 0, + "type": "integer", + "required": false + }, + "atlassian_cloud_id": { + "value": "abcd1234-cloudid", + "type": "string", + "required": false + } + }, + "requiresAuth": true, + "authProvider": "atlassian", + "tabLabel": "Call the Tool with User Authorization" + }, + "metadata": null + }, { "name": "ListProjectsByScheme", "qualifiedName": "Jira.ListProjectsByScheme", @@ -4575,6 +4756,6 @@ "relativePath": "environment-variables/page.mdx" } ], - "generatedAt": "2026-02-26T20:45:10.416Z", - "summary": "The Jira MCP Server provides a comprehensive set of tools for interacting with Jira, enabling users and AI applications to efficiently manage issues and projects. With this MCP Server, you can:\n\n- Create, update, and search for Jira issues using various parameters.\n- Retrieve detailed information about issues, projects, users, and issue types.\n- Manage issue labels and attachments, including adding and removing them.\n- Transition issues between different statuses and manage comments on issues.\n- Browse and list available projects, priorities, and users within Jira.\n- Browse and list information of available boards and sprints within a Jira cloud.\n\nThis MCP Server streamlines the process of issue management, making it easier to integrate Jira functionalities into applications and workflows." -} + "generatedAt": "2026-03-24T11:24:59.816Z", + "summary": "Arcade.dev's Jira toolkit enables LLM-driven interactions with Atlassian Jira, letting agents create and update issues, manage sprints and boards, handle attachments and comments, and query projects and users. It's designed for programmatic issue lifecycle and Agile workflows.\n\n**Capabilities**\n- Manage issues and workflows: create/update issues, transitions, labels, priorities, and comments.\n- Sprint and board operations: list sprints/boards, add/remove issues from sprints, backlog management with batching and date filters.\n- File and attachment handling: attach, download, and list metadata for files.\n- Scalable search & browsing: parameterized searches, project/user/priorities listing with pagination and single-call batching.\n\n**OAuth**\nProvider: atlassian\nScopes: manage:jira-configuration, read:board-scope.admin:jira-software, read:board-scope:jira-software, read:issue-details:jira, read:jira-user, read:jira-work, read:jql:jira, read:project:jira, read:sprint:jira-software, write:board-scope:jira-software, write:jira-work, write:sprint:jira-software" +} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/microsoftonedrive.json b/toolkit-docs-generator/data/toolkits/microsoftonedrive.json index 60bcd92d8..cb7fd6cb0 100644 --- a/toolkit-docs-generator/data/toolkits/microsoftonedrive.json +++ b/toolkit-docs-generator/data/toolkits/microsoftonedrive.json @@ -1,7 +1,7 @@ { "id": "MicrosoftOnedrive", "label": "Microsoft OneDrive", - "version": "0.2.0", + "version": "0.3.0", "description": "Arcade.dev LLM tools for Microsoft OneDrive", "metadata": { "category": "productivity", @@ -26,7 +26,7 @@ { "name": "CopyItem", "qualifiedName": "MicrosoftOnedrive.CopyItem", - "fullyQualifiedName": "MicrosoftOnedrive.CopyItem@0.2.0", + "fullyQualifiedName": "MicrosoftOnedrive.CopyItem@0.3.0", "description": "Copy a file or folder. Returns a completed item or an operation id.", "parameters": [ { @@ -113,7 +113,7 @@ { "name": "CreateFolder", "qualifiedName": "MicrosoftOnedrive.CreateFolder", - "fullyQualifiedName": "MicrosoftOnedrive.CreateFolder@0.2.0", + "fullyQualifiedName": "MicrosoftOnedrive.CreateFolder@0.3.0", "description": "Create a new folder in OneDrive.", "parameters": [ { @@ -186,7 +186,7 @@ { "name": "CreateShareLink", "qualifiedName": "MicrosoftOnedrive.CreateShareLink", - "fullyQualifiedName": "MicrosoftOnedrive.CreateShareLink@0.2.0", + "fullyQualifiedName": "MicrosoftOnedrive.CreateShareLink@0.3.0", "description": "Create a share link for a OneDrive item.", "parameters": [ { @@ -246,7 +246,7 @@ { "name": "DeleteItem", "qualifiedName": "MicrosoftOnedrive.DeleteItem", - "fullyQualifiedName": "MicrosoftOnedrive.DeleteItem@0.2.0", + "fullyQualifiedName": "MicrosoftOnedrive.DeleteItem@0.3.0", "description": "Delete a file or folder from OneDrive.", "parameters": [ { @@ -306,14 +306,14 @@ { "name": "GetCopyStatus", "qualifiedName": "MicrosoftOnedrive.GetCopyStatus", - "fullyQualifiedName": "MicrosoftOnedrive.GetCopyStatus@0.2.0", - "description": "Check status of an async copy operation using the full monitor URL.", + "fullyQualifiedName": "MicrosoftOnedrive.GetCopyStatus@0.3.0", + "description": "Check status of an async copy operation using the token returned by copy_item.", "parameters": [ { "name": "operation_url", "type": "string", "required": true, - "description": "The full monitor URL returned by copy_item (Location/Operation-Location header).", + "description": "The opaque operation token returned by copy_item. Pass it exactly as received.", "enum": null, "inferrable": true } @@ -366,7 +366,7 @@ { "name": "GetMyDrive", "qualifiedName": "MicrosoftOnedrive.GetMyDrive", - "fullyQualifiedName": "MicrosoftOnedrive.GetMyDrive@0.2.0", + "fullyQualifiedName": "MicrosoftOnedrive.GetMyDrive@0.3.0", "description": "Get metadata about the user's OneDrive (id, name, quota, owner).", "parameters": [], "auth": { @@ -411,7 +411,7 @@ { "name": "GetSharedWithMe", "qualifiedName": "MicrosoftOnedrive.GetSharedWithMe", - "fullyQualifiedName": "MicrosoftOnedrive.GetSharedWithMe@0.2.0", + "fullyQualifiedName": "MicrosoftOnedrive.GetSharedWithMe@0.3.0", "description": "List files shared with the current user.", "parameters": [ { @@ -484,7 +484,7 @@ { "name": "ListFolderItems", "qualifiedName": "MicrosoftOnedrive.ListFolderItems", - "fullyQualifiedName": "MicrosoftOnedrive.ListFolderItems@0.2.0", + "fullyQualifiedName": "MicrosoftOnedrive.ListFolderItems@0.3.0", "description": "List files and folders in a OneDrive folder. Lists root if folder_id is omitted.", "parameters": [ { @@ -570,7 +570,7 @@ { "name": "MoveItem", "qualifiedName": "MicrosoftOnedrive.MoveItem", - "fullyQualifiedName": "MicrosoftOnedrive.MoveItem@0.2.0", + "fullyQualifiedName": "MicrosoftOnedrive.MoveItem@0.3.0", "description": "Move a file or folder to a new location in OneDrive.", "parameters": [ { @@ -643,7 +643,7 @@ { "name": "SearchItems", "qualifiedName": "MicrosoftOnedrive.SearchItems", - "fullyQualifiedName": "MicrosoftOnedrive.SearchItems@0.2.0", + "fullyQualifiedName": "MicrosoftOnedrive.SearchItems@0.3.0", "description": "Search for files and folders in the user's OneDrive.\n\nIt may take a few seconds to minutes for the search index to update with newly created items.", "parameters": [ { @@ -729,7 +729,7 @@ { "name": "WhoAmI", "qualifiedName": "MicrosoftOnedrive.WhoAmI", - "fullyQualifiedName": "MicrosoftOnedrive.WhoAmI@0.2.0", + "fullyQualifiedName": "MicrosoftOnedrive.WhoAmI@0.3.0", "description": "Get information about the current user and their OneDrive environment.", "parameters": [], "auth": { @@ -775,6 +775,6 @@ "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-02-26T20:45:10.415Z", - "summary": "Microsoft OneDrive provider for Arcade.dev that enables LLMs to manage files, folders, sharing, and metadata within a user's OneDrive. It exposes file lifecycle operations, discovery, sharing link creation, and drive/account management with support for monitoring async operations.\n\n## Capabilities\n- Unified file and folder lifecycle (create, copy, move, delete) with async operation monitoring.\n- Discovery and retrieval: list, search (index updates may take seconds–minutes), and access items shared with the user.\n- Sharing and access control: generate share links and manage item visibility.\n- Drive and identity: fetch drive metadata and current user context.\n\n## OAuth\nProvider: microsoft\nScopes: Files.Read, Files.ReadWrite, User.Read" + "generatedAt": "2026-03-24T11:24:51.308Z", + "summary": "Microsoft OneDrive provider for Arcade.dev exposes LLM-accessible operations to manage files, folders, sharing, search, and drive/user metadata in a user's OneDrive. It enables automation of common workflows—creating, moving, copying, deleting, listing, searching, and sharing items—plus monitoring async operations like large-file copies.\n\n**Capabilities**\n- Unified file and folder lifecycle management (create/move/copy/delete/list) with async copy status tracking.\n- Content discovery and indexing-aware search across the user's drive and items shared with them.\n- Share link creation and shared-item workflows without exposing individual tool signatures.\n- Drive and user metadata introspection (quota, owner, environment).\n\n**OAuth**\n- Provider: microsoft\n- Scopes: Files.Read, Files.ReadWrite, User.Read" } \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/sharepoint.json b/toolkit-docs-generator/data/toolkits/microsoftsharepoint.json similarity index 86% rename from toolkit-docs-generator/data/toolkits/sharepoint.json rename to toolkit-docs-generator/data/toolkits/microsoftsharepoint.json index f627fb067..6e75d904d 100644 --- a/toolkit-docs-generator/data/toolkits/sharepoint.json +++ b/toolkit-docs-generator/data/toolkits/microsoftsharepoint.json @@ -1,7 +1,7 @@ { - "id": "Sharepoint", + "id": "MicrosoftSharepoint", "label": "Microsoft SharePoint", - "version": "0.9.0", + "version": "0.1.0", "description": "Arcade.dev LLM tools for Microsoft SharePoint", "metadata": { "category": "productivity", @@ -25,8 +25,8 @@ "tools": [ { "name": "AddWorksheet", - "qualifiedName": "Sharepoint.AddWorksheet", - "fullyQualifiedName": "Sharepoint.AddWorksheet@0.9.0", + "qualifiedName": "MicrosoftSharepoint.AddWorksheet", + "fullyQualifiedName": "MicrosoftSharepoint.AddWorksheet@0.1.0", "description": "Add a new worksheet to a SharePoint Excel workbook.\n\nNote: The new worksheet name may not be immediately visible to other\ntools due to a brief Graph API propagation delay (up to ~10 s). Pass\nthe returned ``session_id`` to subsequent calls that reference the new\nworksheet to mitigate this.", "parameters": [ { @@ -77,25 +77,25 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.AddWorksheet", + "toolName": "MicrosoftSharepoint.AddWorksheet", "parameters": { "drive_id": { - "value": "b!a1B2c3D4e5F6g7H8i9J0K", + "value": "b!a1b2c3d4-e5f6-7890-ab12-cd34ef56gh78", "type": "string", "required": true }, "item_id": { - "value": "01ABCDEF23456789!123", + "value": "01ABCD2345EF67890!123", "type": "string", "required": true }, "name": { - "value": "Q1 Financials", + "value": "Q2 2026 Financials", "type": "string", "required": false }, "session_id": { - "value": "3f8a9b2e-4c1d-4a2b-9f7e-0f1a2b3c4d5e", + "value": "9f8e7d6c-5b4a-3210-ffe0-1234567890ab", "type": "string", "required": false } @@ -125,8 +125,8 @@ }, { "name": "CopyItem", - "qualifiedName": "Sharepoint.CopyItem", - "fullyQualifiedName": "Sharepoint.CopyItem@0.9.0", + "qualifiedName": "MicrosoftSharepoint.CopyItem", + "fullyQualifiedName": "MicrosoftSharepoint.CopyItem@0.1.0", "description": "Copy a file or folder. Returns a completed item or an operation id.", "parameters": [ { @@ -177,25 +177,25 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.CopyItem", + "toolName": "MicrosoftSharepoint.CopyItem", "parameters": { "drive_id": { - "value": "b!7f3a9c2d-1e4b-4c6d-8a2f-9b3c1d2e4f5g", + "value": "b!A1B2C3D4E5F6G7H8I9J0K_LmNoPqR", "type": "string", "required": true }, "item_id": { - "value": "01A2B3C4D5E6F7G8!890", + "value": "01AB23CD45EF6789!678", "type": "string", "required": true }, "destination_folder_id": { - "value": "01234567-89ab-cdef-0123-456789abcdef", + "value": "01XY9Z8W7V6U5T4S3R2", "type": "string", "required": false }, "new_name": { - "value": "Design Spec - Copy.pdf", + "value": "Project Plan - Copy.docx", "type": "string", "required": false } @@ -225,8 +225,8 @@ }, { "name": "CreateFolder", - "qualifiedName": "Sharepoint.CreateFolder", - "fullyQualifiedName": "Sharepoint.CreateFolder@0.9.0", + "qualifiedName": "MicrosoftSharepoint.CreateFolder", + "fullyQualifiedName": "MicrosoftSharepoint.CreateFolder@0.1.0", "description": "Create a new folder in a SharePoint drive.", "parameters": [ { @@ -269,20 +269,20 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.CreateFolder", + "toolName": "MicrosoftSharepoint.CreateFolder", "parameters": { "drive_id": { - "value": "12345678-90ab-cdef-1234-567890abcdef", + "value": "b!a1B2c3D4e5F6g7H8i9J0k", "type": "string", "required": true }, "folder_name": { - "value": "New Project Folder", + "value": "Project Phoenix", "type": "string", "required": true }, "parent_folder_id": { - "value": "01ABCD1234EFG!56789", + "value": null, "type": "string", "required": false } @@ -312,8 +312,8 @@ }, { "name": "CreatePresentation", - "qualifiedName": "Sharepoint.CreatePresentation", - "fullyQualifiedName": "Sharepoint.CreatePresentation@0.9.0", + "qualifiedName": "MicrosoftSharepoint.CreatePresentation", + "fullyQualifiedName": "MicrosoftSharepoint.CreatePresentation@0.1.0", "description": "Create a new PowerPoint presentation in a SharePoint drive.\n\nThe presentation will be created with a title slide containing the specified title.", "parameters": [ { @@ -356,20 +356,20 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.CreatePresentation", + "toolName": "MicrosoftSharepoint.CreatePresentation", "parameters": { "drive_id": { - "value": "b!a1b2c3d4e5f6g7h8i9j0k", + "value": "b9f8e7d6-1234-4abc-9def-0a1b2c3d4e5f", "type": "string", "required": true }, "title": { - "value": "Q3 Marketing Strategy Presentation", + "value": "Quarterly Business Review - Q2 2026", "type": "string", "required": true }, "folder_id": { - "value": "01A2BCDEF345GHIJKL6789MNOPQ", + "value": "f1e2d3c4-b5a6-7d8e-9f0a-b1c2d3e4f5a6", "type": "string", "required": false } @@ -399,8 +399,8 @@ }, { "name": "CreateShareLink", - "qualifiedName": "Sharepoint.CreateShareLink", - "fullyQualifiedName": "Sharepoint.CreateShareLink@0.9.0", + "qualifiedName": "MicrosoftSharepoint.CreateShareLink", + "fullyQualifiedName": "MicrosoftSharepoint.CreateShareLink@0.1.0", "description": "Create a share link for a SharePoint drive item.", "parameters": [ { @@ -435,15 +435,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.CreateShareLink", + "toolName": "MicrosoftSharepoint.CreateShareLink", "parameters": { "drive_id": { - "value": "b!0572f6a3-9d8e-4c2b-9f1a-1234567890ab", + "value": "b!a3f9e5c2-4d6b-4f7a-9c1e-2b3d4f5a6b7c", "type": "string", "required": true }, "item_id": { - "value": "01XYZ2ABCDEF3456789!104", + "value": "01ABCDEF-1234-5678-9ABC-DEF012345678", "type": "string", "required": true } @@ -473,8 +473,8 @@ }, { "name": "CreateSlide", - "qualifiedName": "Sharepoint.CreateSlide", - "fullyQualifiedName": "Sharepoint.CreateSlide@0.9.0", + "qualifiedName": "MicrosoftSharepoint.CreateSlide", + "fullyQualifiedName": "MicrosoftSharepoint.CreateSlide@0.1.0", "description": "Append a new slide to the end of an existing PowerPoint presentation in a SharePoint drive.\n\nThe slide will be added at the end of the presentation. Both title and body\nare optional to support layouts like BLANK or TITLE_ONLY.\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", "parameters": [ { @@ -543,30 +543,30 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.CreateSlide", + "toolName": "MicrosoftSharepoint.CreateSlide", "parameters": { "drive_id": { - "value": "b!r7X9aKq2mL4Yz8P0uV1sW3tQ6eHjF", + "value": "b!4f8c9d2a3e6b7f0a1c2d3e4f5g6h7i8", "type": "string", "required": true }, "item_id": { - "value": "01TYZ6ABCDEFG123456!105", + "value": "01A2B3C4D5E6F7G8H9I0J", "type": "string", "required": true }, "slide_title": { - "value": "Q1 2026 Highlights", + "value": "Project Update — Q2 2026", "type": "string", "required": false }, "slide_body": { - "value": "- **Revenue** increased by *12%* year-over-year\n- __New customers__: 1,250\n - North America: 700\n - EMEA: 350\n - APAC: 200\n- Product updates:\n - **Feature A** launched\n - *Beta* for Feature B started\n\nNotes:\n- Continue investment in retention and upsell.", + "value": "**Summary**\n\n*Key points:*\n- Overview\n- Details\n - __Important__: review metrics\n- Next steps\n\nFor more info, visit: https://example.com", "type": "string", "required": false }, "layout": { - "value": "TITLE_AND_BODY", + "value": "TITLE_AND_CONTENT", "type": "string", "required": false } @@ -596,8 +596,8 @@ }, { "name": "CreateTwoContentSlide", - "qualifiedName": "Sharepoint.CreateTwoContentSlide", - "fullyQualifiedName": "Sharepoint.CreateTwoContentSlide@0.9.0", + "qualifiedName": "MicrosoftSharepoint.CreateTwoContentSlide", + "fullyQualifiedName": "MicrosoftSharepoint.CreateTwoContentSlide@0.1.0", "description": "Append a TWO_CONTENT slide with side-by-side content areas to the end of a SharePoint PowerPoint.\n\nThis layout is useful for comparisons, pros/cons lists, or any content that\nbenefits from a two-column layout.\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", "parameters": [ { @@ -656,30 +656,30 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.CreateTwoContentSlide", + "toolName": "MicrosoftSharepoint.CreateTwoContentSlide", "parameters": { "drive_id": { - "value": "b1a8f9c2-3d4e-45f6-8a9b-0c1d2e3f4a5b", + "value": "b1a2c3d4-e5f6-47a8-9b0c-123456789abc", "type": "string", "required": true }, "item_id": { - "value": "9f7d6c5b-4a3e-21f0-9b8c-7d6e5f4a3b2c", + "value": "0f1e2d3c-4b5a-6789-0abc-def123456789", "type": "string", "required": true }, "slide_title": { - "value": "Comparison: Architecture Options", + "value": "Product Comparison: Basic vs Pro", "type": "string", "required": false }, "left_body": { - "value": "**Key Benefits**\n- Faster performance\n- *Improved scalability*\n - Handles more users\n - Reduces latency\n- __Cost savings__", + "value": "- **Basic Plan**\n - Price: $0/month\n - Storage: 5 GB\n - Support: Community\n\n- **Use case**\n - Personal projects\n - Learning", "type": "string", "required": false }, "right_body": { - "value": "**Considerations**\n- Migration effort\n- *Training required*\n - Admins\n - End users\n- __Compatibility__ with legacy systems", + "value": "- **Pro Plan**\n - Price: $9.99/month\n - Storage: 1 TB\n - Support: 24/7\n\n- **Use case**\n - Small businesses\n - Professional projects", "type": "string", "required": false } @@ -709,8 +709,8 @@ }, { "name": "CreateWordDocument", - "qualifiedName": "Sharepoint.CreateWordDocument", - "fullyQualifiedName": "Sharepoint.CreateWordDocument@0.9.0", + "qualifiedName": "MicrosoftSharepoint.CreateWordDocument", + "fullyQualifiedName": "MicrosoftSharepoint.CreateWordDocument@0.1.0", "description": "Create a new Word document in a SharePoint drive (4MB upload limit). Optionally include text content.", "parameters": [ { @@ -769,10 +769,10 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.CreateWordDocument", + "toolName": "MicrosoftSharepoint.CreateWordDocument", "parameters": { "drive_id": { - "value": "b!a1b2c3d4e5f6g7h8i9j0", + "value": "b!e3f1c2d-4a5b-6c7d-8e9f-0123456789ab", "type": "string", "required": true }, @@ -782,12 +782,12 @@ "required": true }, "text_content": { - "value": "Project Plan\n\n1. Objectives\n- Increase market share by 10%\n\n2. Timeline\n- Q2: Research\n- Q3: Implementation\n- Q4: Review\n", + "value": "Project Plan\n\nOverview:\n- Objectives\n- Timeline\n\nAction Items:\n1. Define scope\n2. Assign tasks\n3. Review milestones", "type": "string", "required": false }, "folder_id": { - "value": "01ABCDEF-2345-6789-ABCD-EF0123456789", + "value": "01abcdef234567890ghijklmnopqrstuv", "type": "string", "required": false }, @@ -822,8 +822,8 @@ }, { "name": "CreateWorkbook", - "qualifiedName": "Sharepoint.CreateWorkbook", - "fullyQualifiedName": "Sharepoint.CreateWorkbook@0.9.0", + "qualifiedName": "MicrosoftSharepoint.CreateWorkbook", + "fullyQualifiedName": "MicrosoftSharepoint.CreateWorkbook@0.1.0", "description": "Create a new Excel workbook (.xlsx) in a SharePoint drive.\n\nOnly .xlsx files are supported.", "parameters": [ { @@ -874,25 +874,25 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.CreateWorkbook", + "toolName": "MicrosoftSharepoint.CreateWorkbook", "parameters": { "drive_id": { - "value": "b!9f3a2c4d-8e6b-4a50-9f1d-1234567890ab", + "value": "b!qZx7Yv9u1Lk2P3m", "type": "string", "required": true }, "filename": { - "value": "Quarterly_Sales_Report", + "value": "Employees", "type": "string", "required": true }, "parent_folder_id": { - "value": "01XYZFolderIdABCDEF12345", + "value": "01A2B3C4D5E6F7G8H9I", "type": "string", "required": false }, "initial_data": { - "value": "{\"1\":{\"A\":\"Name\",\"B\":\"Sales\",\"C\":\"Region\"},\"2\":{\"A\":\"Alice\",\"B\":1024.5,\"C\":\"North\"},\"3\":{\"A\":\"Bob\",\"B\":850,\"C\":\"South\"},\"4\":{\"A\":\"Charlie\",\"B\":0,\"C\":null}}", + "value": "{\"1\":{\"A\":\"Name\",\"B\":\"Age\",\"C\":\"Active\"},\"2\":{\"A\":\"Alice\",\"B\":30,\"C\":true},\"3\":{\"A\":\"Bob\",\"B\":25,\"C\":false},\"4\":{\"A\":\"Eve\",\"B\":null,\"C\":false}}", "type": "string", "required": false } @@ -922,8 +922,8 @@ }, { "name": "DeleteItem", - "qualifiedName": "Sharepoint.DeleteItem", - "fullyQualifiedName": "Sharepoint.DeleteItem@0.9.0", + "qualifiedName": "MicrosoftSharepoint.DeleteItem", + "fullyQualifiedName": "MicrosoftSharepoint.DeleteItem@0.1.0", "description": "Delete a file or folder from a SharePoint drive.", "parameters": [ { @@ -958,15 +958,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.DeleteItem", + "toolName": "MicrosoftSharepoint.DeleteItem", "parameters": { "drive_id": { - "value": "b!a1B2c3D4e5F6g7H8i9J0kL", + "value": "b!7a8f9c2d3e4f5a6b7c8d9e0f12345678", "type": "string", "required": true }, "item_id": { - "value": "01ABCDEFG12345!678", + "value": "3f2504e0-4f89-11d3-9a0c-0305e82c3301", "type": "string", "required": true } @@ -996,8 +996,8 @@ }, { "name": "DeleteWorksheet", - "qualifiedName": "Sharepoint.DeleteWorksheet", - "fullyQualifiedName": "Sharepoint.DeleteWorksheet@0.9.0", + "qualifiedName": "MicrosoftSharepoint.DeleteWorksheet", + "fullyQualifiedName": "MicrosoftSharepoint.DeleteWorksheet@0.1.0", "description": "Delete a worksheet from a SharePoint Excel workbook.\n\nCannot delete the last worksheet in a workbook.\n\nNote: If referencing a recently added or renamed worksheet, pass the\n``session_id`` from that operation. A brief Graph API propagation delay\n(up to ~10 s) may cause a WorksheetNotFoundError; retry with the\n``session_id`` if this occurs.", "parameters": [ { @@ -1048,25 +1048,25 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.DeleteWorksheet", + "toolName": "MicrosoftSharepoint.DeleteWorksheet", "parameters": { "drive_id": { - "value": "b!a1B2c3D4e5F6g7H8I9J0K", + "value": "b!a1B2c3D4e5F6g7H8i9J0kLmNoPqRsTuV", "type": "string", "required": true }, "item_id": { - "value": "01A234BC567DEF89!123", + "value": "01ab23cd-45ef-67gh-89ij-0123klmnopqr", "type": "string", "required": true }, "worksheet": { - "value": "OldData", + "value": "Expenses Q1 2026", "type": "string", "required": true }, "session_id": { - "value": "session_9f8e7d6c-1234-5678-9abc-def012345678", + "value": "b6f7e8d9-0123-4567-89ab-cdef01234567", "type": "string", "required": false } @@ -1096,8 +1096,8 @@ }, { "name": "GetAllSlideNotes", - "qualifiedName": "Sharepoint.GetAllSlideNotes", - "fullyQualifiedName": "Sharepoint.GetAllSlideNotes@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetAllSlideNotes", + "fullyQualifiedName": "MicrosoftSharepoint.GetAllSlideNotes@0.1.0", "description": "Get all speaker notes from every slide in a SharePoint PowerPoint presentation.\n\nReturns notes for all slides in one call, which is more efficient than\ncalling get_slide_notes for each slide individually. Notes are returned\nin markdown format.", "parameters": [ { @@ -1132,15 +1132,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetAllSlideNotes", + "toolName": "MicrosoftSharepoint.GetAllSlideNotes", "parameters": { "drive_id": { - "value": "b!a1B2c3D4e5F6g7H8i9J0KLMnopq", + "value": "b!a1B2c3D4e5F6g7H8", "type": "string", "required": true }, "item_id": { - "value": "01ABCDEFG2HIJKL345MNOPQ678RST", + "value": "01A23B45-C67D-890E-F123-4567890ABCD", "type": "string", "required": true } @@ -1170,9 +1170,9 @@ }, { "name": "GetCopyStatus", - "qualifiedName": "Sharepoint.GetCopyStatus", - "fullyQualifiedName": "Sharepoint.GetCopyStatus@0.9.0", - "description": "Check status of an async copy operation using the full monitor URL.", + "qualifiedName": "MicrosoftSharepoint.GetCopyStatus", + "fullyQualifiedName": "MicrosoftSharepoint.GetCopyStatus@0.1.0", + "description": "Check status of an async copy operation using the token returned by copy_item.", "parameters": [ { "name": "drive_id", @@ -1186,7 +1186,7 @@ "name": "operation_url", "type": "string", "required": true, - "description": "The full monitor URL returned by copy_item (Location/Operation-Location header). DO NOT PROVIDE ONLY THE OPERATION ID, BUT THE FULL URL.", + "description": "The opaque operation token returned by copy_item. Pass it exactly as received.", "enum": null, "inferrable": true } @@ -1206,15 +1206,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetCopyStatus", + "toolName": "MicrosoftSharepoint.GetCopyStatus", "parameters": { "drive_id": { - "value": "b!a1b2c3d4e5f6g7h8", + "value": "b!a1B2c3D4e5F6G7H8I9J0K", "type": "string", "required": true }, "operation_url": { - "value": "https://graph.microsoft.com/v1.0/drives/b!a1b2c3d4e5f6g7h8/items/01ABCDEF23456789/copy/monitor/123e4567-e89b-12d3-a456-426614174000", + "value": "https://graph.microsoft.com/v1.0/drives/b!a1B2c3D4e5F6G7H8I9J0K/items/0123456789abcdef/copy/copy-operations/3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string", "required": true } @@ -1244,8 +1244,8 @@ }, { "name": "GetDrivesFromSite", - "qualifiedName": "Sharepoint.GetDrivesFromSite", - "fullyQualifiedName": "Sharepoint.GetDrivesFromSite@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetDrivesFromSite", + "fullyQualifiedName": "MicrosoftSharepoint.GetDrivesFromSite@0.1.0", "description": "Retrieve drives / document libraries from a SharePoint site.\n\nIf you have a site name, it is not necessary to call Sharepoint.SearchSites first. You can simply\ncall this tool with the site name / keywords.", "parameters": [ { @@ -1272,10 +1272,10 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetDrivesFromSite", + "toolName": "MicrosoftSharepoint.GetDrivesFromSite", "parameters": { "site": { - "value": "https://contoso.sharepoint.com/sites/Marketing", + "value": "contoso.sharepoint.com,12345678-90ab-cdef-1234-567890abcdef,abcdef12-3456-7890-abcd-ef1234567890", "type": "string", "required": true } @@ -1305,8 +1305,8 @@ }, { "name": "GetItemsFromList", - "qualifiedName": "Sharepoint.GetItemsFromList", - "fullyQualifiedName": "Sharepoint.GetItemsFromList@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetItemsFromList", + "fullyQualifiedName": "MicrosoftSharepoint.GetItemsFromList@0.1.0", "description": "Retrieve items from a list in a SharePoint site.\n\nNote: The Microsoft Graph API does not offer endpoints to retrieve list item attachments.\nBecause of that, the only information we can get is whether the item has attachments or not.", "parameters": [ { @@ -1341,15 +1341,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetItemsFromList", + "toolName": "MicrosoftSharepoint.GetItemsFromList", "parameters": { "site": { - "value": "site-id-12345", + "value": "d87b6f3e-8a1b-4c2d-9f3a-7e2b1c4a5d6f", "type": "string", "required": true }, "list_id": { - "value": "list-id-67890", + "value": "a3f1b2c4-5d6e-7f80-1234-9abcde0f1234", "type": "string", "required": true } @@ -1379,8 +1379,8 @@ }, { "name": "GetListsFromSite", - "qualifiedName": "Sharepoint.GetListsFromSite", - "fullyQualifiedName": "Sharepoint.GetListsFromSite@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetListsFromSite", + "fullyQualifiedName": "MicrosoftSharepoint.GetListsFromSite@0.1.0", "description": "Retrieve lists from a SharePoint site.", "parameters": [ { @@ -1407,7 +1407,7 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetListsFromSite", + "toolName": "MicrosoftSharepoint.GetListsFromSite", "parameters": { "site": { "value": "https://contoso.sharepoint.com/sites/Marketing", @@ -1440,8 +1440,8 @@ }, { "name": "GetPage", - "qualifiedName": "Sharepoint.GetPage", - "fullyQualifiedName": "Sharepoint.GetPage@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetPage", + "fullyQualifiedName": "MicrosoftSharepoint.GetPage@0.1.0", "description": "Retrieve metadata and the contents of a page in a SharePoint site.\n\nPage content is a list of Microsoft Sharepoint web part objects, such as text, images, banners,\nbuttons, etc.\n\nIf `include_page_content` is set to False, the tool will return only the page metadata.", "parameters": [ { @@ -1484,15 +1484,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetPage", + "toolName": "MicrosoftSharepoint.GetPage", "parameters": { "site": { - "value": "site-12345", + "value": "https://contoso.sharepoint.com/sites/Marketing", "type": "string", "required": true }, "page_id": { - "value": "page-67890", + "value": "3b4f6a2e-9c1b-4a6b-8c3d-2e5b7f9a1d0f", "type": "string", "required": true }, @@ -1527,8 +1527,8 @@ }, { "name": "GetPresentationAsMarkdown", - "qualifiedName": "Sharepoint.GetPresentationAsMarkdown", - "fullyQualifiedName": "Sharepoint.GetPresentationAsMarkdown@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetPresentationAsMarkdown", + "fullyQualifiedName": "MicrosoftSharepoint.GetPresentationAsMarkdown@0.1.0", "description": "Get the content of a PowerPoint presentation stored in a SharePoint drive as markdown.\n\nThis tool downloads the presentation and converts it to a markdown representation,\npreserving text content, tables, and chart data. Images and other media are\nrepresented as placeholders.", "parameters": [ { @@ -1563,15 +1563,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetPresentationAsMarkdown", + "toolName": "MicrosoftSharepoint.GetPresentationAsMarkdown", "parameters": { "drive_id": { - "value": "b!a1B2c3D4e5F6g7H8i9J0kLMNOP", + "value": "b!a1B2c3D4e5F6g7H8i9J0kLmNoPqR", "type": "string", "required": true }, "item_id": { - "value": "01a2b3c4-d5e6-7f89-0abc-1d2e3f456789", + "value": "01A2B3C4D5E6F7G8H9I0J", "type": "string", "required": true } @@ -1601,8 +1601,8 @@ }, { "name": "GetSite", - "qualifiedName": "Sharepoint.GetSite", - "fullyQualifiedName": "Sharepoint.GetSite@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetSite", + "fullyQualifiedName": "MicrosoftSharepoint.GetSite@0.1.0", "description": "Retrieve information about a specific SharePoint site by its ID, URL, or name.", "parameters": [ { @@ -1629,10 +1629,10 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetSite", + "toolName": "MicrosoftSharepoint.GetSite", "parameters": { "site": { - "value": "https://example.sharepoint.com/sites/ProjectX", + "value": "https://contoso.sharepoint.com/sites/Marketing", "type": "string", "required": true } @@ -1662,8 +1662,8 @@ }, { "name": "GetSlideNotes", - "qualifiedName": "Sharepoint.GetSlideNotes", - "fullyQualifiedName": "Sharepoint.GetSlideNotes@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetSlideNotes", + "fullyQualifiedName": "MicrosoftSharepoint.GetSlideNotes@0.1.0", "description": "Get the speaker notes from a specific slide in a SharePoint PowerPoint presentation.\n\nSpeaker notes are returned in markdown format, preserving basic formatting\nlike bold, italic, and bullet points.", "parameters": [ { @@ -1706,15 +1706,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetSlideNotes", + "toolName": "MicrosoftSharepoint.GetSlideNotes", "parameters": { "drive_id": { - "value": "b!a1B2c3D4e5F6g7H8i9J0K", + "value": "b!3a9f8d2e5c4b7a6f9e0d1c2b", "type": "string", "required": true }, "item_id": { - "value": "01A2B3C4-D5E6-7F89-0A1B-2C3D4E5F6G7H", + "value": "01ABCD2345efGHijKLMnOpQRstuVwxYZ", "type": "string", "required": true }, @@ -1749,8 +1749,8 @@ }, { "name": "GetWordDocument", - "qualifiedName": "Sharepoint.GetWordDocument", - "fullyQualifiedName": "Sharepoint.GetWordDocument@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetWordDocument", + "fullyQualifiedName": "MicrosoftSharepoint.GetWordDocument@0.1.0", "description": "Get a Word document's metadata and content from a SharePoint drive (supports only `.docx`). Returns the document content as Markdown by default, or just metadata when metadata_only is True.", "parameters": [ { @@ -1793,15 +1793,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetWordDocument", + "toolName": "MicrosoftSharepoint.GetWordDocument", "parameters": { "drive_id": { - "value": "b!a1B2c3D4e5F6g7H8i9J0kL", + "value": "b!1a2B3c4D5e6F7g8H9I0J", "type": "string", "required": true }, "item_id": { - "value": "01ABCD2345EF6789abcdef0123456789", + "value": "01a23b45-c67d-89e0-fa12-3456789abcde", "type": "string", "required": true }, @@ -1836,8 +1836,8 @@ }, { "name": "GetWorkbookMetadata", - "qualifiedName": "Sharepoint.GetWorkbookMetadata", - "fullyQualifiedName": "Sharepoint.GetWorkbookMetadata@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetWorkbookMetadata", + "fullyQualifiedName": "MicrosoftSharepoint.GetWorkbookMetadata@0.1.0", "description": "Get metadata about an Excel workbook in a SharePoint drive, including worksheet list.", "parameters": [ { @@ -1880,20 +1880,20 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetWorkbookMetadata", + "toolName": "MicrosoftSharepoint.GetWorkbookMetadata", "parameters": { "drive_id": { - "value": "b!2a3f4c689ab4d3e8123abcdef012345", + "value": "b!xYz12AbC3dEfGhIJKlMnOpQRstuVwXyZ", "type": "string", "required": true }, "item_id": { - "value": "01ABCDEF23456789!456", + "value": "01a2b3c4-5d6e-7f89-0abc-def123456789", "type": "string", "required": true }, "session_id": { - "value": "session-9f8e7d6c5b4a3e2f", + "value": "session-9f1b2c3d-4e5f-6789-abcd-0123456789ab", "type": "string", "required": false } @@ -1923,8 +1923,8 @@ }, { "name": "GetWorksheetData", - "qualifiedName": "Sharepoint.GetWorksheetData", - "fullyQualifiedName": "Sharepoint.GetWorksheetData@0.9.0", + "qualifiedName": "MicrosoftSharepoint.GetWorksheetData", + "fullyQualifiedName": "MicrosoftSharepoint.GetWorksheetData@0.1.0", "description": "Read cell values from a worksheet in a SharePoint Excel workbook.\n\nNote: If referencing a recently added or renamed worksheet, pass the\n``session_id`` from that operation. A brief Graph API propagation delay\n(up to ~10 s) may cause a WorksheetNotFoundError; retry with the\n``session_id`` if this occurs.", "parameters": [ { @@ -2007,20 +2007,20 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.GetWorksheetData", + "toolName": "MicrosoftSharepoint.GetWorksheetData", "parameters": { "drive_id": { - "value": "b!a1B2c3d4E5f6G7h8I9J0", + "value": "b!7d9f2a3b-4c6d-11ec-9d26-0242ac120002", "type": "string", "required": true }, "item_id": { - "value": "01A2B3C4D5E6F7G8H9I0J", + "value": "01234567-89ab-cdef-0123-456789abcdef", "type": "string", "required": true }, "worksheet": { - "value": "Sheet1", + "value": "Sales Q1 2026", "type": "string", "required": false }, @@ -2040,12 +2040,12 @@ "required": false }, "max_cols": { - "value": 10, + "value": 20, "type": "integer", "required": false }, "session_id": { - "value": "session_ab12cd34ef", + "value": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string", "required": false } @@ -2075,8 +2075,8 @@ }, { "name": "InsertTextAtEndOfWordDocument", - "qualifiedName": "Sharepoint.InsertTextAtEndOfWordDocument", - "fullyQualifiedName": "Sharepoint.InsertTextAtEndOfWordDocument@0.9.0", + "qualifiedName": "MicrosoftSharepoint.InsertTextAtEndOfWordDocument", + "fullyQualifiedName": "MicrosoftSharepoint.InsertTextAtEndOfWordDocument@0.1.0", "description": "Append text to the end of an existing Word document.\n\nThis tool only supports files with the `.docx` extension and enforces the 4MB limit.", "parameters": [ { @@ -2119,20 +2119,20 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.InsertTextAtEndOfWordDocument", + "toolName": "MicrosoftSharepoint.InsertTextAtEndOfWordDocument", "parameters": { "drive_id": { - "value": "b!5d8f3a2b-4c6e-7f8a-9b0c-1d2e3f4a5b6c", + "value": "b!a1B2cD3EfG4hIJ5kLmN6oP7q8r9sT0", "type": "string", "required": true }, "item_id": { - "value": "01ZQABCDEF1234567890!123", + "value": "01ABCD2EFGH345IJKL678MNOP9QRS", "type": "string", "required": true }, "text_content": { - "value": "Please find the latest updates below:\n- Added quarterly sales figures\n- Updated project timelines\n- Contact the project manager for questions\n\nBest regards,\nAlex", + "value": "Please append the following: This document was updated on 2026-03-24. Please review the changes and provide any feedback by end of week.", "type": "string", "required": true } @@ -2162,8 +2162,8 @@ }, { "name": "ListItemsInFolder", - "qualifiedName": "Sharepoint.ListItemsInFolder", - "fullyQualifiedName": "Sharepoint.ListItemsInFolder@0.9.0", + "qualifiedName": "MicrosoftSharepoint.ListItemsInFolder", + "fullyQualifiedName": "MicrosoftSharepoint.ListItemsInFolder@0.1.0", "description": "Retrieve items from a folder in a drive in a SharePoint site.\n\nNote: Due to how the Microsoft Graph API is designed, we have to retrieve all items, including the ones\nskipped by offset. For this reason, the tool execution time tends to increase with the offset value.", "parameters": [ { @@ -2214,25 +2214,25 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.ListItemsInFolder", + "toolName": "MicrosoftSharepoint.ListItemsInFolder", "parameters": { "drive_id": { - "value": "12345-abcde-67890-fghij", + "value": "b7f5a6c2-3d9e-4a1b-9f0c-123456789abc", "type": "string", "required": true }, "folder_id": { - "value": "54321-jihgf-09876-fedcba", + "value": "3d9e8f6a-1b2c-4d5e-9f0a-abcdef123456", "type": "string", "required": true }, "limit": { - "value": 250, + "value": 200, "type": "integer", "required": false }, "offset": { - "value": 10, + "value": 50, "type": "integer", "required": false } @@ -2262,8 +2262,8 @@ }, { "name": "ListPages", - "qualifiedName": "Sharepoint.ListPages", - "fullyQualifiedName": "Sharepoint.ListPages@0.9.0", + "qualifiedName": "MicrosoftSharepoint.ListPages", + "fullyQualifiedName": "MicrosoftSharepoint.ListPages@0.1.0", "description": "Retrieve pages from a SharePoint site.\n\nThe Microsoft Graph API does not support pagination on this endpoint.", "parameters": [ { @@ -2298,15 +2298,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.ListPages", + "toolName": "MicrosoftSharepoint.ListPages", "parameters": { "site": { - "value": "site-id-12345", + "value": "https://contoso.sharepoint.com/sites/Marketing", "type": "string", "required": true }, "limit": { - "value": 20, + "value": 25, "type": "integer", "required": false } @@ -2336,8 +2336,8 @@ }, { "name": "ListRootItemsInDrive", - "qualifiedName": "Sharepoint.ListRootItemsInDrive", - "fullyQualifiedName": "Sharepoint.ListRootItemsInDrive@0.9.0", + "qualifiedName": "MicrosoftSharepoint.ListRootItemsInDrive", + "fullyQualifiedName": "MicrosoftSharepoint.ListRootItemsInDrive@0.1.0", "description": "Retrieve items from the root of a drive in a SharePoint site.\n\nNote: Due to how the Microsoft Graph API is designed, we have to retrieve all items, including the ones\nskipped by offset. For this reason, the tool execution time tends to increase with the offset value.", "parameters": [ { @@ -2380,20 +2380,20 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.ListRootItemsInDrive", + "toolName": "MicrosoftSharepoint.ListRootItemsInDrive", "parameters": { "drive_id": { - "value": "12345abcdef", + "value": "b!a1B2c3D4E5f6G7h8I9j0KlmnoPQrsTUv", "type": "string", "required": true }, "limit": { - "value": 250, + "value": 200, "type": "integer", "required": false }, "offset": { - "value": 10, + "value": 50, "type": "integer", "required": false } @@ -2423,8 +2423,8 @@ }, { "name": "ListSites", - "qualifiedName": "Sharepoint.ListSites", - "fullyQualifiedName": "Sharepoint.ListSites@0.9.0", + "qualifiedName": "MicrosoftSharepoint.ListSites", + "fullyQualifiedName": "MicrosoftSharepoint.ListSites@0.1.0", "description": "List all SharePoint sites accessible to the current user.", "parameters": [ { @@ -2459,10 +2459,10 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.ListSites", + "toolName": "MicrosoftSharepoint.ListSites", "parameters": { "limit": { - "value": 10, + "value": 25, "type": "integer", "required": false }, @@ -2497,8 +2497,8 @@ }, { "name": "MoveItem", - "qualifiedName": "Sharepoint.MoveItem", - "fullyQualifiedName": "Sharepoint.MoveItem@0.9.0", + "qualifiedName": "MicrosoftSharepoint.MoveItem", + "fullyQualifiedName": "MicrosoftSharepoint.MoveItem@0.1.0", "description": "Move a file or folder to a new location in a SharePoint drive.", "parameters": [ { @@ -2541,15 +2541,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.MoveItem", + "toolName": "MicrosoftSharepoint.MoveItem", "parameters": { "drive_id": { - "value": "b!8f3e2a1d4c5b6a7e9f0g", + "value": "b!5f6e7d8c9b0a1234567890abcdef1234", "type": "string", "required": true }, "item_id": { - "value": "01ZQ4Y6QYD5LHTURXWJ3F2A", + "value": "01A3B2C4D5E6F7890GHIJ", "type": "string", "required": true }, @@ -2584,8 +2584,8 @@ }, { "name": "RenameWorksheet", - "qualifiedName": "Sharepoint.RenameWorksheet", - "fullyQualifiedName": "Sharepoint.RenameWorksheet@0.9.0", + "qualifiedName": "MicrosoftSharepoint.RenameWorksheet", + "fullyQualifiedName": "MicrosoftSharepoint.RenameWorksheet@0.1.0", "description": "Rename an existing worksheet in a SharePoint Excel workbook.\n\nNote: The new name may not be immediately visible to other tools due\nto a brief Graph API propagation delay (up to ~10 s). Pass the returned\n``session_id`` to subsequent calls that reference the renamed worksheet\nto mitigate this. If referencing a recently added worksheet as the source,\nthe same delay applies; retry with the ``session_id`` if a\nWorksheetNotFoundError occurs.", "parameters": [ { @@ -2644,15 +2644,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.RenameWorksheet", + "toolName": "MicrosoftSharepoint.RenameWorksheet", "parameters": { "drive_id": { - "value": "b!a12b34c56d78e90f", + "value": "b!a1B2c3D4e5F6g7H8i9J0K_lMnOpQrSt", "type": "string", "required": true }, "item_id": { - "value": "01ABCD1234EFGH5678IJ", + "value": "01ABCDXYZlmnopQRstuVwxyZ1234567890", "type": "string", "required": true }, @@ -2662,12 +2662,12 @@ "required": true }, "new_name": { - "value": "Quarter1 Report", + "value": "Quarterly Report 2026", "type": "string", "required": true }, "session_id": { - "value": "session-9f8e7d6c5b4a3", + "value": "session_9f8e7d6c5b4a3f2e1d0c", "type": "string", "required": false } @@ -2697,8 +2697,8 @@ }, { "name": "SearchDriveItems", - "qualifiedName": "Sharepoint.SearchDriveItems", - "fullyQualifiedName": "Sharepoint.SearchDriveItems@0.9.0", + "qualifiedName": "MicrosoftSharepoint.SearchDriveItems", + "fullyQualifiedName": "MicrosoftSharepoint.SearchDriveItems@0.1.0", "description": "Search for items in one or more Sharepoint drives.\n\nNote: when searching within a single Drive and/or Folder, due to how the Microsoft Graph API is designed,\nwe have to retrieve all items, including the ones skipped by offset. For this reason, the tool execution\ntime tends to increase with the offset value.", "parameters": [ { @@ -2757,30 +2757,30 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.SearchDriveItems", + "toolName": "MicrosoftSharepoint.SearchDriveItems", "parameters": { "keywords": { - "value": "project report", + "value": "quarterly report Q1 2026", "type": "string", "required": true }, "drive_id": { - "value": "12345678-90ab-cdef-1234-567890abcdef", + "value": "d9b9e9b0-3e5f-4f33-9a0b-1c2d3e4f5a6b", "type": "string", "required": false }, "folder_id": { - "value": "abcdef12-3456-7890-abcd-ef1234567890", + "value": "3f1a2b4c-5d6e-7f8a-9b0c-1d2e3f4a5b6c", "type": "string", "required": false }, "limit": { - "value": 100, + "value": 200, "type": "integer", "required": false }, "offset": { - "value": 10, + "value": 0, "type": "integer", "required": false } @@ -2810,8 +2810,8 @@ }, { "name": "SearchSites", - "qualifiedName": "Sharepoint.SearchSites", - "fullyQualifiedName": "Sharepoint.SearchSites@0.9.0", + "qualifiedName": "MicrosoftSharepoint.SearchSites", + "fullyQualifiedName": "MicrosoftSharepoint.SearchSites@0.1.0", "description": "Search for SharePoint sites by name or description.\n\nIn case you need to retrieve a specific site by its name, ID or SharePoint URL, use the\n`Sharepoint.GetSite` tool instead, passing the ID, name or SharePoint URL to it. If you use\nthe `Sharepoint.SearchSites` tool to retrieve a single site by its name, too much CO2 will be\nreleased in the atmosphere and you will contribute to catastrophic climate change.", "parameters": [ { @@ -2854,10 +2854,10 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.SearchSites", + "toolName": "MicrosoftSharepoint.SearchSites", "parameters": { "keywords": { - "value": "Project Management", + "value": "employee onboarding", "type": "string", "required": true }, @@ -2867,7 +2867,7 @@ "required": false }, "offset": { - "value": 5, + "value": 0, "type": "integer", "required": false } @@ -2897,8 +2897,8 @@ }, { "name": "SetSlideNotes", - "qualifiedName": "Sharepoint.SetSlideNotes", - "fullyQualifiedName": "Sharepoint.SetSlideNotes@0.9.0", + "qualifiedName": "MicrosoftSharepoint.SetSlideNotes", + "fullyQualifiedName": "MicrosoftSharepoint.SetSlideNotes@0.1.0", "description": "Set or update the speaker notes on a specific slide in a SharePoint PowerPoint.\n\nNotes can be formatted using markdown:\n- **bold** for bold text\n- *italic* for italic text\n- __underline__ for underlined text\n- Lines starting with - or * become bullet points\n- Indent with spaces for nested bullets\n\nFor presentations larger than 4 MB, the upload uses a resumable session.\nConcurrency protection (etag check) is best-effort in that case, since\nMicrosoft Graph upload sessions do not support If-Match headers.", "parameters": [ { @@ -2949,15 +2949,15 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.SetSlideNotes", + "toolName": "MicrosoftSharepoint.SetSlideNotes", "parameters": { "drive_id": { - "value": "b!c8e6f4a23b1c4d569e7f0a1b2c3d4e5f", + "value": "b!d3f0a9c2-4b6e-4e72-9f45-1a2b3c4d5e6f", "type": "string", "required": true }, "item_id": { - "value": "01AB234CDE5678FGH9IJKL0MNO", + "value": "01A2B3C4-5D6E-7F80-9A1B-2C3D4E5F6A7B", "type": "string", "required": true }, @@ -2967,7 +2967,7 @@ "required": true }, "notes": { - "value": "**Presentation Summary**\n\n- *Overview*: Q1 results exceeded expectations\n- __Next Steps__:\n - Finalize the report\n - Assign follow-ups to team leads\n- *Questions to address*: revenue forecast, resource allocation\n\nPlease ensure all data is updated before the review.", + "value": "**Speaker:** *Welcome everyone*\n\n__Agenda__:\n- Introduction\n- Project Overview\n - Background\n - Objectives\n- Timeline\n\nPlease hold questions until the end.", "type": "string", "required": true } @@ -2997,8 +2997,8 @@ }, { "name": "UpdateCell", - "qualifiedName": "Sharepoint.UpdateCell", - "fullyQualifiedName": "Sharepoint.UpdateCell@0.9.0", + "qualifiedName": "MicrosoftSharepoint.UpdateCell", + "fullyQualifiedName": "MicrosoftSharepoint.UpdateCell@0.1.0", "description": "Update a single cell value in a SharePoint Excel workbook.\n\nNote: If referencing a recently added or renamed worksheet, pass the\n``session_id`` from that operation. A brief Graph API propagation delay\n(up to ~10 s) may cause a WorksheetNotFoundError; retry with the\n``session_id`` if this occurs.", "parameters": [ { @@ -3073,40 +3073,40 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.UpdateCell", + "toolName": "MicrosoftSharepoint.UpdateCell", "parameters": { "drive_id": { - "value": "b!1a2B3c4D5e6F7g8H9i0JkLmnopQR", + "value": "b!a1B2c3D4eF5g6H7I8J9K0lmnOPQRstUV", "type": "string", "required": true }, "item_id": { - "value": "01ABCD3EFGHIJKLmnopqrstuvwxYZ!456", + "value": "01A2BC3D4EFGH5IJKL6MNOP7QRST8UVW9", "type": "string", "required": true }, "column": { - "value": "C", + "value": "BC", "type": "string", "required": true }, "row": { - "value": 5, + "value": 12, "type": "integer", "required": true }, "value": { - "value": "=SUM(A1:A10)", + "value": "=SUM(BC1:BC10)", "type": "string", "required": true }, "worksheet": { - "value": "Q1 Financials", + "value": "Sales Data", "type": "string", "required": false }, "session_id": { - "value": "S:1A2B3C4D5E6F7G8H9I", + "value": "session_3f5b9f8a-9d3e-4c2a-b6f7-1e2d3c4b5a6f", "type": "string", "required": false } @@ -3136,8 +3136,8 @@ }, { "name": "UpdateRange", - "qualifiedName": "Sharepoint.UpdateRange", - "fullyQualifiedName": "Sharepoint.UpdateRange@0.9.0", + "qualifiedName": "MicrosoftSharepoint.UpdateRange", + "fullyQualifiedName": "MicrosoftSharepoint.UpdateRange@0.1.0", "description": "Update multiple cells in a SharePoint Excel worksheet using sparse dict format.\n\nOnly specified cells are updated; unspecified cells remain unchanged.\n\nInternally, a single PATCH request is sent covering the bounding box\nof all specified cells. Cells within the box that are not in the\ninput are sent as ``null``, which the Graph API treats as \"skip\".\n\nNote: If referencing a recently added or renamed worksheet, pass the\n``session_id`` from that operation. A brief Graph API propagation delay\n(up to ~10 s) may cause a WorksheetNotFoundError; retry with the\n``session_id`` if this occurs.", "parameters": [ { @@ -3196,30 +3196,30 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.UpdateRange", + "toolName": "MicrosoftSharepoint.UpdateRange", "parameters": { "drive_id": { - "value": "b!a1b2c3d4e5f6g7h8i9j0", + "value": "b0a1c2d3-e4f5-6789-abcd-ef0123456789", "type": "string", "required": true }, "item_id": { - "value": "01ABCDEF234567890abcdef", + "value": "f1e2d3c4-b5a6-7890-cdef-0123456789ab", "type": "string", "required": true }, "data": { - "value": "{\"1\":{\"A\":\"Name\",\"B\":\"Department\",\"C\":\"Manager\"},\"2\":{\"A\":\"Alice\",\"B\":\"Engineering\",\"C\":\"Bob\"},\"4\":{\"B\":120000,\"C\":true},\"5\":{\"A\":null,\"D\":3.14}}", + "value": "{\"1\": {\"A\": \"Name\", \"B\": \"Age\", \"C\": \"Active\"}, \"2\": {\"A\": \"Alice\", \"B\": 30, \"C\": true}, \"3\": {\"A\": \"Bob\", \"B\": null, \"C\": false}, \"10\": {\"D\": 123.45, \"E\": \"Notes\"}}", "type": "string", "required": true }, "worksheet": { - "value": "Budget 2026", + "value": "Employees", "type": "string", "required": false }, "session_id": { - "value": "f3b9e1d2-4c6a-4b1e-9f3a-0a1b2c3d4e5f", + "value": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string", "required": false } @@ -3249,8 +3249,8 @@ }, { "name": "WhoAmI", - "qualifiedName": "Sharepoint.WhoAmI", - "fullyQualifiedName": "Sharepoint.WhoAmI@0.9.0", + "qualifiedName": "MicrosoftSharepoint.WhoAmI", + "fullyQualifiedName": "MicrosoftSharepoint.WhoAmI@0.1.0", "description": "Get information about the current user and their SharePoint environment.", "parameters": [], "auth": { @@ -3268,7 +3268,7 @@ }, "documentationChunks": [], "codeExample": { - "toolName": "Sharepoint.WhoAmI", + "toolName": "MicrosoftSharepoint.WhoAmI", "parameters": {}, "requiresAuth": true, "authProvider": "microsoft", @@ -3294,16 +3294,9 @@ } } ], - "documentationChunks": [ - { - "type": "warning", - "location": "description", - "position": "after", - "content": "\n The SharePoint MCP Server requires a Microsoft 365 account. Personal Microsoft accounts are not supported.\n" - } - ], + "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-02-26T20:45:10.433Z", - "summary": "Arcade.dev SharePoint toolkit for Microsoft enables programmatic access to SharePoint sites, drives, and Office files via the Microsoft Graph API. It lets developers create, read, update, and manage documents, presentations, worksheets, lists, pages, and drive items across sites and document libraries.\n\n**Capabilities**\n- Manage and transform Office documents (Word, Excel, PowerPoint) and their content programmatically.\n- Perform file and folder lifecycle operations, copy/move, search, and create share links.\n- Query and manipulate site resources: sites, drives, lists, pages, and user context.\n- Batch and async-friendly workflows with resumable uploads and operation monitoring.\n\n**OAuth**\nProvider: microsoft\nScopes: Sites.Read.All, Sites.ReadWrite.All, User.Read" + "generatedAt": "2026-03-24T11:25:19.840Z", + "summary": "Microsoft SharePoint toolkit provides Arcade.dev LLM tools for interacting with SharePoint via Microsoft Graph. It enables programmatic creation, retrieval, modification, and orchestration of sites, drives, files, documents (Word/PowerPoint), and Excel workbooks from LLM workflows.\n\n**Capabilities**\n\n- Create, read, update, and delete drive items, folders, pages, lists, and site metadata at scale.\n- Manage Office files: create and append slides, edit Word documents, create workbooks, and render content to Markdown.\n- Fine-grained Excel and worksheet operations including cell/range updates, worksheet lifecycle, and session-aware handling for Graph propagation delays.\n- Search, list, share, copy, move, and monitor asynchronous operations across sites and drives with pagination and status checks.\n\n**OAuth**\n\nProvider: microsoft\n\nScopes: Sites.Read.All, Sites.ReadWrite.All, User.Read" } \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/outlookcalendar.json b/toolkit-docs-generator/data/toolkits/outlookcalendar.json deleted file mode 100644 index 3b8bed084..000000000 --- a/toolkit-docs-generator/data/toolkits/outlookcalendar.json +++ /dev/null @@ -1,390 +0,0 @@ -{ - "id": "OutlookCalendar", - "label": "Outlook Calendar", - "version": "2.3.2", - "description": "rcade.dev LLM tools for Outlook Calendar", - "metadata": { - "category": "productivity", - "iconUrl": "https://design-system.arcade.dev/icons/outlook-calendar.svg", - "isBYOC": false, - "isPro": false, - "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/outlook-calendar", - "isComingSoon": false, - "isHidden": false - }, - "auth": { - "type": "oauth2", - "providerId": "microsoft", - "allScopes": [ - "Calendars.ReadBasic", - "Calendars.ReadWrite", - "MailboxSettings.Read", - "User.Read" - ] - }, - "tools": [ - { - "name": "CreateEvent", - "qualifiedName": "OutlookCalendar.CreateEvent", - "fullyQualifiedName": "OutlookCalendar.CreateEvent@2.3.2", - "description": "Create an event in the authenticated user's default calendar.\n\nIgnores timezone offsets provided in the start_date_time and end_date_time parameters.\nInstead, uses the user's default calendar timezone to filter events.\nIf the user has not set a timezone for their calendar, then the timezone will be UTC.", - "parameters": [ - { - "name": "subject", - "type": "string", - "required": true, - "description": "The text of the event's subject (title) line.", - "enum": null, - "inferrable": true - }, - { - "name": "body", - "type": "string", - "required": true, - "description": "The body of the event", - "enum": null, - "inferrable": true - }, - { - "name": "start_date_time", - "type": "string", - "required": true, - "description": "The datetime of the event's start, represented in ISO 8601 format. Timezone offset is ignored. For example, 2025-04-25T13:00:00", - "enum": null, - "inferrable": true - }, - { - "name": "end_date_time", - "type": "string", - "required": true, - "description": "The datetime of the event's end, represented in ISO 8601 format. Timezone offset is ignored. For example, 2025-04-25T13:30:00", - "enum": null, - "inferrable": true - }, - { - "name": "location", - "type": "string", - "required": false, - "description": "The location of the event", - "enum": null, - "inferrable": true - }, - { - "name": "attendee_emails", - "type": "array", - "innerType": "string", - "required": false, - "description": "The email addresses of the attendees of the event. Must be valid email addresses e.g., username@domain.com.", - "enum": null, - "inferrable": true - }, - { - "name": "is_online_meeting", - "type": "boolean", - "required": false, - "description": "Whether the event is an online meeting. Defaults to False", - "enum": null, - "inferrable": true - }, - { - "name": "custom_meeting_url", - "type": "string", - "required": false, - "description": "The URL of the online meeting. If not provided and is_online_meeting is True, then a url will be generated for you", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "MailboxSettings.Read", - "Calendars.ReadWrite" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing the created event details" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookCalendar.CreateEvent", - "parameters": { - "subject": { - "value": "Team Sync Meeting", - "type": "string", - "required": true - }, - "body": { - "value": "Discuss project updates and next steps.", - "type": "string", - "required": true - }, - "start_date_time": { - "value": "2025-04-25T13:00:00", - "type": "string", - "required": true - }, - "end_date_time": { - "value": "2025-04-25T14:00:00", - "type": "string", - "required": true - }, - "location": { - "value": "Meeting Room A", - "type": "string", - "required": false - }, - "attendee_emails": { - "value": [ - "john.doe@example.com", - "jane.smith@example.com" - ], - "type": "array", - "required": false - }, - "is_online_meeting": { - "value": true, - "type": "boolean", - "required": false - }, - "custom_meeting_url": { - "value": "https://example.com/meeting/12345", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "calendar" - ] - }, - "behavior": { - "operations": [ - "create" - ], - "readOnly": false, - "destructive": false, - "idempotent": false, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "GetEvent", - "qualifiedName": "OutlookCalendar.GetEvent", - "fullyQualifiedName": "OutlookCalendar.GetEvent@2.3.2", - "description": "Get an event by its ID from the user's calendar.", - "parameters": [ - { - "name": "event_id", - "type": "string", - "required": true, - "description": "The ID of the event to get", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "MailboxSettings.Read", - "Calendars.ReadBasic" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing the event details" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookCalendar.GetEvent", - "parameters": { - "event_id": { - "value": "abc123xyz", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "calendar" - ] - }, - "behavior": { - "operations": [ - "read" - ], - "readOnly": true, - "destructive": false, - "idempotent": true, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "ListEventsInTimeRange", - "qualifiedName": "OutlookCalendar.ListEventsInTimeRange", - "fullyQualifiedName": "OutlookCalendar.ListEventsInTimeRange@2.3.2", - "description": "List events in the user's calendar in a specific time range.\n\nIgnores timezone offsets provided in the start_date_time and end_date_time parameters.\nInstead, uses the user's default calendar timezone to filter events.\nIf the user has not set a timezone for their calendar, then the timezone will be UTC.", - "parameters": [ - { - "name": "start_date_time", - "type": "string", - "required": true, - "description": "The start date and time of the time range, represented in ISO 8601 format. Timezone offset is ignored. For example, 2025-04-24T19:00:00", - "enum": null, - "inferrable": true - }, - { - "name": "end_date_time", - "type": "string", - "required": true, - "description": "The end date and time of the time range, represented in ISO 8601 format. Timezone offset is ignored. For example, 2025-04-24T19:30:00", - "enum": null, - "inferrable": true - }, - { - "name": "limit", - "type": "integer", - "required": false, - "description": "The maximum number of events to return. Max 1000. Defaults to 10", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "MailboxSettings.Read", - "Calendars.ReadBasic" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing a list of events" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookCalendar.ListEventsInTimeRange", - "parameters": { - "start_date_time": { - "value": "2025-04-24T09:00:00", - "type": "string", - "required": true - }, - "end_date_time": { - "value": "2025-04-24T17:00:00", - "type": "string", - "required": true - }, - "limit": { - "value": 15, - "type": "integer", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "calendar" - ] - }, - "behavior": { - "operations": [ - "read" - ], - "readOnly": true, - "destructive": false, - "idempotent": true, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "WhoAmI", - "qualifiedName": "OutlookCalendar.WhoAmI", - "fullyQualifiedName": "OutlookCalendar.WhoAmI@2.3.2", - "description": "Get information about the current user and their Outlook Calendar environment.", - "parameters": [], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "User.Read", - "Calendars.ReadBasic" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "Get comprehensive user profile and Outlook Calendar information." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookCalendar.WhoAmI", - "parameters": {}, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "calendar" - ] - }, - "behavior": { - "operations": [ - "read" - ], - "readOnly": true, - "destructive": false, - "idempotent": true, - "openWorld": true - }, - "extras": null - } - } - ], - "documentationChunks": [ - { - "type": "markdown", - "location": "auth", - "position": "after", - "content": "The Arcade Outlook Calendar MCP Server uses the [Microsoft auth provider](/references/auth-providers/microsoft) to connect to users' Microsoft accounts.\n---" - } - ], - "customImports": [], - "subPages": [], - "generatedAt": "2026-02-26T20:45:10.428Z", - "summary": "Arcade Toolkit for Outlook Calendar provides developers with powerful integrations utilizing Microsoft’s OAuth2 authentication. This toolkit empowers users to proficiently manage calendar events and retrieve user details.\n\n**Capabilities**\n- Create and manage calendar events seamlessly in users' default calendar.\n- Retrieve detailed event information by event ID.\n- List events occurring within specified time ranges, taking into account default calendar time zones.\n- Access current user information and their Outlook Calendar environment effortlessly.\n\n**OAuth**\n- Provider: Microsoft\n- Scopes: Calendars.ReadBasic, Calendars.ReadWrite, MailboxSettings.Read, User.Read" -} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/outlookmail.json b/toolkit-docs-generator/data/toolkits/outlookmail.json deleted file mode 100644 index 09be55be1..000000000 --- a/toolkit-docs-generator/data/toolkits/outlookmail.json +++ /dev/null @@ -1,999 +0,0 @@ -{ - "id": "OutlookMail", - "label": "Outlook Mail", - "version": "2.4.2", - "description": "Arcade.dev LLM tools for Outlook Mail", - "metadata": { - "category": "productivity", - "iconUrl": "https://design-system.arcade.dev/icons/outlook-mail.svg", - "isBYOC": false, - "isPro": false, - "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/outlook-mail", - "isComingSoon": false, - "isHidden": false - }, - "auth": { - "type": "oauth2", - "providerId": "microsoft", - "allScopes": [ - "Mail.Read", - "Mail.ReadWrite", - "Mail.Send", - "User.Read" - ] - }, - "tools": [ - { - "name": "CreateAndSendEmail", - "qualifiedName": "OutlookMail.CreateAndSendEmail", - "fullyQualifiedName": "OutlookMail.CreateAndSendEmail@2.4.2", - "description": "Create and immediately send a new email in Outlook to the specified recipients", - "parameters": [ - { - "name": "subject", - "type": "string", - "required": true, - "description": "The subject of the email to create", - "enum": null, - "inferrable": true - }, - { - "name": "body", - "type": "string", - "required": true, - "description": "The body of the email to create", - "enum": null, - "inferrable": true - }, - { - "name": "to_recipients", - "type": "array", - "innerType": "string", - "required": true, - "description": "The email addresses that will be the recipients of the email", - "enum": null, - "inferrable": true - }, - { - "name": "cc_recipients", - "type": "array", - "innerType": "string", - "required": false, - "description": "The email addresses that will be the CC recipients of the email.", - "enum": null, - "inferrable": true - }, - { - "name": "bcc_recipients", - "type": "array", - "innerType": "string", - "required": false, - "description": "The email addresses that will be the BCC recipients of the email.", - "enum": null, - "inferrable": true - }, - { - "name": "body_type", - "type": "string", - "required": false, - "description": "The content type of the email body. Defaults to 'text'", - "enum": [ - "text", - "html" - ], - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Mail.Send" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing the created email details" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookMail.CreateAndSendEmail", - "parameters": { - "subject": { - "value": "Project Update", - "type": "string", - "required": true - }, - "body": { - "value": "This is an update on the project status. Please review the attached documents.", - "type": "string", - "required": true - }, - "to_recipients": { - "value": [ - "alice@example.com", - "bob@example.com" - ], - "type": "array", - "required": true - }, - "cc_recipients": { - "value": [ - "charlie@example.com" - ], - "type": "array", - "required": false - }, - "bcc_recipients": { - "value": [ - "dave@example.com" - ], - "type": "array", - "required": false - }, - "body_type": { - "value": "text", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "email" - ] - }, - "behavior": { - "operations": [ - "create" - ], - "readOnly": false, - "destructive": false, - "idempotent": false, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "CreateDraftEmail", - "qualifiedName": "OutlookMail.CreateDraftEmail", - "fullyQualifiedName": "OutlookMail.CreateDraftEmail@2.4.2", - "description": "Compose a new draft email in Outlook", - "parameters": [ - { - "name": "subject", - "type": "string", - "required": true, - "description": "The subject of the draft email to create", - "enum": null, - "inferrable": true - }, - { - "name": "body", - "type": "string", - "required": true, - "description": "The body of the draft email to create", - "enum": null, - "inferrable": true - }, - { - "name": "to_recipients", - "type": "array", - "innerType": "string", - "required": true, - "description": "The email addresses that will be the recipients of the draft email", - "enum": null, - "inferrable": true - }, - { - "name": "cc_recipients", - "type": "array", - "innerType": "string", - "required": false, - "description": "The email addresses that will be the CC recipients of the draft email.", - "enum": null, - "inferrable": true - }, - { - "name": "bcc_recipients", - "type": "array", - "innerType": "string", - "required": false, - "description": "The email addresses that will be the BCC recipients of the draft email.", - "enum": null, - "inferrable": true - }, - { - "name": "body_type", - "type": "string", - "required": false, - "description": "The content type of the email body. Defaults to 'text'", - "enum": [ - "text", - "html" - ], - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Mail.ReadWrite" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing the created email details" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookMail.CreateDraftEmail", - "parameters": { - "subject": { - "value": "Meeting Reminder", - "type": "string", - "required": true - }, - "body": { - "value": "This is a reminder for our meeting scheduled for tomorrow at 10 AM.", - "type": "string", - "required": true - }, - "to_recipients": { - "value": [ - "example1@example.com", - "example2@example.com" - ], - "type": "array", - "required": true - }, - "cc_recipients": { - "value": [ - "cc@example.com" - ], - "type": "array", - "required": false - }, - "bcc_recipients": { - "value": [ - "bcc@example.com" - ], - "type": "array", - "required": false - }, - "body_type": { - "value": "text", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "email" - ] - }, - "behavior": { - "operations": [ - "create" - ], - "readOnly": false, - "destructive": false, - "idempotent": false, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "ListEmails", - "qualifiedName": "OutlookMail.ListEmails", - "fullyQualifiedName": "OutlookMail.ListEmails@2.4.2", - "description": "List emails in the user's mailbox across all folders.\n\nSince this tool lists email across all folders, it may return sent items, drafts,\nand other items that are not in the inbox.", - "parameters": [ - { - "name": "limit", - "type": "integer", - "required": false, - "description": "The number of messages to return. Max is 100. Defaults to 5.", - "enum": null, - "inferrable": true - }, - { - "name": "pagination_token", - "type": "string", - "required": false, - "description": "The pagination token to continue a previous request", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Mail.Read" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing a list of emails" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookMail.ListEmails", - "parameters": { - "limit": { - "value": 10, - "type": "integer", - "required": false - }, - "pagination_token": { - "value": "abc123", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "email" - ] - }, - "behavior": { - "operations": [ - "read" - ], - "readOnly": true, - "destructive": false, - "idempotent": true, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "ListEmailsByProperty", - "qualifiedName": "OutlookMail.ListEmailsByProperty", - "fullyQualifiedName": "OutlookMail.ListEmailsByProperty@2.4.2", - "description": "List emails in the user's mailbox across all folders filtering by a property.", - "parameters": [ - { - "name": "property", - "type": "string", - "required": true, - "description": "The property to filter the emails by.", - "enum": [ - "subject", - "conversationId", - "receivedDateTime", - "sender/emailAddress/address" - ], - "inferrable": true - }, - { - "name": "operator", - "type": "string", - "required": true, - "description": "The operator to use for the filter.", - "enum": [ - "eq", - "ne", - "gt", - "ge", - "lt", - "le", - "startsWith", - "endsWith", - "contains" - ], - "inferrable": true - }, - { - "name": "value", - "type": "string", - "required": true, - "description": "The value to filter the emails by", - "enum": null, - "inferrable": true - }, - { - "name": "limit", - "type": "integer", - "required": false, - "description": "The number of messages to return. Max is 100. Defaults to 5.", - "enum": null, - "inferrable": true - }, - { - "name": "pagination_token", - "type": "string", - "required": false, - "description": "The pagination token to continue a previous request", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Mail.Read" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing a list of emails" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookMail.ListEmailsByProperty", - "parameters": { - "property": { - "value": "subject", - "type": "string", - "required": true - }, - "operator": { - "value": "contains", - "type": "string", - "required": true - }, - "value": { - "value": "meeting", - "type": "string", - "required": true - }, - "limit": { - "value": 10, - "type": "integer", - "required": false - }, - "pagination_token": { - "value": "abc123", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "email" - ] - }, - "behavior": { - "operations": [ - "read" - ], - "readOnly": true, - "destructive": false, - "idempotent": true, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "ListEmailsInFolder", - "qualifiedName": "OutlookMail.ListEmailsInFolder", - "fullyQualifiedName": "OutlookMail.ListEmailsInFolder@2.4.2", - "description": "List the user's emails in the specified folder.\n\nExactly one of `well_known_folder_name` or `folder_id` MUST be provided.", - "parameters": [ - { - "name": "well_known_folder_name", - "type": "string", - "required": false, - "description": "The name of the folder to list emails from. Defaults to None.", - "enum": [ - "deleteditems", - "drafts", - "inbox", - "junkemail", - "sentitems", - "starred", - "tasks" - ], - "inferrable": true - }, - { - "name": "folder_id", - "type": "string", - "required": false, - "description": "The ID of the folder to list emails from if the folder is not a well-known folder. Defaults to None.", - "enum": null, - "inferrable": true - }, - { - "name": "limit", - "type": "integer", - "required": false, - "description": "The number of messages to return. Max is 100. Defaults to 5.", - "enum": null, - "inferrable": true - }, - { - "name": "pagination_token", - "type": "string", - "required": false, - "description": "The pagination token to continue a previous request", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Mail.Read" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing a list of emails and a pagination token, if applicable" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookMail.ListEmailsInFolder", - "parameters": { - "well_known_folder_name": { - "value": "Inbox", - "type": "string", - "required": false - }, - "folder_id": { - "value": null, - "type": "string", - "required": false - }, - "limit": { - "value": 10, - "type": "integer", - "required": false - }, - "pagination_token": { - "value": null, - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "email" - ] - }, - "behavior": { - "operations": [ - "read" - ], - "readOnly": true, - "destructive": false, - "idempotent": true, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "ReplyToEmail", - "qualifiedName": "OutlookMail.ReplyToEmail", - "fullyQualifiedName": "OutlookMail.ReplyToEmail@2.4.2", - "description": "Reply to an existing email in Outlook.\n\nUse this tool to reply to the sender or all recipients of the email.\nSpecify the reply_type to determine the scope of the reply.", - "parameters": [ - { - "name": "message_id", - "type": "string", - "required": true, - "description": "The ID of the email to reply to", - "enum": null, - "inferrable": true - }, - { - "name": "body", - "type": "string", - "required": true, - "description": "The body of the reply to the email", - "enum": null, - "inferrable": true - }, - { - "name": "reply_type", - "type": "string", - "required": false, - "description": "Specify ReplyType.REPLY to reply only to the sender or ReplyType.REPLY_ALL to reply to all recipients. Defaults to ReplyType.REPLY.", - "enum": [ - "reply", - "reply_all" - ], - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Mail.Send" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing the sent email details" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookMail.ReplyToEmail", - "parameters": { - "message_id": { - "value": "1234567890", - "type": "string", - "required": true - }, - "body": { - "value": "Thank you for your email. I appreciate your promptness.", - "type": "string", - "required": true - }, - "reply_type": { - "value": "REPLY_ALL", - "type": "string", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "email" - ] - }, - "behavior": { - "operations": [ - "create" - ], - "readOnly": false, - "destructive": false, - "idempotent": false, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "SendDraftEmail", - "qualifiedName": "OutlookMail.SendDraftEmail", - "fullyQualifiedName": "OutlookMail.SendDraftEmail@2.4.2", - "description": "Send an existing draft email in Outlook\n\nThis tool can send any un-sent email:\n - draft\n - reply-draft\n - reply-all draft\n - forward draft", - "parameters": [ - { - "name": "message_id", - "type": "string", - "required": true, - "description": "The ID of the draft email to send", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Mail.Send" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing the sent email details" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookMail.SendDraftEmail", - "parameters": { - "message_id": { - "value": "draft_1234567890", - "type": "string", - "required": true - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "email" - ] - }, - "behavior": { - "operations": [ - "update" - ], - "readOnly": false, - "destructive": false, - "idempotent": false, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "UpdateDraftEmail", - "qualifiedName": "OutlookMail.UpdateDraftEmail", - "fullyQualifiedName": "OutlookMail.UpdateDraftEmail@2.4.2", - "description": "Update an existing draft email in Outlook.\n\nThis tool overwrites the subject and body of a draft email (if provided),\nand modifies its recipient lists by selectively adding or removing email addresses.\n\nThis tool can update any un-sent email:\n - draft\n - reply-draft\n - reply-all draft\n - forward draft", - "parameters": [ - { - "name": "message_id", - "type": "string", - "required": true, - "description": "The ID of the draft email to update", - "enum": null, - "inferrable": true - }, - { - "name": "subject", - "type": "string", - "required": false, - "description": "The new subject of the draft email. If provided, the existing subject will be overwritten", - "enum": null, - "inferrable": true - }, - { - "name": "body", - "type": "string", - "required": false, - "description": "The new body of the draft email. If provided, the existing body will be overwritten", - "enum": null, - "inferrable": true - }, - { - "name": "to_add", - "type": "array", - "innerType": "string", - "required": false, - "description": "Email addresses to add as 'To' recipients.", - "enum": null, - "inferrable": true - }, - { - "name": "to_remove", - "type": "array", - "innerType": "string", - "required": false, - "description": "Email addresses to remove from the current 'To' recipients.", - "enum": null, - "inferrable": true - }, - { - "name": "cc_add", - "type": "array", - "innerType": "string", - "required": false, - "description": "Email addresses to add as 'CC' recipients.", - "enum": null, - "inferrable": true - }, - { - "name": "cc_remove", - "type": "array", - "innerType": "string", - "required": false, - "description": "Email addresses to remove from the current 'CC' recipients.", - "enum": null, - "inferrable": true - }, - { - "name": "bcc_add", - "type": "array", - "innerType": "string", - "required": false, - "description": "Email addresses to add as 'BCC' recipients.", - "enum": null, - "inferrable": true - }, - { - "name": "bcc_remove", - "type": "array", - "innerType": "string", - "required": false, - "description": "Email addresses to remove from the current 'BCC' recipients.", - "enum": null, - "inferrable": true - } - ], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "Mail.ReadWrite" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "A dictionary containing the updated email details" - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookMail.UpdateDraftEmail", - "parameters": { - "message_id": { - "value": "12345-abcde-67890-fghij-12345", - "type": "string", - "required": true - }, - "subject": { - "value": "Meeting Update", - "type": "string", - "required": false - }, - "body": { - "value": "The meeting has been rescheduled to next week.", - "type": "string", - "required": false - }, - "to_add": { - "value": [ - "john.doe@example.com", - "jane.smith@example.com" - ], - "type": "array", - "required": false - }, - "to_remove": { - "value": [ - "old.recipient@example.com" - ], - "type": "array", - "required": false - }, - "cc_add": { - "value": [ - "manager@example.com" - ], - "type": "array", - "required": false - }, - "cc_remove": { - "value": [ - "former.cc@example.com" - ], - "type": "array", - "required": false - }, - "bcc_add": { - "value": [], - "type": "array", - "required": false - }, - "bcc_remove": { - "value": [ - "old.bcc@example.com" - ], - "type": "array", - "required": false - } - }, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "email" - ] - }, - "behavior": { - "operations": [ - "update" - ], - "readOnly": false, - "destructive": false, - "idempotent": true, - "openWorld": true - }, - "extras": null - } - }, - { - "name": "WhoAmI", - "qualifiedName": "OutlookMail.WhoAmI", - "fullyQualifiedName": "OutlookMail.WhoAmI@2.4.2", - "description": "Get comprehensive user profile and Outlook Mail environment information.\n\nThis tool provides detailed information about the authenticated user including\ntheir name, email, mailbox settings, automatic replies configuration, and other\nimportant profile details from Outlook Mail services.", - "parameters": [], - "auth": { - "providerId": "microsoft", - "providerType": "oauth2", - "scopes": [ - "User.Read", - "Mail.Read" - ] - }, - "secrets": [], - "secretsInfo": [], - "output": { - "type": "json", - "description": "Get comprehensive user profile and Outlook Mail environment information." - }, - "documentationChunks": [], - "codeExample": { - "toolName": "OutlookMail.WhoAmI", - "parameters": {}, - "requiresAuth": true, - "authProvider": "microsoft", - "tabLabel": "Call the Tool with User Authorization" - }, - "metadata": { - "classification": { - "serviceDomains": [ - "email" - ] - }, - "behavior": { - "operations": [ - "read" - ], - "readOnly": true, - "destructive": false, - "idempotent": true, - "openWorld": true - }, - "extras": null - } - } - ], - "documentationChunks": [ - { - "type": "markdown", - "location": "auth", - "position": "after", - "content": "The Arcade Outlook Mail MCP Server uses the [Microsoft auth provider](/references/auth-providers/microsoft) to connect to users' Microsoft accounts.\n---" - } - ], - "customImports": [], - "subPages": [], - "generatedAt": "2026-02-26T20:45:10.428Z", - "summary": "**Outlook Mail Toolkit Overview**\\nThe Arcade.dev Outlook Mail toolkit provides powerful functionalities to integrate Outlook Mail capabilities into applications. It enables developers to manage email interactions seamlessly through a variety of tools and features.\\n\\n**Capabilities**\\n- Create, send, and draft emails with ease.\\n- List and filter emails across all mailbox folders.\\n- Reply to emails and manage draft updates effectively.\\n- Retrieve comprehensive user profile and configuration details.\\n\\n**OAuth**\\n- **Provider**: Microsoft\\n- **Scopes**: Mail.Read, Mail.ReadWrite, Mail.Send, User.Read\\n\\n**Secrets**\\nNo secrets are required for usage." -} \ No newline at end of file diff --git a/toolkit-docs-generator/data/toolkits/salesforce.json b/toolkit-docs-generator/data/toolkits/salesforce.json index 64e85414e..a15f8af39 100644 --- a/toolkit-docs-generator/data/toolkits/salesforce.json +++ b/toolkit-docs-generator/data/toolkits/salesforce.json @@ -1,7 +1,7 @@ { "id": "Salesforce", "label": "Salesforce", - "version": "2.2.0", + "version": "2.2.1", "description": "Arcade tools designed for LLMs to interact with Salesforce", "metadata": { "category": "sales", @@ -34,7 +34,7 @@ { "name": "ConvertLead", "qualifiedName": "Salesforce.ConvertLead", - "fullyQualifiedName": "Salesforce.ConvertLead@2.2.0", + "fullyQualifiedName": "Salesforce.ConvertLead@2.2.1", "description": "Converts a lead into a Contact (and optionally Account + Opportunity).\n\nThis is the canonical lead-to-deal transition in Salesforce. The lead record\nis marked as converted and new Contact/Account/Opportunity records are created.", "parameters": [ { @@ -161,7 +161,7 @@ { "name": "CreateContact", "qualifiedName": "Salesforce.CreateContact", - "fullyQualifiedName": "Salesforce.CreateContact@2.2.0", + "fullyQualifiedName": "Salesforce.CreateContact@2.2.1", "description": "Creates a contact in Salesforce.", "parameters": [ { @@ -336,7 +336,7 @@ { "name": "CreateLead", "qualifiedName": "Salesforce.CreateLead", - "fullyQualifiedName": "Salesforce.CreateLead@2.2.0", + "fullyQualifiedName": "Salesforce.CreateLead@2.2.1", "description": "Creates a new lead in Salesforce.\n\nUse this when someone is a potential customer but isn't yet associated with\nan existing account. For contacts under existing accounts, use create_contact.", "parameters": [ { @@ -538,7 +538,7 @@ { "name": "CreateOpportunity", "qualifiedName": "Salesforce.CreateOpportunity", - "fullyQualifiedName": "Salesforce.CreateOpportunity@2.2.0", + "fullyQualifiedName": "Salesforce.CreateOpportunity@2.2.1", "description": "Creates a new opportunity (deal) in Salesforce.\n\nRequires an account, name, stage, and close date. Validates stage, lead source,\nand type against the org's configured picklist values.", "parameters": [ { @@ -714,7 +714,7 @@ { "name": "CreateTask", "qualifiedName": "Salesforce.CreateTask", - "fullyQualifiedName": "Salesforce.CreateTask@2.2.0", + "fullyQualifiedName": "Salesforce.CreateTask@2.2.1", "description": "Creates a task (follow-up, reminder, to-do) in Salesforce.\n\nUse this for future actions like reminders, follow-ups, or to-do items.\nFor logging a completed phone call, use LogACall instead.", "parameters": [ { @@ -877,7 +877,7 @@ { "name": "GetAccountDataById", "qualifiedName": "Salesforce.GetAccountDataById", - "fullyQualifiedName": "Salesforce.GetAccountDataById@2.2.0", + "fullyQualifiedName": "Salesforce.GetAccountDataById@2.2.1", "description": "Gets the account with related info: contacts, leads, notes, calls, opportunities, tasks,\nemails, and events (up to 10 items of each type).\n\nAn account is an organization (such as a customer, supplier, or partner, though more commonly\na customer). In some Salesforce account setups, an account can also represent a person.", "parameters": [ { @@ -953,7 +953,7 @@ { "name": "GetAccountDataByKeywords", "qualifiedName": "Salesforce.GetAccountDataByKeywords", - "fullyQualifiedName": "Salesforce.GetAccountDataByKeywords@2.2.0", + "fullyQualifiedName": "Salesforce.GetAccountDataByKeywords@2.2.1", "description": "Searches for accounts in Salesforce and returns them with related info: contacts, leads,\nnotes, calls, opportunities, tasks, emails, and events (up to 10 items of each type).\n\nAn account is an organization (such as a customer, supplier, or partner, though more commonly\na customer). In some Salesforce account setups, an account can also represent a person.", "parameters": [ { @@ -1055,7 +1055,7 @@ { "name": "GetOpportunityById", "qualifiedName": "Salesforce.GetOpportunityById", - "fullyQualifiedName": "Salesforce.GetOpportunityById@2.2.0", + "fullyQualifiedName": "Salesforce.GetOpportunityById@2.2.1", "description": "Gets a single opportunity with enriched related data: contact roles, line items,\nopen tasks, and recent notes.", "parameters": [ { @@ -1130,7 +1130,7 @@ { "name": "ListMyTasks", "qualifiedName": "Salesforce.ListMyTasks", - "fullyQualifiedName": "Salesforce.ListMyTasks@2.2.0", + "fullyQualifiedName": "Salesforce.ListMyTasks@2.2.1", "description": "Lists tasks assigned to you in Salesforce with optional filters.\n\nExcludes call logs and email activities — only shows actionable tasks.\nUse overdue_only=true to see just tasks past their due date.", "parameters": [ { @@ -1280,7 +1280,7 @@ { "name": "LogACall", "qualifiedName": "Salesforce.LogACall", - "fullyQualifiedName": "Salesforce.LogACall@2.2.0", + "fullyQualifiedName": "Salesforce.LogACall@2.2.1", "description": "Logs a completed phone call as an activity in Salesforce.\n\nUse this to record calls that already happened. For future follow-up actions,\nuse CreateTask instead.", "parameters": [ { @@ -1417,7 +1417,7 @@ { "name": "SearchContacts", "qualifiedName": "Salesforce.SearchContacts", - "fullyQualifiedName": "Salesforce.SearchContacts@2.2.0", + "fullyQualifiedName": "Salesforce.SearchContacts@2.2.1", "description": "Searches for contacts in Salesforce with optional filters.\n\nAt least one filter (query, account_id, or title) must be provided.\nUse this to find people at specific accounts or with specific roles.", "parameters": [ { @@ -1541,7 +1541,7 @@ { "name": "SearchLeads", "qualifiedName": "Salesforce.SearchLeads", - "fullyQualifiedName": "Salesforce.SearchLeads@2.2.0", + "fullyQualifiedName": "Salesforce.SearchLeads@2.2.1", "description": "Searches for leads in Salesforce with optional filters.\n\nAlways excludes already-converted leads. Use owner='me' (default) for your leads,\nor owner='all' for all leads in the org.", "parameters": [ { @@ -1691,7 +1691,7 @@ { "name": "SearchOpportunities", "qualifiedName": "Salesforce.SearchOpportunities", - "fullyQualifiedName": "Salesforce.SearchOpportunities@2.2.0", + "fullyQualifiedName": "Salesforce.SearchOpportunities@2.2.1", "description": "Searches for opportunities (deals) in Salesforce with optional filters.\n\nReturns a paginated list of opportunities with key fields like stage, amount,\nclose date, and associated account. Use owner='me' (default) to see your deals,\nor owner='all' for the whole pipeline.", "parameters": [ { @@ -1854,7 +1854,7 @@ { "name": "UpdateLead", "qualifiedName": "Salesforce.UpdateLead", - "fullyQualifiedName": "Salesforce.UpdateLead@2.2.0", + "fullyQualifiedName": "Salesforce.UpdateLead@2.2.1", "description": "Updates fields on an existing lead. Only provided fields are changed.\n\nIf the lead has already been converted, returns an error with the converted\nrecord IDs so the agent can redirect to the correct contact/account.", "parameters": [ { @@ -2056,7 +2056,7 @@ { "name": "UpdateOpportunity", "qualifiedName": "Salesforce.UpdateOpportunity", - "fullyQualifiedName": "Salesforce.UpdateOpportunity@2.2.0", + "fullyQualifiedName": "Salesforce.UpdateOpportunity@2.2.1", "description": "Updates fields on an existing opportunity. Only provided fields are changed.\n\nReturns a success indicator and any warnings (e.g., amount ignored due to line items).", "parameters": [ { @@ -2239,7 +2239,7 @@ { "name": "UpdateTask", "qualifiedName": "Salesforce.UpdateTask", - "fullyQualifiedName": "Salesforce.UpdateTask@2.2.0", + "fullyQualifiedName": "Salesforce.UpdateTask@2.2.1", "description": "Updates fields on an existing task. Only provided fields are changed.\n\nUse status='Completed' to mark a task as done.", "parameters": [ { @@ -2376,7 +2376,7 @@ { "name": "WhoAmI", "qualifiedName": "Salesforce.WhoAmI", - "fullyQualifiedName": "Salesforce.WhoAmI@2.2.0", + "fullyQualifiedName": "Salesforce.WhoAmI@2.2.1", "description": "Get information about the currently authenticated Salesforce user.\n\nThis is typically the first tool called to establish user context.\nReturns the user's profile details and organization information.", "parameters": [], "auth": { @@ -2434,6 +2434,6 @@ "documentationChunks": [], "customImports": [], "subPages": [], - "generatedAt": "2026-03-04T11:17:49.977Z", + "generatedAt": "2026-03-24T11:24:51.320Z", "summary": "Salesforce provider: The Arcade toolkit enables LLMs to interact with Salesforce orgs to create, update, search, and convert CRM records, log activities, and fetch enriched relational data. It enforces org validation and returns contextual warnings and IDs to guide agent workflows.\n\n**Capabilities**\n- Unified CRUD and workflow actions for leads, contacts, opportunities, and tasks, including lead-to-deal conversion.\n- Rich retrieval and search across accounts, opportunities, related contacts, notes, activities, and paginated results.\n- Activity logging and task management to record calls and schedule follow-ups while preserving ownership and status semantics.\n- Org-aware validation: picklist checks, conversion guards, and contextual warnings/errors.\n\n**OAuth**\n- provider: salesforce\n- scopes: read_account, read_contact, read_lead, read_note, read_opportunity, read_task, read_user, write_contact, write_lead, write_opportunity, write_task\n\n**Secrets**\n- types: api_key, unknown. Examples: SALESFORCE_ORG_SUBDOMAIN (org subdomain), SALESFORCE_MAX_CONCURRENT_REQUESTS (concurrency limit)." } \ No newline at end of file From 4504a7396d6d37dd42d9f4ac5f58e3fa950baf06 Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 24 Mar 2026 17:04:38 -0300 Subject: [PATCH 2/3] some fixes --- .../mcp-clients/copilot-studio/page.mdx | 2 +- app/en/home/landing-page.tsx | 5 - .../auth-providers/microsoft/page.mdx | 6 +- app/en/references/changelog/page.mdx | 2 +- next.config.ts | 20 --- public/images/icons/outlook_calendar.svg | 142 ------------------ 6 files changed, 4 insertions(+), 173 deletions(-) delete mode 100644 public/images/icons/outlook_calendar.svg diff --git a/app/en/get-started/mcp-clients/copilot-studio/page.mdx b/app/en/get-started/mcp-clients/copilot-studio/page.mdx index cb635639d..01cfcc84f 100644 --- a/app/en/get-started/mcp-clients/copilot-studio/page.mdx +++ b/app/en/get-started/mcp-clients/copilot-studio/page.mdx @@ -87,7 +87,7 @@ After saving the gateway configuration, you'll be redirected to the Arcade autho Once the connection is established, return to your agent and start a conversation. Now you can directly interact with your tools. -Arcade provides just-in-time authorization. When you use a tool that requires access to an external service, Copilot Studio will display an authorization link. Click the link to grant access and continue. This works seamlessly with tools like SharePoint, Outlook, Teams, Stripe, and Gmail. +Arcade provides just-in-time authorization. When you use a tool that requires access to an external service, Copilot Studio will display an authorization link. Click the link to grant access and continue. This works seamlessly with tools like SharePoint, Teams, Stripe, and Gmail. {"Step`Calendars.ReadWrite`
`MailboxSettings.Read` | -| [Outlook Mail](/resources/integrations/productivity/outlook-mail) | `Mail.Read`
`Mail.ReadWrite`
`Mail.Send` | | [Teams](/resources/integrations/social/microsoft-teams) | `Channel.ReadBasic.All`
`ChannelMessage.Read.All`
`ChannelMessage.Send`
`Chat.Create`
`Chat.Read`
`ChatMessage.Read`
`ChatMessage.Send`
`People.Read`
`Team.ReadBasic.All`
`TeamMember.Read.All`
`User.Read` | -| [SharePoint](/resources/integrations/productivity/sharepoint) | `Sites.Read.All` | +| [SharePoint](/resources/integrations/productivity/microsoft-sharepoint) | `Sites.Read.All` | ## Configuring your own Microsoft Auth Provider in Arcade diff --git a/app/en/references/changelog/page.mdx b/app/en/references/changelog/page.mdx index e913698e8..472158407 100644 --- a/app/en/references/changelog/page.mdx +++ b/app/en/references/changelog/page.mdx @@ -544,7 +544,7 @@ _Here's what's new at Arcade.dev!_ **Toolkits** -- `[feature - 🚀]` Sharepoint Toolkit added ([docs](/resources/integrations/productivity/sharepoint)) +- `[feature - 🚀]` Sharepoint Toolkit added ([docs](/resources/integrations/productivity/microsoft-sharepoint)) - `[feature - 🚀]` Google Slides Toolkit added - `[feature - 🚀]` Commenting on Google Docs added - `[bugfix - 🐛]` Improvements in Microsoft Teams message search tool for better agentic experience. Fix bug when no messages match the search query. diff --git a/next.config.ts b/next.config.ts index 8a7583b09..b1bbab22c 100644 --- a/next.config.ts +++ b/next.config.ts @@ -189,13 +189,6 @@ const nextConfig: NextConfig = withLlmsTxt({ destination: "/:locale/resources/integrations/productivity/jira", permanent: true, }, - { - source: - "/:locale/resources/integrations/productivity/outlook-mail/reference", - destination: - "/:locale/resources/integrations/productivity/outlook-mail", - permanent: true, - }, { source: "/:locale/resources/integrations/sales/hubspot/reference", destination: "/:locale/resources/integrations/sales/hubspot", @@ -895,19 +888,6 @@ const nextConfig: NextConfig = withLlmsTxt({ permanent: true, }, // Deprecated toolkit renames (microsoft_* prefix, ArcadeAI/monorepo#601) - { - source: - "/:locale/resources/integrations/productivity/outlook-calendar", - destination: - "/:locale/resources/integrations/productivity/microsoft-outlook-calendar", - permanent: true, - }, - { - source: "/:locale/resources/integrations/productivity/outlook-mail", - destination: - "/:locale/resources/integrations/productivity/microsoft-outlook-mail", - permanent: true, - }, { source: "/:locale/resources/integrations/productivity/sharepoint", destination: diff --git a/public/images/icons/outlook_calendar.svg b/public/images/icons/outlook_calendar.svg deleted file mode 100644 index 4307acf79..000000000 --- a/public/images/icons/outlook_calendar.svg +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - From 547036400678b844cbc27c87c7290d96856a616d Mon Sep 17 00:00:00 2001 From: jottakka Date: Tue, 24 Mar 2026 17:08:44 -0300 Subject: [PATCH 3/3] fix sharpoint --- app/en/resources/integrations/productivity/_meta.tsx | 4 ++-- toolkit-docs-generator/data/toolkits/microsoftsharepoint.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/en/resources/integrations/productivity/_meta.tsx b/app/en/resources/integrations/productivity/_meta.tsx index cec32f78c..e8706ecb1 100644 --- a/app/en/resources/integrations/productivity/_meta.tsx +++ b/app/en/resources/integrations/productivity/_meta.tsx @@ -73,9 +73,9 @@ const meta: MetaRecord = { title: "Microsoft PowerPoint", href: "/en/resources/integrations/productivity/microsoft-powerpoint", }, - sharepoint: { + "microsoft-sharepoint": { title: "Microsoft SharePoint", - href: "/en/resources/integrations/productivity/sharepoint", + href: "/en/resources/integrations/productivity/microsoft-sharepoint", }, "microsoft-word": { title: "Microsoft Word", diff --git a/toolkit-docs-generator/data/toolkits/microsoftsharepoint.json b/toolkit-docs-generator/data/toolkits/microsoftsharepoint.json index 6e75d904d..cdf61092a 100644 --- a/toolkit-docs-generator/data/toolkits/microsoftsharepoint.json +++ b/toolkit-docs-generator/data/toolkits/microsoftsharepoint.json @@ -9,7 +9,7 @@ "isBYOC": false, "isPro": false, "type": "arcade", - "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/sharepoint", + "docsLink": "https://docs.arcade.dev/en/resources/integrations/productivity/microsoft-sharepoint", "isComingSoon": false, "isHidden": false },