Stay organized with collections
Save and categorize content based on your preferences.
Google Apps Script lets you programmatically create and modify Google Slides
presentations using the
Slides service.
You can use Apps Script to add custom menus,
dialogs, and sidebars to Slides. You
can also integrate Slides with other
Google services like Calendar, Drive, and
Gmail.
Get started
Apps Script includes a
built-in service
that lets you programmatically create, read, and edit Google Slides.
Apps Script can interact with Google Slides in two ways:
Any script can create a new presentation or access an existing presentation
if the user has the appropriate access permissions for that presentation.
A script can be bound to a presentation, which
provides the script more direct access to the Slides user interface for
that script. To create a bound script, select Extensions>Apps Script
from within Google Slides.
Custom menus and user interfaces
You can customize Google Slides by adding custom menus, dialog boxes, and
sidebars. To learn the basics of creating menus, see the
guide to menus. To learn about customizing the
content of a dialog box, see the
guide to HTML service.
If you're planning to publish your custom interface as part of an
add-on, follow the
style guide for consistency with the
style and layout of the Google Slides editor.
add-ons for Google Slides
add-ons are specially packaged Apps Script
projects that run inside Google Slides and can be installed
from the Google Slides add-on store. If you've developed a script for Google Slides and want to share it with the world, Apps Script lets you
publish your script as an
add-on so other users can install it from the add-on store.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eGoogle Apps Script enables programmatic creation and modification of Google Slides presentations.\u003c/p\u003e\n"],["\u003cp\u003eApps Script allows customization of Google Slides through custom menus, dialogs, and sidebars, and integration with other Google services.\u003c/p\u003e\n"],["\u003cp\u003eScripts can be bound to a presentation for direct access to the Slides user interface or used independently with appropriate permissions.\u003c/p\u003e\n"],["\u003cp\u003eApps Script projects can be packaged and published as add-ons, extending Google Slides functionality for other users.\u003c/p\u003e\n"]]],[],null,["# Extending Google Slides\n\nGoogle Apps Script lets you programmatically create and modify Google Slides\npresentations using the\n[Slides service](/apps-script/reference/slides/slides-app).\nYou can use Apps Script to add [custom menus](/apps-script/guides/menus),\n[dialogs, and sidebars](/apps-script/guides/dialogs) to Slides. You\ncan also integrate Slides with other\n[Google services](/apps-script/guides/services) like Calendar, Drive, and\nGmail.\n| **Note:** The [Slides service](/apps-script/reference/slides/slides-app) is the recommended way of working with Google Slides in Apps Script. You can also enable the [Slides advanced service](/apps-script/advanced/slides) if you need to invoke the [Slides API](/slides) directly.\n\nGet started\n-----------\n\nApps Script includes a\n[built-in service](/apps-script/reference/slides/slides-app)\nthat lets you programmatically create, read, and edit Google Slides.\nApps Script can interact with Google Slides in two ways:\n\n1. Any script can create a new presentation or access an existing presentation if the user has the appropriate access permissions for that presentation.\n2. A script can be [bound](/apps-script/guides/bound) to a presentation, which provides the script more direct access to the Slides user interface for that script. To create a bound script, select **Extensions** \\\u003e **Apps Script** from within Google Slides.\n\nCustom menus and user interfaces\n--------------------------------\n\nYou can customize Google Slides by adding custom menus, dialog boxes, and\nsidebars. To learn the basics of creating menus, see the\n[guide to menus](/apps-script/guides/menus). To learn about customizing the\ncontent of a dialog box, see the\n[guide to HTML service](/apps-script/guides/html#serve_html_as_a_google_docs_sheets_or_forms_user_interface).\n\nIf you're planning to publish your custom interface as part of an\n[add-on](#add-ons), follow the\n[style guide](/workspace/add-ons/guides/editor-style) for consistency with the\nstyle and layout of the Google Slides editor.\n\nadd-ons for Google Slides\n-------------------------\n\n[add-ons](/workspace/add-ons/overview) are specially packaged Apps Script\nprojects that run inside Google Slides and can be installed\nfrom the Google Slides add-on store. If you've developed a script for Google Slides and want to share it with the world, Apps Script lets you\n[publish](/workspace/add-ons/how-tos/editor-publish-overview) your script as an\nadd-on so other users can install it from the add-on store.\n\nSee the\n[sample translate add-on](/workspace/add-ons/editors/slides/quickstart/translate)\nor\n[sample progress bar add-on](/workspace/add-ons/editors/slides/quickstart/progress-bar)\nfor examples of Slides add-ons."]]