<!--
{
  "documentType" : "article",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/app-schema-domain-books",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Books"
}
-->

# Books

Make your ebook reader’s actions available in the Shortcuts app by adopting schemas for common reading actions.

## Discussion

The `.books` domain defines app schemas that provide a
structured representation for common reading actions and content.
Apply schemas in the `.books` domain to make your ebook reader’s functionality available as actions in the Shortcuts app.
Schemas in this domain don’t make your conforming types discoverable by Apple Intelligence and Siri.

> Tip: Xcode generates a template implementation when you type `books_` and select a schema from the suggestions list.

For more information about app schemas, see [App schema domains](/documentation/AppIntents/app-schema-domains).

## Topics

### Actions

[`var navigatePage: some AppSchemaIntent`](/documentation/AppIntents/AppSchema/BooksIntent/navigatePage)

An intent schema that navigates to the next or previous page.

[`var openBook: some AppSchemaIntent`](/documentation/AppIntents/AppSchema/BooksIntent/openBook)

An intent schema that opens the specified book.

[`var updateCharacterSpacing: some AppSchemaIntent`](/documentation/AppIntents/AppSchema/BooksIntent/updateCharacterSpacing)

An intent schema that updates the character spacing for a book.

[`var updateFontSize: some AppSchemaIntent`](/documentation/AppIntents/AppSchema/BooksIntent/updateFontSize)

An intent schema that updates the font size for a book.

[`var updateLineSpacing: some AppSchemaIntent`](/documentation/AppIntents/AppSchema/BooksIntent/updateLineSpacing)

An intent schema that updates the line spacing for a book.

[`var updateSettings: some AppSchemaIntent`](/documentation/AppIntents/AppSchema/BooksIntent/updateSettings)

An intent schema that updates the settings for a book.

[`var updateWordSpacing: some AppSchemaIntent`](/documentation/AppIntents/AppSchema/BooksIntent/updateWordSpacing)

An intent schema that updates the word spacing for a book.

[`protocol BooksIntent`](/documentation/AppIntents/AppSchema/BooksIntent)

Identifies intent schemas in the books domain.

### Content and parameter types

[`var audiobook: some AppSchemaEntity`](/documentation/AppIntents/AppSchema/BooksEntity/audiobook)

An entity schema for an audiobook.

[`var book: some AppSchemaEntity`](/documentation/AppIntents/AppSchema/BooksEntity/book)

An entity schema for a book.

[`var settings: some AppSchemaEntity`](/documentation/AppIntents/AppSchema/BooksEntity/settings)

An entity schema for  settings.

[`protocol BooksEntity`](/documentation/AppIntents/AppSchema/BooksEntity)

Identifies entity schemas in the books domain.

### Types for static parameters

[`var contentType: some AppSchemaEnum`](/documentation/AppIntents/AppSchema/BooksEnum/contentType)

An enum schema for a content type parameter.

[`var font: some AppSchemaEnum`](/documentation/AppIntents/AppSchema/BooksEnum/font)

An enum schema for a font parameter.

[`var fontSize: some AppSchemaEnum`](/documentation/AppIntents/AppSchema/BooksEnum/fontSize)

An enum schema for a font size parameter.

[`var navigationDirection: some AppSchemaEnum`](/documentation/AppIntents/AppSchema/BooksEnum/navigationDirection)

An enum schema for a navigation direction parameter.

[`var pageNavigationSetting: some AppSchemaEnum`](/documentation/AppIntents/AppSchema/BooksEnum/pageNavigationSetting)

An enum schema for a page navigation setting parameter.

[`var relativeCharacterSpacingChange: some AppSchemaEnum`](/documentation/AppIntents/AppSchema/BooksEnum/relativeCharacterSpacingChange)

An enum schema for a relative character spacing change parameter.

[`var relativeFontChange: some AppSchemaEnum`](/documentation/AppIntents/AppSchema/BooksEnum/relativeFontChange)

An enum schema for a relative font change parameter.

[`var relativeLineSpacingChange: some AppSchemaEnum`](/documentation/AppIntents/AppSchema/BooksEnum/relativeLineSpacingChange)

An enum schema for a relative line spacing change parameter.

[`var relativeWordSpacingChange: some AppSchemaEnum`](/documentation/AppIntents/AppSchema/BooksEnum/relativeWordSpacingChange)

An enum schema for a relative word spacing change parameter.

[`var theme: some AppSchemaEnum`](/documentation/AppIntents/AppSchema/BooksEnum/theme)

An enum schema for a theme parameter.

[`protocol BooksEnum`](/documentation/AppIntents/AppSchema/BooksEnum)

Identifies enum schemas in the books domain.

### Deprecated schemas

[`var playAudiobook: some AppSchemaIntent`](/documentation/AppIntents/AppSchema/BooksIntent/playAudiobook)

An intent schema that plays an audiobook.

[`var search: some AppSchemaIntent`](/documentation/AppIntents/AppSchema/BooksIntent/search)

An intent schema that opens the app and searches for the given term.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)