[Google Slides](https://workspace.google.com/products/slides/) is a
cloud-based presentation solution with real-time collaboration and powerful
tools that let you quickly build custom slide decks.

You can extend Slides with add-ons that help users
construct new presentations, establish connectivity to third-party systems, and
integrate your Slides data with other Google Workspace
applications (like Google Sheets).

You can see the Slides add-ons others have
built on the
[Google Workspace Marketplace](https://workspace.google.com/marketplace/category/works-with-slides).

## What you can do

Here are a few things you can do with add-ons that
extend Slides:

- Read, edit, visualize, and format slides in Slides presentations using the built-in Apps Script [Slides service](https://developers.google.com/apps-script/reference/slides).
- Use the Apps Script [advanced Slides
  service](https://developers.google.com/apps-script/advanced/slides) to access the [Google Slides API](https://developers.google.com/workspace/slides/how-tos/overview) directly.
- Create [custom menus](https://developers.google.com/workspace/add-ons/concepts/menus) and define multiple [custom dialogs and sidebars](https://developers.google.com/workspace/add-ons/concepts/dialogs) interfaces using standard HTML and CSS.
- Create add-ons [triggers](https://developers.google.com/workspace/add-ons/editors/slides#triggers) that run specified functions when certain triggering events occur.

Slides add-ons are built using
Apps Script. To learn more about how to access and manage
Slides with Apps Script, see
[Extending Slides](https://developers.google.com/apps-script/guides/slides).

## Presentation structure

A Slides presentation consists of pages, each of which has some
number of elements such as text boxes and images.

The Apps Script [Slides
service](https://developers.google.com/apps-script/reference/slides) provides several classes to represent
organizational structures in Slides (such as
[`Slide`](https://developers.google.com/apps-script/reference/slides/slide) and
[`Shape`](https://developers.google.com/apps-script/reference/slides/shape)). You can use these classes to
read and modify Slides data and behavior.

To learn more about how Slides presentations are organized, see
[Structure of a presentation](https://developers.google.com/apps-script/guides/slides/presentations).

## Triggers

Apps Script [triggers](https://developers.google.com/workspace/add-ons/concepts/editor-triggers) let a script
project execute a specified function when certain conditions are met, such as
when a presentation is opened or when an add-on is
installed.

See [add-on triggers](https://developers.google.com/workspace/add-ons/concepts/editor-triggers) for more
information on what triggers can be used with Slides
add-ons and what restrictions apply to their use.

## Further reading

The following Apps Script guides are helpful when developing
Slides add-ons:

- [Extending Slides](https://developers.google.com/apps-script/guides/slides)
- [Structure of a presentation](https://developers.google.com/apps-script/guides/slides/presentations)
- [Sizing and positioning page
  elements](https://developers.google.com/apps-script/guides/slides/moving-elements)
- [Selecting items in a presentation](https://developers.google.com/apps-script/guides/slides/selecting)
- [Editing and styling text](https://developers.google.com/apps-script/guides/slides/editing-styling)
- [Lifecycle of an update](https://developers.google.com/apps-script/guides/slides/lifecycle)