Skip to Content

Microsoft PowerPoint

Microsoft PowerPoint icon
Arcade Optimized

Arcade.dev LLM tools for Microsoft PowerPoint

Author:Arcade
Version:0.1.0
Auth:User authorization via the Microsoft auth provider
8tools
PyPI VersionPython VersionsWheel StatusDownloadsLicense

This toolkit integrates with Microsoft OneDrive/Microsoft Graph and enables LLM-driven creation, modification, and extraction of PowerPoint presentations. It supports programmatic slide creation, layout management, speaker-note editing in Markdown, and presentation-to-Markdown export.

Capabilities

  • Create and append slides and layouts (including two-column content) with resumable uploads for large files.
  • Read, set, and batch-export speaker notes using Markdown, preserving basic formatting and lists.
  • Convert presentations to structured Markdown (text, tables, chart data; media as placeholders).
  • Retrieve user/environment info and apply best-effort concurrency checks during edits.

OAuth

  • Provider: microsoft
  • Scopes: Files.Read, Files.ReadWrite, User.Read

Available tools(8)

8 of 8
Tool nameDescriptionSecrets
Create a new PowerPoint presentation in OneDrive. The presentation will be created with a title slide containing the specified title.
Append a new slide to the end of an existing PowerPoint presentation in OneDrive. The slide will be added at the end of the presentation. Both title and body are optional to support layouts like BLANK or TITLE_ONLY. For presentations larger than 4 MB, the upload uses a resumable session. Concurrency protection (etag check) is best-effort in that case, since Microsoft Graph upload sessions do not support If-Match headers.
Append a TWO_CONTENT slide with side-by-side content areas to the end of a PowerPoint presentation. This layout is useful for comparisons, pros/cons lists, or any content that benefits from a two-column layout. For presentations larger than 4 MB, the upload uses a resumable session. Concurrency protection (etag check) is best-effort in that case, since Microsoft Graph upload sessions do not support If-Match headers.
Get all speaker notes from every slide in a PowerPoint presentation. Returns notes for all slides in one call, which is more efficient than calling get_slide_notes for each slide individually. Notes are returned in markdown format.
Get the content of a PowerPoint presentation as markdown. This tool downloads the presentation and converts it to a markdown representation, preserving text content, tables, and chart data. Images and other media are represented as placeholders.
Get the speaker notes from a specific slide in a PowerPoint presentation. Speaker notes are returned in markdown format, preserving basic formatting like bold, italic, and bullet points.
Set or update the speaker notes on a specific slide in a PowerPoint presentation. Notes can be formatted using markdown: - **bold** for bold text - *italic* for italic text - __underline__ for underlined text - Lines starting with - or * become bullet points For presentations larger than 4 MB, the upload uses a resumable session. Concurrency protection (etag check) is best-effort in that case, since Microsoft Graph upload sessions do not support If-Match headers. - Indent with spaces for nested bullets
Get information about the current user and their PowerPoint environment.

Selected tools

No tools selected.

Click "Show all tools" to add tools.

Requirements

Select tools to see requirements

#

MicrosoftPowerpoint.CreatePresentation

Create a new PowerPoint presentation in OneDrive. The presentation will be created with a title slide containing the specified title.

Parameters

ParameterTypeReq.Description
titlestringRequiredThe title for the new presentation.
parent_folder_idstringOptionalThe ID of the folder to create the presentation in. If not provided, the presentation will be created in the root of the user's OneDrive.

Requirements

No secrets required

Output

Type:jsonThe created presentation details.
#

MicrosoftPowerpoint.CreateSlide

Append a new slide to the end of an existing PowerPoint presentation in OneDrive. The slide will be added at the end of the presentation. Both title and body are optional to support layouts like BLANK or TITLE_ONLY. For presentations larger than 4 MB, the upload uses a resumable session. Concurrency protection (etag check) is best-effort in that case, since Microsoft Graph upload sessions do not support If-Match headers.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the PowerPoint presentation to add a slide to.
slide_titlestringOptionalThe title for the new slide. Optional for layouts like BLANK.
slide_bodystringOptionalThe body content for the new slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting). Optional for layouts like TITLE_ONLY or BLANK.
layoutstringOptionalThe layout to use for the slide. For TWO_CONTENT layout, use create_two_content_slide.
TITLETITLE_AND_CONTENTSECTION_HEADERTITLE_ONLYBLANKCONTENT_WITH_CAPTIONPICTURE_WITH_CAPTIONTITLE_AND_VERTICAL_TEXTVERTICAL_TITLE_AND_TEXT

Requirements

No secrets required

Output

Type:jsonThe updated presentation details with new slide info.
#

MicrosoftPowerpoint.CreateTwoContentSlide

Append a TWO_CONTENT slide with side-by-side content areas to the end of a PowerPoint presentation. This layout is useful for comparisons, pros/cons lists, or any content that benefits from a two-column layout. For presentations larger than 4 MB, the upload uses a resumable session. Concurrency protection (etag check) is best-effort in that case, since Microsoft Graph upload sessions do not support If-Match headers.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the PowerPoint presentation to add a slide to.
slide_titlestringOptionalThe title for the new slide.
left_bodystringOptionalContent for the left side of the slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting).
right_bodystringOptionalContent for the right side of the slide. Supports markdown: **bold**, *italic*, __underline__, and bullet points (- item, indented with spaces for nesting).

Requirements

No secrets required

Output

Type:jsonThe updated presentation details with new slide info.
#

MicrosoftPowerpoint.GetAllSlideNotes

Get all speaker notes from every slide in a PowerPoint presentation. Returns notes for all slides in one call, which is more efficient than calling get_slide_notes for each slide individually. Notes are returned in markdown format.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the PowerPoint presentation.

Requirements

No secrets required

Output

Type:jsonAll speaker notes from the presentation.
#

MicrosoftPowerpoint.GetPresentationAsMarkdown

Get the content of a PowerPoint presentation as markdown. This tool downloads the presentation and converts it to a markdown representation, preserving text content, tables, and chart data. Images and other media are represented as placeholders.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the PowerPoint presentation to read.

Requirements

No secrets required

Output

Type:jsonThe presentation content as markdown.
#

MicrosoftPowerpoint.GetSlideNotes

Get the speaker notes from a specific slide in a PowerPoint presentation. Speaker notes are returned in markdown format, preserving basic formatting like bold, italic, and bullet points.

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the PowerPoint presentation.
slide_indexintegerRequiredThe 1-based index of the slide to get notes from.

Requirements

No secrets required

Output

Type:jsonThe speaker notes for the specified slide.
#

MicrosoftPowerpoint.SetSlideNotes

Set or update the speaker notes on a specific slide in a PowerPoint presentation. Notes can be formatted using markdown: - **bold** for bold text - *italic* for italic text - __underline__ for underlined text - Lines starting with - or * become bullet points For presentations larger than 4 MB, the upload uses a resumable session. Concurrency protection (etag check) is best-effort in that case, since Microsoft Graph upload sessions do not support If-Match headers. - Indent with spaces for nested bullets

Parameters

ParameterTypeReq.Description
item_idstringRequiredThe ID of the PowerPoint presentation.
slide_indexintegerRequiredThe 1-based index of the slide to set notes on.
notesstringRequiredThe speaker notes in markdown format. Supports **bold**, *italic*, __underline__, and bullet points (- or *).

Requirements

No secrets required

Output

Type:jsonConfirmation of the notes update.
#

MicrosoftPowerpoint.WhoAmI

Get information about the current user and their PowerPoint environment.

Parameters

No parameters required.

Requirements

No secrets required

Output

Type:jsonGet comprehensive user profile and PowerPoint environment information.
Last updated on